##// END OF EJS Templates
tests: use pattern matching to mask `ECONNREFUSED` messages...
tests: use pattern matching to mask `ECONNREFUSED` messages The second and third one of these in `test-http-proxy.t` was failing on Windows. The others were found by grep and by failed tests when output was matched and an attempt was made to emit the mask pattern. The first clonebundles failure on Windows emitted: error fetching bundle: [WinError 10061] $ECONNREFUSED$ We should probably stringify that better to get rid of the "[WinError 10061]" part.

File last commit:

r46273:a736ab68 default
r52835:73a43fe3 default
Show More
test-sparse-import.t
184 lines | 3.6 KiB | text/troff | Tads3Lexer
/ tests / test-sparse-import.t
Gregory Szorc
sparse: vendor Facebook-developed extension...
r33289 test sparse
$ hg init myrepo
$ cd myrepo
$ cat >> $HGRCPATH <<EOF
> [extensions]
> sparse=
> purge=
> strip=
> rebase=
> EOF
$ echo a > index.html
$ echo x > data.py
$ echo z > readme.txt
$ cat > base.sparse <<EOF
> [include]
> *.sparse
> EOF
$ hg ci -Aqm 'initial'
$ cat > webpage.sparse <<EOF
> %include base.sparse
> [include]
> *.html
> EOF
$ hg ci -Aqm 'initial'
Import a rules file against a 'blank' sparse profile
$ cat > $TESTTMP/rules_to_import <<EOF
> [include]
> *.py
> EOF
Gregory Szorc
sparse: rename command to debugsparse...
r33293 $ hg debugsparse --import-rules $TESTTMP/rules_to_import
Joerg Sonnenberger
tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems...
r45218 $ ls -A
.hg
Gregory Szorc
sparse: vendor Facebook-developed extension...
r33289 data.py
Gregory Szorc
sparse: rename command to debugsparse...
r33293 $ hg debugsparse --reset
Gregory Szorc
sparse: vendor Facebook-developed extension...
r33289 $ rm .hg/sparse
$ cat > $TESTTMP/rules_to_import <<EOF
> %include base.sparse
> [include]
> *.py
> EOF
Gregory Szorc
sparse: rename command to debugsparse...
r33293 $ hg debugsparse --import-rules $TESTTMP/rules_to_import
Joerg Sonnenberger
tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems...
r45218 $ ls -A
.hg
Gregory Szorc
sparse: vendor Facebook-developed extension...
r33289 base.sparse
data.py
webpage.sparse
Gregory Szorc
sparse: rename command to debugsparse...
r33293 $ hg debugsparse --reset
Gregory Szorc
sparse: vendor Facebook-developed extension...
r33289 $ rm .hg/sparse
Start against an existing profile; rules *already active* should be ignored
Gregory Szorc
sparse: rename command to debugsparse...
r33293 $ hg debugsparse --enable-profile webpage.sparse
$ hg debugsparse --include *.py
Gregory Szorc
sparse: vendor Facebook-developed extension...
r33289 $ cat > $TESTTMP/rules_to_import <<EOF
> %include base.sparse
> [include]
> *.html
> *.txt
> [exclude]
> *.py
> EOF
Gregory Szorc
sparse: rename command to debugsparse...
r33293 $ hg debugsparse --import-rules $TESTTMP/rules_to_import
Joerg Sonnenberger
tests: deal with "ls" vs "ls -A" difference on 2BSD derived systems...
r45218 $ ls -A
.hg
Gregory Szorc
sparse: vendor Facebook-developed extension...
r33289 base.sparse
index.html
readme.txt
webpage.sparse
$ cat .hg/sparse
%include webpage.sparse
[include]
*.py
*.txt
[exclude]
*.py
Gregory Szorc
sparse: rename command to debugsparse...
r33293 $ hg debugsparse --reset
Gregory Szorc
sparse: vendor Facebook-developed extension...
r33289 $ rm .hg/sparse
Same tests, with -Tjson enabled to output summaries
$ cat > $TESTTMP/rules_to_import <<EOF
> [include]
> *.py
> EOF
Gregory Szorc
sparse: rename command to debugsparse...
r33293 $ hg debugsparse --import-rules $TESTTMP/rules_to_import -Tjson
Gregory Szorc
sparse: vendor Facebook-developed extension...
r33289 [
{
"exclude_rules_added": 0,
"files_added": 0,
"files_conflicting": 0,
"files_dropped": 4,
"include_rules_added": 1,
"profiles_added": 0
}
]
Gregory Szorc
sparse: rename command to debugsparse...
r33293 $ hg debugsparse --reset
Gregory Szorc
sparse: vendor Facebook-developed extension...
r33289 $ rm .hg/sparse
$ cat > $TESTTMP/rules_to_import <<EOF
> %include base.sparse
> [include]
> *.py
> EOF
Gregory Szorc
sparse: rename command to debugsparse...
r33293 $ hg debugsparse --import-rules $TESTTMP/rules_to_import -Tjson
Gregory Szorc
sparse: vendor Facebook-developed extension...
r33289 [
{
"exclude_rules_added": 0,
"files_added": 0,
"files_conflicting": 0,
"files_dropped": 2,
"include_rules_added": 1,
"profiles_added": 1
}
]
Gregory Szorc
sparse: rename command to debugsparse...
r33293 $ hg debugsparse --reset
Gregory Szorc
sparse: vendor Facebook-developed extension...
r33289 $ rm .hg/sparse
Gregory Szorc
sparse: rename command to debugsparse...
r33293 $ hg debugsparse --enable-profile webpage.sparse
$ hg debugsparse --include *.py
Gregory Szorc
sparse: vendor Facebook-developed extension...
r33289 $ cat > $TESTTMP/rules_to_import <<EOF
> %include base.sparse
> [include]
> *.html
> *.txt
> [exclude]
> *.py
> EOF
Gregory Szorc
sparse: rename command to debugsparse...
r33293 $ hg debugsparse --import-rules $TESTTMP/rules_to_import -Tjson
Gregory Szorc
sparse: vendor Facebook-developed extension...
r33289 [
{
"exclude_rules_added": 1,
"files_added": 1,
"files_conflicting": 0,
"files_dropped": 1,
"include_rules_added": 1,
"profiles_added": 0
}
]
If importing results in no new rules being added, no refresh should take place!
$ cat > $TESTTMP/trap_sparse_refresh.py <<EOF
Gregory Szorc
sparse: move working directory refreshing into core...
r33324 > from mercurial import error, sparse
Gregory Szorc
sparse: vendor Facebook-developed extension...
r33289 > def extsetup(ui):
Gregory Szorc
sparse: move working directory refreshing into core...
r33324 > def abort_refresh(*args, **kwargs):
Martin von Zweigbergk
errors: stop passing non-strings to Abort's constructor...
r46273 > raise error.Abort(b'sparse._refresh called!')
Gregory Szorc
sparse: move working directory refreshing into core...
r33324 > sparse.refreshwdir = abort_refresh
Gregory Szorc
sparse: vendor Facebook-developed extension...
r33289 > EOF
$ cat >> $HGRCPATH <<EOF
> [extensions]
> trap_sparse_refresh=$TESTTMP/trap_sparse_refresh.py
> EOF
$ cat > $TESTTMP/rules_to_import <<EOF
> [include]
> *.py
> EOF
Gregory Szorc
sparse: rename command to debugsparse...
r33293 $ hg debugsparse --import-rules $TESTTMP/rules_to_import
Gregory Szorc
sparse: vendor Facebook-developed extension...
r33289
If an exception is raised during refresh, restore the existing rules again.
$ cat > $TESTTMP/rules_to_import <<EOF
> [exclude]
> *.html
> EOF
Gregory Szorc
sparse: rename command to debugsparse...
r33293 $ hg debugsparse --import-rules $TESTTMP/rules_to_import
Gregory Szorc
sparse: vendor Facebook-developed extension...
r33289 abort: sparse._refresh called!
[255]
$ cat .hg/sparse
%include webpage.sparse
[include]
*.py
*.txt
[exclude]
*.py