Mercurial > hg
annotate tests/test-fix-pickle.t @ 52192:54be3c9bc81f stable
tests: conditionalize missing output in test-racy-mutations.t on Windows
No idea why this is only missing on Windows. I verified that the line marked
as missing directly above this for the changelog is, in fact, missing on both
Windows and Linux. So there's probably work to do in this area on all
platforms. It would be nice to figure out what is going on, but this appeases
CI in the meantime.
author | Matt Harbison <matt_harbison@yahoo.com> |
---|---|
date | Tue, 05 Nov 2024 11:48:22 -0500 |
parents | 7d24201b6447 |
children |
rev | line source |
---|---|
45390
7d24201b6447
worker: don't expose readinto() on _blockingreader since pickle is picky
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
1 A script that implements uppercasing all letters in a file. |
7d24201b6447
worker: don't expose readinto() on _blockingreader since pickle is picky
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
2 |
7d24201b6447
worker: don't expose readinto() on _blockingreader since pickle is picky
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
3 $ UPPERCASEPY="$TESTTMP/uppercase.py" |
7d24201b6447
worker: don't expose readinto() on _blockingreader since pickle is picky
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
4 $ cat > $UPPERCASEPY <<EOF |
7d24201b6447
worker: don't expose readinto() on _blockingreader since pickle is picky
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
5 > import sys |
7d24201b6447
worker: don't expose readinto() on _blockingreader since pickle is picky
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
6 > from mercurial.utils.procutil import setbinary |
7d24201b6447
worker: don't expose readinto() on _blockingreader since pickle is picky
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
7 > setbinary(sys.stdin) |
7d24201b6447
worker: don't expose readinto() on _blockingreader since pickle is picky
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
8 > setbinary(sys.stdout) |
7d24201b6447
worker: don't expose readinto() on _blockingreader since pickle is picky
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
9 > sys.stdout.write(sys.stdin.read().upper()) |
7d24201b6447
worker: don't expose readinto() on _blockingreader since pickle is picky
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
10 > EOF |
7d24201b6447
worker: don't expose readinto() on _blockingreader since pickle is picky
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
11 $ TESTLINES="foo\nbar\nbaz\n" |
7d24201b6447
worker: don't expose readinto() on _blockingreader since pickle is picky
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
12 $ printf $TESTLINES | "$PYTHON" $UPPERCASEPY |
7d24201b6447
worker: don't expose readinto() on _blockingreader since pickle is picky
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
13 FOO |
7d24201b6447
worker: don't expose readinto() on _blockingreader since pickle is picky
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
14 BAR |
7d24201b6447
worker: don't expose readinto() on _blockingreader since pickle is picky
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
15 BAZ |
7d24201b6447
worker: don't expose readinto() on _blockingreader since pickle is picky
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
16 |
7d24201b6447
worker: don't expose readinto() on _blockingreader since pickle is picky
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
17 This file attempts to test our workarounds for pickle's lack of |
7d24201b6447
worker: don't expose readinto() on _blockingreader since pickle is picky
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
18 support for short reads. |
7d24201b6447
worker: don't expose readinto() on _blockingreader since pickle is picky
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
19 |
7d24201b6447
worker: don't expose readinto() on _blockingreader since pickle is picky
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
20 $ cat >> $HGRCPATH <<EOF |
7d24201b6447
worker: don't expose readinto() on _blockingreader since pickle is picky
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
21 > [extensions] |
7d24201b6447
worker: don't expose readinto() on _blockingreader since pickle is picky
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
22 > fix = |
7d24201b6447
worker: don't expose readinto() on _blockingreader since pickle is picky
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
23 > [fix] |
7d24201b6447
worker: don't expose readinto() on _blockingreader since pickle is picky
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
24 > uppercase-whole-file:command="$PYTHON" $UPPERCASEPY |
7d24201b6447
worker: don't expose readinto() on _blockingreader since pickle is picky
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
25 > uppercase-whole-file:pattern=set:** |
7d24201b6447
worker: don't expose readinto() on _blockingreader since pickle is picky
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
26 > EOF |
7d24201b6447
worker: don't expose readinto() on _blockingreader since pickle is picky
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
27 |
7d24201b6447
worker: don't expose readinto() on _blockingreader since pickle is picky
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
28 $ hg init repo |
7d24201b6447
worker: don't expose readinto() on _blockingreader since pickle is picky
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
29 $ cd repo |
7d24201b6447
worker: don't expose readinto() on _blockingreader since pickle is picky
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
30 |
7d24201b6447
worker: don't expose readinto() on _blockingreader since pickle is picky
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
31 # Create a file that's large enough that it seems to not fit in |
7d24201b6447
worker: don't expose readinto() on _blockingreader since pickle is picky
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
32 # pickle's buffer, making it use the code path that expects our |
7d24201b6447
worker: don't expose readinto() on _blockingreader since pickle is picky
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
33 # _blockingreader's read() method to return bytes. |
7d24201b6447
worker: don't expose readinto() on _blockingreader since pickle is picky
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
34 $ echo "some stuff" > file |
7d24201b6447
worker: don't expose readinto() on _blockingreader since pickle is picky
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
35 $ for i in $($TESTDIR/seq.py 13); do |
7d24201b6447
worker: don't expose readinto() on _blockingreader since pickle is picky
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
36 > cat file file > tmp |
7d24201b6447
worker: don't expose readinto() on _blockingreader since pickle is picky
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
37 > mv -f tmp file |
7d24201b6447
worker: don't expose readinto() on _blockingreader since pickle is picky
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
38 > done |
7d24201b6447
worker: don't expose readinto() on _blockingreader since pickle is picky
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
39 $ hg commit -Am "add large file" |
7d24201b6447
worker: don't expose readinto() on _blockingreader since pickle is picky
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
40 adding file |
7d24201b6447
worker: don't expose readinto() on _blockingreader since pickle is picky
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
41 |
7d24201b6447
worker: don't expose readinto() on _blockingreader since pickle is picky
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
42 Check that we don't get a crash |
7d24201b6447
worker: don't expose readinto() on _blockingreader since pickle is picky
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
43 |
7d24201b6447
worker: don't expose readinto() on _blockingreader since pickle is picky
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
44 $ hg fix -r . |
7d24201b6447
worker: don't expose readinto() on _blockingreader since pickle is picky
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
45 saved backup bundle to $TESTTMP/repo/.hg/strip-backup/*-fix.hg (glob) |