annotate tests/test-walk @ 5377:756a43a30e34

convert: readd --filemap To handle merges correctly, this revision adds a filemap_source class that wraps a converter_source and does the work necessary to calculate the subgraph we're interested in. The wrapped converter_source must provide a new getchangedfiles method that, given a revision rev, and an index N, returns the list of files that are different in rev and its Nth parent. The implementation depends on the ability to skip some revisions and to change the parents field of the commit objects that we returned earlier. To make the conversion restartable, we assume the revisons in the revmapfile are topologically sorted.
author Alexis S. L. Carvalho <alexis@cecm.usp.br>
date Thu, 04 Oct 2007 23:21:37 -0300
parents d4f0405fadac
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
889
0a06d9d373c3 Add unit tests for walk code.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
1 #!/bin/sh
0a06d9d373c3 Add unit tests for walk code.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
2
4186
02de0f98ca33 make the output of test-walk more readable
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 4185
diff changeset
3 debugwalk()
02de0f98ca33 make the output of test-walk more readable
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 4185
diff changeset
4 {
02de0f98ca33 make the output of test-walk more readable
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 4185
diff changeset
5 echo "hg debugwalk $@"
02de0f98ca33 make the output of test-walk more readable
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 4185
diff changeset
6 hg debugwalk "$@"
02de0f98ca33 make the output of test-walk more readable
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 4185
diff changeset
7 echo
02de0f98ca33 make the output of test-walk more readable
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 4185
diff changeset
8 }
02de0f98ca33 make the output of test-walk more readable
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 4185
diff changeset
9
02de0f98ca33 make the output of test-walk more readable
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 4185
diff changeset
10 chdir()
02de0f98ca33 make the output of test-walk more readable
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 4185
diff changeset
11 {
02de0f98ca33 make the output of test-walk more readable
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 4185
diff changeset
12 echo "cd $@"
02de0f98ca33 make the output of test-walk more readable
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 4185
diff changeset
13 cd "$@"
02de0f98ca33 make the output of test-walk more readable
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 4185
diff changeset
14 echo
02de0f98ca33 make the output of test-walk more readable
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 4185
diff changeset
15 }
02de0f98ca33 make the output of test-walk more readable
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 4185
diff changeset
16
889
0a06d9d373c3 Add unit tests for walk code.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
17 mkdir t
0a06d9d373c3 Add unit tests for walk code.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
18 cd t
0a06d9d373c3 Add unit tests for walk code.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
19 hg init
0a06d9d373c3 Add unit tests for walk code.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
20 mkdir -p beans
0a06d9d373c3 Add unit tests for walk code.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
21 for b in kidney navy turtle borlotti black pinto; do
0a06d9d373c3 Add unit tests for walk code.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
22 echo $b > beans/$b
0a06d9d373c3 Add unit tests for walk code.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
23 done
0a06d9d373c3 Add unit tests for walk code.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
24 mkdir -p mammals/Procyonidae
0a06d9d373c3 Add unit tests for walk code.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
25 for m in cacomistle coatimundi raccoon; do
0a06d9d373c3 Add unit tests for walk code.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
26 echo $m > mammals/Procyonidae/$m
0a06d9d373c3 Add unit tests for walk code.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
27 done
0a06d9d373c3 Add unit tests for walk code.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
28 echo skunk > mammals/skunk
0a06d9d373c3 Add unit tests for walk code.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
29 echo fennel > fennel
0a06d9d373c3 Add unit tests for walk code.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
30 echo fenugreek > fenugreek
0a06d9d373c3 Add unit tests for walk code.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
31 echo fiddlehead > fiddlehead
0a06d9d373c3 Add unit tests for walk code.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
32 echo glob:glob > glob:glob
0a06d9d373c3 Add unit tests for walk code.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
33 hg addremove
1933
7544700fd931 Use 'hg ci -d "1000000 0"' in tests to circumvent problem with leading zero.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 1568
diff changeset
34 hg commit -m "commit #0" -d "1000000 0"
4186
02de0f98ca33 make the output of test-walk more readable
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 4185
diff changeset
35 debugwalk
02de0f98ca33 make the output of test-walk more readable
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 4185
diff changeset
36 debugwalk -I.
02de0f98ca33 make the output of test-walk more readable
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 4185
diff changeset
37 chdir mammals
4187
9814d600011e util._matcher: unify pattern normalization
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 4186
diff changeset
38 debugwalk
9814d600011e util._matcher: unify pattern normalization
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 4186
diff changeset
39 debugwalk -X ../beans
9814d600011e util._matcher: unify pattern normalization
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 4186
diff changeset
40 debugwalk -I '*k'
9814d600011e util._matcher: unify pattern normalization
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 4186
diff changeset
41 debugwalk -I 'glob:*k'
9814d600011e util._matcher: unify pattern normalization
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 4186
diff changeset
42 debugwalk -I 'relglob:*k'
9814d600011e util._matcher: unify pattern normalization
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 4186
diff changeset
43 debugwalk -I 'relglob:*k' .
9814d600011e util._matcher: unify pattern normalization
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 4186
diff changeset
44 debugwalk -I 're:.*k$'
9814d600011e util._matcher: unify pattern normalization
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 4186
diff changeset
45 debugwalk -I 'relre:.*k$'
9814d600011e util._matcher: unify pattern normalization
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 4186
diff changeset
46 debugwalk -I 'path:beans'
9814d600011e util._matcher: unify pattern normalization
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 4186
diff changeset
47 debugwalk -I 'relpath:../beans'
4186
02de0f98ca33 make the output of test-walk more readable
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 4185
diff changeset
48 debugwalk .
02de0f98ca33 make the output of test-walk more readable
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 4185
diff changeset
49 debugwalk -I.
02de0f98ca33 make the output of test-walk more readable
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 4185
diff changeset
50 debugwalk Procyonidae
02de0f98ca33 make the output of test-walk more readable
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 4185
diff changeset
51 chdir Procyonidae
02de0f98ca33 make the output of test-walk more readable
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 4185
diff changeset
52 debugwalk .
02de0f98ca33 make the output of test-walk more readable
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 4185
diff changeset
53 debugwalk ..
02de0f98ca33 make the output of test-walk more readable
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 4185
diff changeset
54 chdir ..
02de0f98ca33 make the output of test-walk more readable
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 4185
diff changeset
55 debugwalk ../beans
02de0f98ca33 make the output of test-walk more readable
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 4185
diff changeset
56 debugwalk .
02de0f98ca33 make the output of test-walk more readable
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 4185
diff changeset
57 debugwalk .hg
02de0f98ca33 make the output of test-walk more readable
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 4185
diff changeset
58 debugwalk ../.hg
02de0f98ca33 make the output of test-walk more readable
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 4185
diff changeset
59 chdir ..
02de0f98ca33 make the output of test-walk more readable
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 4185
diff changeset
60 debugwalk -Ibeans
02de0f98ca33 make the output of test-walk more readable
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 4185
diff changeset
61 debugwalk 'glob:mammals/../beans/b*'
02de0f98ca33 make the output of test-walk more readable
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 4185
diff changeset
62 debugwalk '-X*/Procyonidae' mammals
02de0f98ca33 make the output of test-walk more readable
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 4185
diff changeset
63 debugwalk path:mammals
02de0f98ca33 make the output of test-walk more readable
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 4185
diff changeset
64 debugwalk ..
02de0f98ca33 make the output of test-walk more readable
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 4185
diff changeset
65 debugwalk beans/../..
02de0f98ca33 make the output of test-walk more readable
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 4185
diff changeset
66 debugwalk .hg
02de0f98ca33 make the output of test-walk more readable
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 4185
diff changeset
67 debugwalk beans/../.hg
02de0f98ca33 make the output of test-walk more readable
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 4185
diff changeset
68 debugwalk beans/../.hg/data
02de0f98ca33 make the output of test-walk more readable
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 4185
diff changeset
69 debugwalk beans/.hg
893
36c991554ebb Turn off testing of absolute paths for now.
Bryan O'Sullivan <bos@serpentine.com>
parents: 889
diff changeset
70 # Don't know how to test absolute paths without always getting a false
36c991554ebb Turn off testing of absolute paths for now.
Bryan O'Sullivan <bos@serpentine.com>
parents: 889
diff changeset
71 # error.
4186
02de0f98ca33 make the output of test-walk more readable
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 4185
diff changeset
72 #debugwalk `pwd`/beans
02de0f98ca33 make the output of test-walk more readable
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 4185
diff changeset
73 #debugwalk `pwd`/..
02de0f98ca33 make the output of test-walk more readable
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 4185
diff changeset
74 debugwalk glob:\*
4303
6cecaec07cc9 Revert changeset ef1f1a4b2efb; add another test for glob: patterns
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 4187
diff changeset
75 debugwalk 'glob:**e'
4186
02de0f98ca33 make the output of test-walk more readable
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 4185
diff changeset
76 debugwalk 're:.*[kb]$'
02de0f98ca33 make the output of test-walk more readable
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 4185
diff changeset
77 debugwalk path:beans/black
02de0f98ca33 make the output of test-walk more readable
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 4185
diff changeset
78 debugwalk path:beans//black
02de0f98ca33 make the output of test-walk more readable
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 4185
diff changeset
79 debugwalk relglob:Procyonidae
4304
702f48570eb3 change relglob: patterns to be consistent with glob: patterns
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 4303
diff changeset
80 debugwalk 'relglob:Procyonidae/**'
702f48570eb3 change relglob: patterns to be consistent with glob: patterns
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 4303
diff changeset
81 debugwalk 'relglob:Procyonidae/**' fennel
4186
02de0f98ca33 make the output of test-walk more readable
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 4185
diff changeset
82 debugwalk beans 'glob:beans/*'
02de0f98ca33 make the output of test-walk more readable
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 4185
diff changeset
83 debugwalk 'glob:mamm**'
02de0f98ca33 make the output of test-walk more readable
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 4185
diff changeset
84 debugwalk 'glob:mamm**' fennel
02de0f98ca33 make the output of test-walk more readable
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 4185
diff changeset
85 debugwalk 'glob:j*'
02de0f98ca33 make the output of test-walk more readable
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 4185
diff changeset
86 debugwalk NOEXIST
889
0a06d9d373c3 Add unit tests for walk code.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
87 mkfifo fifo
4186
02de0f98ca33 make the output of test-walk more readable
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 4185
diff changeset
88 debugwalk fifo
889
0a06d9d373c3 Add unit tests for walk code.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
89 rm fenugreek
4186
02de0f98ca33 make the output of test-walk more readable
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 4185
diff changeset
90 debugwalk fenugreek
889
0a06d9d373c3 Add unit tests for walk code.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
91 hg rm fenugreek
4186
02de0f98ca33 make the output of test-walk more readable
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 4185
diff changeset
92 debugwalk fenugreek
889
0a06d9d373c3 Add unit tests for walk code.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
93 touch new
4186
02de0f98ca33 make the output of test-walk more readable
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 4185
diff changeset
94 debugwalk new
4232
0d51eb296fb9 Merge with crew-stable
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 4187 4230
diff changeset
95 chdir ..
0d51eb296fb9 Merge with crew-stable
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 4187 4230
diff changeset
96 debugwalk -R t t/mammals/skunk
4230
c93562fb12cc Fix handling of paths when run outside the repo.
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 1976
diff changeset
97 mkdir t2
4232
0d51eb296fb9 Merge with crew-stable
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 4187 4230
diff changeset
98 chdir t2
0d51eb296fb9 Merge with crew-stable
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 4187 4230
diff changeset
99 debugwalk -R ../t ../t/mammals/skunk
0d51eb296fb9 Merge with crew-stable
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 4187 4230
diff changeset
100 debugwalk --cwd ../t mammals/skunk