##// END OF EJS Templates
sslutil: inform the user about how to fix an incomplete certificate chain...
sslutil: inform the user about how to fix an incomplete certificate chain This is a Windows only thing. Unfortunately, the socket is closed at this point (so the certificate is unavailable to check the chain). That means it's printed out when verification fails as a guess, on the assumption that 1) most of the time verification won't fail, and 2) sites using expired or certs that are too new will be rare. Maybe this is an argument for adding more functionality to debugssl, to test for problems and print certificate info. Or maybe it's an argument for bundling certificates with the Windows builds. That idea was set aside when the enhanced SSL code went in last summer, and it looks like there were issues with using certifi on Windows anyway[1]. This was tested by deleting the certificate out of certmgr.msc > "Third-Party Root Certification Authorities" > "Certificates", seeing `hg pull` fail (with the new message), trying this command, and then successfully performing the pull command. [1] https://www.mercurial-scm.org/pipermail/mercurial-devel/2016-October/089573.html

File last commit:

r33420:e8004183 default
r33494:30f2715b default
Show More
test-run-tests.t
1326 lines | 32.9 KiB | text/troff | Tads3Lexer
Pierre-Yves David
test: introduce test-run-tests.t...
r21732 This file tests the behavior of run-tests.py itself.
Pierre-Yves David
test-run-test: unset run-test specific environment variables...
r24960 Avoid interference from actual test env:
timeless
tests: refactor run-tests helpers...
r29220 $ . "$TESTDIR/helper-runtests.sh"
Pierre-Yves David
test-run-test: unset run-test specific environment variables...
r24960
Matt Mackall
tests: avoid duplicate install steps in test-run-tests...
r27395 Smoke test with install
Pierre-Yves David
test: introduce test-run-tests.t...
r21732 ============
Matt Mackall
tests: avoid duplicate install steps in test-run-tests...
r27395 $ run-tests.py $HGTEST_RUN_TESTS_PURE -l
Pierre-Yves David
test: introduce test-run-tests.t...
r21732
Gregory Szorc
tests: remove support for warned tests...
r32942 # Ran 0 tests, 0 skipped, 0 failed.
Pierre-Yves David
test-run-tests.t: test running a passing test
r21734
Matt Mackall
tests: avoid duplicate install steps in test-run-tests...
r27395 Define a helper to avoid the install step
=============
$ rt()
> {
> run-tests.py --with-hg=`which hg` "$@"
> }
timeless
run-tests: warn about symlinks to non hg scripts...
r28037 error paths
#if symlink
$ ln -s `which true` hg
$ run-tests.py --with-hg=./hg
warning: --with-hg should specify an hg script
Gregory Szorc
tests: remove support for warned tests...
r32942 # Ran 0 tests, 0 skipped, 0 failed.
timeless
run-tests: warn about symlinks to non hg scripts...
r28037 $ rm hg
#endif
#if execbit
$ touch hg
$ run-tests.py --with-hg=./hg
Usage: run-tests.py [options] [tests]
run-tests.py: error: --with-hg must specify an executable hg script
[2]
$ rm hg
#endif
Matt Harbison
run-tests: support per-line conditional output in tests...
r31829 Features for testing optional lines
===================================
$ cat > hghaveaddon.py <<EOF
> import hghave
> @hghave.check("custom", "custom hghave feature")
> def has_custom():
> return True
> @hghave.check("missing", "missing hghave feature")
> def has_missing():
> return False
> EOF
timeless
run-tests: handle empty tests
r28812 an empty test
=======================
$ touch test-empty.t
$ rt
.
Gregory Szorc
tests: remove support for warned tests...
r32942 # Ran 1 tests, 0 skipped, 0 failed.
timeless
run-tests: handle empty tests
r28812 $ rm test-empty.t
Pierre-Yves David
test-run-tests.t: test running a passing test
r21734 a succesful test
=======================
$ cat > test-success.t << EOF
> $ echo babar
> babar
Augie Fackler
test-run-tests.t: add extra data to tests for keyword tests...
r21995 > $ echo xyzzy
Matt Harbison
run-tests: prevent a (glob) declaration from reordering (?) lines...
r31827 > dont_print (?)
> nothing[42]line (re) (?)
timeless
run-tests: make _processoutput picky about optional globs...
r28701 > never*happens (glob) (?)
Matt Harbison
run-tests: prevent a (glob) declaration from reordering (?) lines...
r31827 > more_nothing (?)
Augie Fackler
test-run-tests.t: add extra data to tests for keyword tests...
r21995 > xyzzy
Matt Mackall
tests: add (?) flag for optional lines...
r25388 > nor this (?)
Matt Harbison
run-tests: defer leftover (?) cleanup until after all output is exhausted...
r28317 > $ printf 'abc\ndef\nxyz\n'
> 123 (?)
> abc
> def (?)
> 456 (?)
> xyz
Matt Harbison
run-tests: support per-line conditional output in tests...
r31829 > $ printf 'zyx\nwvu\ntsr\n'
> abc (?)
> zyx (custom !)
> wvu
> no_print (no-custom !)
> tsr (no-missing !)
> missing (missing !)
Pierre-Yves David
test-run-tests.t: test running a passing test
r21734 > EOF
Matt Mackall
tests: avoid duplicate install steps in test-run-tests...
r27395 $ rt
Pierre-Yves David
test-run-tests.t: test running a passing test
r21734 .
Gregory Szorc
tests: remove support for warned tests...
r32942 # Ran 1 tests, 0 skipped, 0 failed.
Pierre-Yves David
test-run-tests.t: test running a failing test
r21738
failing test
==================
timeless
tests: ensure run-tests handles multiple lines of churn...
r28619 test churn with globs
$ cat > test-failure.t <<EOF
> $ echo "bar-baz"; echo "bar-bad"
> bar*bad (glob)
> bar*baz (glob)
> EOF
$ rt test-failure.t
--- $TESTTMP/test-failure.t
+++ $TESTTMP/test-failure.t.err
@@ -1,3 +1,3 @@
$ echo "bar-baz"; echo "bar-bad"
+ bar*baz (glob)
bar*bad (glob)
- bar*baz (glob)
ERROR: test-failure.t output changed
!
Failed test-failure.t: output changed
Gregory Szorc
tests: remove support for warned tests...
r32942 # Ran 1 tests, 0 skipped, 1 failed.
timeless
tests: ensure run-tests handles multiple lines of churn...
r28619 python hash seed: * (glob)
[1]
Matthieu Laneuville
run-tests: add color to output if pygments is available...
r33420 test diff colorisation
$ rt test-failure.t --color always
\x1b[38;5;124m--- $TESTTMP/test-failure.t\x1b[39m (esc)
\x1b[38;5;34m+++ $TESTTMP/test-failure.t.err\x1b[39m (esc)
\x1b[38;5;90;01m@@ -1,3 +1,3 @@\x1b[39;00m (esc)
$ echo "bar-baz"; echo "bar-bad"
\x1b[38;5;34m+ bar*baz (glob)\x1b[39m (esc)
bar*bad (glob)
\x1b[38;5;124m- bar*baz (glob)\x1b[39m (esc)
ERROR: test-failure.t output changed
!
Failed test-failure.t: output changed
# Ran 1 tests, 0 skipped, 1 failed.
python hash seed: * (glob)
[1]
$ rt test-failure.t 2> tmp.log
[1]
$ cat tmp.log
--- $TESTTMP/test-failure.t
+++ $TESTTMP/test-failure.t.err
@@ -1,3 +1,3 @@
$ echo "bar-baz"; echo "bar-bad"
+ bar*baz (glob)
bar*bad (glob)
- bar*baz (glob)
ERROR: test-failure.t output changed
!
Failed test-failure.t: output changed
# Ran 1 tests, 0 skipped, 1 failed.
python hash seed: * (glob)
timeless
tests: ensure run-tests handles multiple lines of churn...
r28619 basic failing test
Pierre-Yves David
test-run-tests.t: test running a failing test
r21738 $ cat > test-failure.t << EOF
> $ echo babar
> rataxes
Augie Fackler
test-run-tests.t: add extra data to tests for keyword tests...
r21995 > This is a noop statement so that
> this test is still more bytes than success.
Matt Harbison
test-run-tests: pad the failure test to preserve the run order...
r28316 > pad pad pad pad............................................................
> pad pad pad pad............................................................
Matt Harbison
test-run-tests: pad the failure test to preserve the run order...
r31828 > pad pad pad pad............................................................
> pad pad pad pad............................................................
> pad pad pad pad............................................................
> pad pad pad pad............................................................
Pierre-Yves David
test-run-tests.t: test running a failing test
r21738 > EOF
Gregory Szorc
run-tests: explicitly handle unicode when writing xunit file...
r24500 >>> fh = open('test-failure-unicode.t', 'wb')
Augie Fackler
test-run-tests.t: work around file.write() returning an int...
r25054 >>> fh.write(u' $ echo babar\u03b1\n'.encode('utf-8')) and None
>>> fh.write(u' l\u03b5\u03b5t\n'.encode('utf-8')) and None
Gregory Szorc
run-tests: explicitly handle unicode when writing xunit file...
r24500
Matt Mackall
tests: avoid duplicate install steps in test-run-tests...
r27395 $ rt
Pierre-Yves David
test-run-tests.t: test running a failing test
r21738
Matt Harbison
tests: fix globs for Windows...
r23348 --- $TESTTMP/test-failure.t
+++ $TESTTMP/test-failure.t.err
Matt Harbison
test-run-tests: pad the failure test to preserve the run order...
r28316 @@ -1,5 +1,5 @@
Pierre-Yves David
test-run-tests.t: test running a failing test
r21738 $ echo babar
- rataxes
+ babar
Augie Fackler
test-run-tests.t: add extra data to tests for keyword tests...
r21995 This is a noop statement so that
this test is still more bytes than success.
Matt Harbison
test-run-tests: pad the failure test to preserve the run order...
r28316 pad pad pad pad............................................................
Pierre-Yves David
test-run-tests.t: test running a failing test
r21738
ERROR: test-failure.t output changed
!.
Gregory Szorc
run-tests: explicitly handle unicode when writing xunit file...
r24500 --- $TESTTMP/test-failure-unicode.t
+++ $TESTTMP/test-failure-unicode.t.err
@@ -1,2 +1,2 @@
$ echo babar\xce\xb1 (esc)
- l\xce\xb5\xce\xb5t (esc)
+ babar\xce\xb1 (esc)
ERROR: test-failure-unicode.t output changed
!
Pierre-Yves David
test-run-tests.t: test running a failing test
r21738 Failed test-failure.t: output changed
Gregory Szorc
run-tests: explicitly handle unicode when writing xunit file...
r24500 Failed test-failure-unicode.t: output changed
Gregory Szorc
tests: remove support for warned tests...
r32942 # Ran 3 tests, 0 skipped, 2 failed.
Pierre-Yves David
test-run-tests.t: test running a failing test
r21738 python hash seed: * (glob)
[1]
Gregory Szorc
run-tests: explicitly handle unicode when writing xunit file...
r24500
Siddharth Agarwal
run-tests: allow specifying an output dir to write .errs to...
r32716 test --outputdir
$ mkdir output
$ rt --outputdir output
--- $TESTTMP/test-failure.t
+++ $TESTTMP/output/test-failure.t.err
@@ -1,5 +1,5 @@
$ echo babar
- rataxes
+ babar
This is a noop statement so that
this test is still more bytes than success.
pad pad pad pad............................................................
ERROR: test-failure.t output changed
!.
--- $TESTTMP/test-failure-unicode.t
+++ $TESTTMP/output/test-failure-unicode.t.err
@@ -1,2 +1,2 @@
$ echo babar\xce\xb1 (esc)
- l\xce\xb5\xce\xb5t (esc)
+ babar\xce\xb1 (esc)
ERROR: test-failure-unicode.t output changed
!
Failed test-failure.t: output changed
Failed test-failure-unicode.t: output changed
Gregory Szorc
tests: remove support for warned tests...
r32942 # Ran 3 tests, 0 skipped, 2 failed.
Siddharth Agarwal
run-tests: allow specifying an output dir to write .errs to...
r32716 python hash seed: * (glob)
[1]
$ ls -a output
.
..
Siddharth Agarwal
run-tests: write test times to output dir
r32717 .testtimes
Siddharth Agarwal
run-tests: allow specifying an output dir to write .errs to...
r32716 test-failure-unicode.t.err
test-failure.t.err
Augie Fackler
run-tests: add support for xunit test reports...
r22044 test --xunit support
Matt Mackall
tests: avoid duplicate install steps in test-run-tests...
r27395 $ rt --xunit=xunit.xml
Augie Fackler
run-tests: add support for xunit test reports...
r22044
--- $TESTTMP/test-failure.t
+++ $TESTTMP/test-failure.t.err
Matt Harbison
test-run-tests: pad the failure test to preserve the run order...
r28316 @@ -1,5 +1,5 @@
Augie Fackler
run-tests: add support for xunit test reports...
r22044 $ echo babar
- rataxes
+ babar
This is a noop statement so that
this test is still more bytes than success.
Matt Harbison
test-run-tests: pad the failure test to preserve the run order...
r28316 pad pad pad pad............................................................
Augie Fackler
run-tests: add support for xunit test reports...
r22044
ERROR: test-failure.t output changed
!.
Gregory Szorc
run-tests: explicitly handle unicode when writing xunit file...
r24500 --- $TESTTMP/test-failure-unicode.t
+++ $TESTTMP/test-failure-unicode.t.err
@@ -1,2 +1,2 @@
$ echo babar\xce\xb1 (esc)
- l\xce\xb5\xce\xb5t (esc)
+ babar\xce\xb1 (esc)
ERROR: test-failure-unicode.t output changed
!
Augie Fackler
run-tests: add support for xunit test reports...
r22044 Failed test-failure.t: output changed
Gregory Szorc
run-tests: explicitly handle unicode when writing xunit file...
r24500 Failed test-failure-unicode.t: output changed
Gregory Szorc
tests: remove support for warned tests...
r32942 # Ran 3 tests, 0 skipped, 2 failed.
Augie Fackler
run-tests: add support for xunit test reports...
r22044 python hash seed: * (glob)
[1]
$ cat xunit.xml
<?xml version="1.0" encoding="utf-8"?>
Gregory Szorc
run-tests: explicitly handle unicode when writing xunit file...
r24500 <testsuite errors="0" failures="2" name="run-tests" skipped="0" tests="3">
Augie Fackler
run-tests: add support for xunit test reports...
r22044 <testcase name="test-success.t" time="*"/> (glob)
Gregory Szorc
run-tests: explicitly handle unicode when writing xunit file...
r24500 <testcase name="test-failure-unicode.t" time="*"> (glob)
Siddharth Agarwal
run-tests: wrap failures in an XUnit 'failure' element...
r32714 <failure message="output changed" type="output-mismatch">
Gregory Szorc
run-tests: explicitly handle unicode when writing xunit file...
r24500 <![CDATA[--- $TESTTMP/test-failure-unicode.t
+++ $TESTTMP/test-failure-unicode.t.err
@@ -1,2 +1,2 @@
$ echo babar\xce\xb1 (esc)
- l\xce\xb5\xce\xb5t (esc)
+ babar\xce\xb1 (esc)
Siddharth Agarwal
run-tests: wrap failures in an XUnit 'failure' element...
r32714 ]]> </failure>
</testcase>
Augie Fackler
run-tests: add support for xunit test reports...
r22044 <testcase name="test-failure.t" time="*"> (glob)
Siddharth Agarwal
run-tests: wrap failures in an XUnit 'failure' element...
r32714 <failure message="output changed" type="output-mismatch">
Augie Fackler
run-tests: add support for xunit test reports...
r22044 <![CDATA[--- $TESTTMP/test-failure.t
+++ $TESTTMP/test-failure.t.err
Matt Harbison
test-run-tests: pad the failure test to preserve the run order...
r28316 @@ -1,5 +1,5 @@
Augie Fackler
run-tests: add support for xunit test reports...
r22044 $ echo babar
- rataxes
+ babar
This is a noop statement so that
this test is still more bytes than success.
Matt Harbison
test-run-tests: pad the failure test to preserve the run order...
r28316 pad pad pad pad............................................................
Siddharth Agarwal
run-tests: wrap failures in an XUnit 'failure' element...
r32714 ]]> </failure>
</testcase>
Augie Fackler
run-tests: add support for xunit test reports...
r22044 </testsuite>
Pierre-Yves David
test-run-tests.t: tests the --retest option
r21741
timeless
tests: add run-test .testtimes basic testing
r29280 $ cat .testtimes
test-failure-unicode.t * (glob)
test-failure.t * (glob)
test-success.t * (glob)
Siddharth Agarwal
run-tests: add a way to list tests, with JSON and XUnit support...
r32704
$ rt --list-tests
test-failure-unicode.t
test-failure.t
test-success.t
$ rt --list-tests --json
test-failure-unicode.t
test-failure.t
test-success.t
$ cat report.json
testreport ={
"test-failure-unicode.t": {
"result": "success"
},
"test-failure.t": {
"result": "success"
},
"test-success.t": {
"result": "success"
}
} (no-eol)
$ rt --list-tests --xunit=xunit.xml
test-failure-unicode.t
test-failure.t
test-success.t
$ cat xunit.xml
<?xml version="1.0" encoding="utf-8"?>
<testsuite errors="0" failures="0" name="run-tests" skipped="0" tests="0">
<testcase name="test-failure-unicode.t"/>
<testcase name="test-failure.t"/>
<testcase name="test-success.t"/>
</testsuite>
Siddharth Agarwal
run-tests: write JSON reports to output dir
r32718 $ rt --list-tests test-failure* --json --xunit=xunit.xml --outputdir output
Siddharth Agarwal
run-tests: add a way to list tests, with JSON and XUnit support...
r32704 test-failure-unicode.t
test-failure.t
Siddharth Agarwal
run-tests: write JSON reports to output dir
r32718 $ cat output/report.json
Siddharth Agarwal
run-tests: add a way to list tests, with JSON and XUnit support...
r32704 testreport ={
"test-failure-unicode.t": {
"result": "success"
},
"test-failure.t": {
"result": "success"
}
} (no-eol)
$ cat xunit.xml
<?xml version="1.0" encoding="utf-8"?>
<testsuite errors="0" failures="0" name="run-tests" skipped="0" tests="0">
<testcase name="test-failure-unicode.t"/>
<testcase name="test-failure.t"/>
</testsuite>
Gregory Szorc
run-tests: explicitly handle unicode when writing xunit file...
r24500 $ rm test-failure-unicode.t
Pierre-Yves David
test-run-tests.t: tests the --retest option
r21741 test for --retest
====================
Matt Mackall
tests: avoid duplicate install steps in test-run-tests...
r27395 $ rt --retest
Pierre-Yves David
test-run-tests.t: tests the --retest option
r21741
Matt Harbison
tests: fix globs for Windows...
r23348 --- $TESTTMP/test-failure.t
+++ $TESTTMP/test-failure.t.err
Matt Harbison
test-run-tests: pad the failure test to preserve the run order...
r28316 @@ -1,5 +1,5 @@
Pierre-Yves David
test-run-tests.t: tests the --retest option
r21741 $ echo babar
- rataxes
+ babar
Augie Fackler
test-run-tests.t: add extra data to tests for keyword tests...
r21995 This is a noop statement so that
this test is still more bytes than success.
Matt Harbison
test-run-tests: pad the failure test to preserve the run order...
r28316 pad pad pad pad............................................................
Pierre-Yves David
test-run-tests.t: tests the --retest option
r21741
ERROR: test-failure.t output changed
!
Failed test-failure.t: output changed
Gregory Szorc
tests: remove support for warned tests...
r32942 # Ran 2 tests, 1 skipped, 1 failed.
Pierre-Yves David
test-run-tests.t: tests the --retest option
r21741 python hash seed: * (glob)
[1]
Pierre-Yves David
test-run-tests.t: test selection of testfile from the command line
r21742
Siddharth Agarwal
run-tests: allow specifying an output dir to write .errs to...
r32716 --retest works with --outputdir
$ rm -r output
$ mkdir output
$ mv test-failure.t.err output
$ rt --retest --outputdir output
--- $TESTTMP/test-failure.t
+++ $TESTTMP/output/test-failure.t.err
@@ -1,5 +1,5 @@
$ echo babar
- rataxes
+ babar
This is a noop statement so that
this test is still more bytes than success.
pad pad pad pad............................................................
ERROR: test-failure.t output changed
!
Failed test-failure.t: output changed
Gregory Szorc
tests: remove support for warned tests...
r32942 # Ran 2 tests, 1 skipped, 1 failed.
Siddharth Agarwal
run-tests: allow specifying an output dir to write .errs to...
r32716 python hash seed: * (glob)
[1]
Pierre-Yves David
test-run-tests.t: test selection of testfile from the command line
r21742 Selecting Tests To Run
======================
successful
Matt Mackall
tests: avoid duplicate install steps in test-run-tests...
r27395 $ rt test-success.t
Pierre-Yves David
test-run-tests.t: test selection of testfile from the command line
r21742 .
Gregory Szorc
tests: remove support for warned tests...
r32942 # Ran 1 tests, 0 skipped, 0 failed.
Pierre-Yves David
test-run-tests.t: test selection of testfile from the command line
r21742
Augie Fackler
run-tests: fix test result counts with --keyword specified or skips occurring...
r21997 success w/ keyword
Matt Mackall
tests: avoid duplicate install steps in test-run-tests...
r27395 $ rt -k xyzzy
Matt Mackall
run-tests: don't show 'i' for tests that don't match a keyword
r22107 .
Gregory Szorc
tests: remove support for warned tests...
r32942 # Ran 2 tests, 1 skipped, 0 failed.
Augie Fackler
run-tests: fix test result counts with --keyword specified or skips occurring...
r21997
Pierre-Yves David
test-run-tests.t: test selection of testfile from the command line
r21742 failed
Matt Mackall
tests: avoid duplicate install steps in test-run-tests...
r27395 $ rt test-failure.t
Pierre-Yves David
test-run-tests.t: test selection of testfile from the command line
r21742
Matt Harbison
tests: fix globs for Windows...
r23348 --- $TESTTMP/test-failure.t
+++ $TESTTMP/test-failure.t.err
Matt Harbison
test-run-tests: pad the failure test to preserve the run order...
r28316 @@ -1,5 +1,5 @@
Pierre-Yves David
test-run-tests.t: test selection of testfile from the command line
r21742 $ echo babar
- rataxes
+ babar
Augie Fackler
test-run-tests.t: add extra data to tests for keyword tests...
r21995 This is a noop statement so that
this test is still more bytes than success.
Matt Harbison
test-run-tests: pad the failure test to preserve the run order...
r28316 pad pad pad pad............................................................
Pierre-Yves David
test-run-tests.t: test selection of testfile from the command line
r21742
ERROR: test-failure.t output changed
!
Failed test-failure.t: output changed
Gregory Szorc
tests: remove support for warned tests...
r32942 # Ran 1 tests, 0 skipped, 1 failed.
Pierre-Yves David
test-run-tests.t: test selection of testfile from the command line
r21742 python hash seed: * (glob)
[1]
Pierre-Yves David
test-run-tests.t: test --debug option
r21743
Augie Fackler
run-tests: fix test result counts with --keyword specified or skips occurring...
r21997 failure w/ keyword
Matt Mackall
tests: avoid duplicate install steps in test-run-tests...
r27395 $ rt -k rataxes
Matt Mackall
run-tests: don't show 'i' for tests that don't match a keyword
r22107
Augie Fackler
run-tests: fix test result counts with --keyword specified or skips occurring...
r21997 --- $TESTTMP/test-failure.t
+++ $TESTTMP/test-failure.t.err
Matt Harbison
test-run-tests: pad the failure test to preserve the run order...
r28316 @@ -1,5 +1,5 @@
Augie Fackler
run-tests: fix test result counts with --keyword specified or skips occurring...
r21997 $ echo babar
- rataxes
+ babar
This is a noop statement so that
this test is still more bytes than success.
Matt Harbison
test-run-tests: pad the failure test to preserve the run order...
r28316 pad pad pad pad............................................................
Augie Fackler
run-tests: fix test result counts with --keyword specified or skips occurring...
r21997
ERROR: test-failure.t output changed
!
Failed test-failure.t: output changed
Gregory Szorc
tests: remove support for warned tests...
r32942 # Ran 2 tests, 1 skipped, 1 failed.
Augie Fackler
run-tests: fix test result counts with --keyword specified or skips occurring...
r21997 python hash seed: * (glob)
[1]
Augie Fackler
test-run-tests: add a test for detection of failure to start a server...
r22840 Verify that when a process fails to start we show a useful message
==================================================================
$ cat > test-serve-fail.t <<EOF
> $ echo 'abort: child process failed to start blah'
> EOF
Matt Mackall
tests: avoid duplicate install steps in test-run-tests...
r27395 $ rt test-serve-fail.t
Augie Fackler
test-run-tests: add a test for detection of failure to start a server...
r22840
ERROR: test-serve-fail.t output changed
!
Failed test-serve-fail.t: server failed to start (HGPORT=*) (glob)
Gregory Szorc
tests: remove support for warned tests...
r32942 # Ran 1 tests, 0 skipped, 1 failed.
Augie Fackler
test-run-tests: add a test for detection of failure to start a server...
r22840 python hash seed: * (glob)
[1]
$ rm test-serve-fail.t
timeless
run-tests: fix get port to try differing ports...
r27602 Verify that we can try other ports
===================================
$ hg init inuse
$ hg serve -R inuse -p $HGPORT -d --pid-file=blocks.pid
$ cat blocks.pid >> $DAEMON_PIDS
$ cat > test-serve-inuse.t <<EOF
> $ hg serve -R `pwd`/inuse -p \$HGPORT -d --pid-file=hg.pid
> $ cat hg.pid >> \$DAEMON_PIDS
> EOF
$ rt test-serve-inuse.t
.
Gregory Szorc
tests: remove support for warned tests...
r32942 # Ran 1 tests, 0 skipped, 0 failed.
timeless
run-tests: fix get port to try differing ports...
r27602 $ rm test-serve-inuse.t
timeless
test-run-tests: clean up inuse server eagerly
r29221 $ killdaemons.py $DAEMON_PIDS
$ rm $DAEMON_PIDS
timeless
run-tests: fix get port to try differing ports...
r27602
Pierre-Yves David
test-run-tests.t: test --debug option
r21743 Running In Debug Mode
======================
Matt Mackall
tests: avoid duplicate install steps in test-run-tests...
r27395 $ rt --debug 2>&1 | grep -v pwd
Thomas Klausner
tests: adapt glob pattern to fix test with NetBSD's sh(1) (issue4484)
r23676 + echo *SALT* 0 0 (glob)
*SALT* 0 0 (glob)
Pierre-Yves David
test-run-tests.t: test --debug option
r21743 + echo babar
babar
Matt Harbison
test-run-tests: pad the failure test to preserve the run order...
r31828 + echo *SALT* 10 0 (glob)
*SALT* 10 0 (glob)
Matt Harbison
test-run-tests: glob away a --debug run difference on Windows...
r27509 *+ echo *SALT* 0 0 (glob)
Thomas Klausner
tests: adapt glob pattern to fix test with NetBSD's sh(1) (issue4484)
r23676 *SALT* 0 0 (glob)
Pierre-Yves David
test-run-tests.t: test --debug option
r21743 + echo babar
babar
Thomas Klausner
tests: adapt glob pattern to fix test with NetBSD's sh(1) (issue4484)
r23676 + echo *SALT* 2 0 (glob)
*SALT* 2 0 (glob)
Augie Fackler
test-run-tests.t: add extra data to tests for keyword tests...
r21995 + echo xyzzy
xyzzy
Matt Harbison
run-tests: prevent a (glob) declaration from reordering (?) lines...
r31827 + echo *SALT* 9 0 (glob)
*SALT* 9 0 (glob)
Matt Harbison
run-tests: defer leftover (?) cleanup until after all output is exhausted...
r28317 + printf *abc\ndef\nxyz\n* (glob)
abc
def
xyz
Matt Harbison
run-tests: prevent a (glob) declaration from reordering (?) lines...
r31827 + echo *SALT* 15 0 (glob)
*SALT* 15 0 (glob)
Matt Harbison
run-tests: support per-line conditional output in tests...
r31829 + printf *zyx\nwvu\ntsr\n* (glob)
zyx
wvu
tsr
+ echo *SALT* 22 0 (glob)
*SALT* 22 0 (glob)
Pierre-Yves David
test-run-tests.t: test --debug option
r21743 .
Gregory Szorc
tests: remove support for warned tests...
r32942 # Ran 2 tests, 0 skipped, 0 failed.
Pierre-Yves David
test-run-tests.t: tests --jobs option
r21744
Parallel runs
==============
(duplicate the failing test to get predictable output)
$ cp test-failure.t test-failure-copy.t
Matt Mackall
tests: avoid duplicate install steps in test-run-tests...
r27395 $ rt --jobs 2 test-failure*.t -n
Matt Mackall
tests: silence output race in test-run-tests.t
r23107 !!
Pierre-Yves David
test-run-tests.t: tests --jobs option
r21744 Failed test-failure*.t: output changed (glob)
Failed test-failure*.t: output changed (glob)
Gregory Szorc
tests: remove support for warned tests...
r32942 # Ran 2 tests, 0 skipped, 2 failed.
Pierre-Yves David
test-run-tests.t: tests --jobs option
r21744 python hash seed: * (glob)
[1]
Augie Fackler
run-tests: handle --jobs and --first gracefully...
r22838 failures in parallel with --first should only print one failure
>>> f = open('test-nothing.t', 'w')
Augie Fackler
test-run-tests.t: work around file.write() returning an int...
r25054 >>> f.write('foo\n' * 1024) and None
>>> f.write(' $ sleep 1') and None
Matt Mackall
tests: avoid duplicate install steps in test-run-tests...
r27395 $ rt --jobs 2 --first
Augie Fackler
run-tests: handle --jobs and --first gracefully...
r22838
--- $TESTTMP/test-failure*.t (glob)
+++ $TESTTMP/test-failure*.t.err (glob)
Matt Harbison
test-run-tests: pad the failure test to preserve the run order...
r28316 @@ -1,5 +1,5 @@
Augie Fackler
run-tests: handle --jobs and --first gracefully...
r22838 $ echo babar
- rataxes
+ babar
This is a noop statement so that
this test is still more bytes than success.
Matt Harbison
test-run-tests: pad the failure test to preserve the run order...
r28316 pad pad pad pad............................................................
Augie Fackler
run-tests: handle --jobs and --first gracefully...
r22838
Failed test-failure*.t: output changed (glob)
Gregory Szorc
run-tests: wait for test threads after first error...
r24507 Failed test-nothing.t: output changed
Gregory Szorc
tests: remove support for warned tests...
r32942 # Ran 2 tests, 0 skipped, 2 failed.
Augie Fackler
run-tests: handle --jobs and --first gracefully...
r22838 python hash seed: * (glob)
[1]
Pierre-Yves David
test-run-tests.t: tests --jobs option
r21744 (delete the duplicated test file)
Augie Fackler
run-tests: handle --jobs and --first gracefully...
r22838 $ rm test-failure-copy.t test-nothing.t
Pierre-Yves David
test-run-tests.t: tests --jobs option
r21744
Pierre-Yves David
test-run-tests.t: test the --interactive option
r21755
Interactive run
===============
(backup the failing test)
$ cp test-failure.t backup
Refuse the fix
Matt Mackall
tests: avoid duplicate install steps in test-run-tests...
r27395 $ echo 'n' | rt -i
Pierre-Yves David
test-run-tests.t: test the --interactive option
r21755
--- $TESTTMP/test-failure.t
+++ $TESTTMP/test-failure.t.err
Matt Harbison
test-run-tests: pad the failure test to preserve the run order...
r28316 @@ -1,5 +1,5 @@
Pierre-Yves David
test-run-tests.t: test the --interactive option
r21755 $ echo babar
- rataxes
+ babar
Augie Fackler
test-run-tests.t: add extra data to tests for keyword tests...
r21995 This is a noop statement so that
this test is still more bytes than success.
Matt Harbison
test-run-tests: pad the failure test to preserve the run order...
r28316 pad pad pad pad............................................................
Matt Mackall
run-tests: hold iolock across diff/prompt when interactive...
r21763 Accept this change? [n]
Pierre-Yves David
test-run-tests.t: test the --interactive option
r21755 ERROR: test-failure.t output changed
Matt Mackall
run-tests: hold iolock across diff/prompt when interactive...
r21763 !.
Pierre-Yves David
test-run-tests.t: test the --interactive option
r21755 Failed test-failure.t: output changed
Gregory Szorc
tests: remove support for warned tests...
r32942 # Ran 2 tests, 0 skipped, 1 failed.
Pierre-Yves David
test-run-tests.t: test the --interactive option
r21755 python hash seed: * (glob)
[1]
$ cat test-failure.t
$ echo babar
rataxes
Augie Fackler
test-run-tests.t: add extra data to tests for keyword tests...
r21995 This is a noop statement so that
this test is still more bytes than success.
Matt Harbison
test-run-tests: pad the failure test to preserve the run order...
r28316 pad pad pad pad............................................................
pad pad pad pad............................................................
Matt Harbison
test-run-tests: pad the failure test to preserve the run order...
r31828 pad pad pad pad............................................................
pad pad pad pad............................................................
pad pad pad pad............................................................
pad pad pad pad............................................................
Pierre-Yves David
test-run-tests.t: test the --interactive option
r21755
Gregory Szorc
run-tests: make --interactive work with --view
r22361 Interactive with custom view
Matt Mackall
tests: avoid duplicate install steps in test-run-tests...
r27395 $ echo 'n' | rt -i --view echo
Matt Harbison
tests: fix globs for Windows...
r23348 $TESTTMP/test-failure.t $TESTTMP/test-failure.t.err (glob)
Gregory Szorc
run-tests: make --interactive work with --view
r22361 Accept this change? [n]* (glob)
ERROR: test-failure.t output changed
!.
Failed test-failure.t: output changed
Gregory Szorc
tests: remove support for warned tests...
r32942 # Ran 2 tests, 0 skipped, 1 failed.
Gregory Szorc
run-tests: make --interactive work with --view
r22361 python hash seed: * (glob)
[1]
Matt Mackall
test-run-tests: test --view
r22108 View the fix
Matt Mackall
tests: avoid duplicate install steps in test-run-tests...
r27395 $ echo 'y' | rt --view echo
Matt Harbison
tests: fix globs for Windows...
r23348 $TESTTMP/test-failure.t $TESTTMP/test-failure.t.err (glob)
Matt Mackall
test-run-tests: test --view
r22108
ERROR: test-failure.t output changed
!.
Failed test-failure.t: output changed
Gregory Szorc
tests: remove support for warned tests...
r32942 # Ran 2 tests, 0 skipped, 1 failed.
Matt Mackall
test-run-tests: test --view
r22108 python hash seed: * (glob)
[1]
Pierre-Yves David
test-run-tests.t: test the --interactive option
r21755
Accept the fix
Mads Kiilerich
run-tests: automatically add (glob) to "saved backup bundle to" lines...
r23728 $ echo " $ echo 'saved backup bundle to \$TESTTMP/foo.hg'" >> test-failure.t
$ echo " saved backup bundle to \$TESTTMP/foo.hg" >> test-failure.t
$ echo " $ echo 'saved backup bundle to \$TESTTMP/foo.hg'" >> test-failure.t
$ echo " saved backup bundle to \$TESTTMP/foo.hg (glob)" >> test-failure.t
$ echo " $ echo 'saved backup bundle to \$TESTTMP/foo.hg'" >> test-failure.t
$ echo " saved backup bundle to \$TESTTMP/*.hg (glob)" >> test-failure.t
Matt Mackall
tests: avoid duplicate install steps in test-run-tests...
r27395 $ echo 'y' | rt -i 2>&1
Pierre-Yves David
test-run-tests.t: test the --interactive option
r21755
--- $TESTTMP/test-failure.t
+++ $TESTTMP/test-failure.t.err
Matt Harbison
test-run-tests: pad the failure test to preserve the run order...
r31828 @@ -1,5 +1,5 @@
Pierre-Yves David
test-run-tests.t: test the --interactive option
r21755 $ echo babar
- rataxes
+ babar
Augie Fackler
test-run-tests.t: add extra data to tests for keyword tests...
r21995 This is a noop statement so that
this test is still more bytes than success.
Matt Harbison
test-run-tests: pad the failure test to preserve the run order...
r28316 pad pad pad pad............................................................
Matt Harbison
test-run-tests: pad the failure test to preserve the run order...
r31828 @@ -9,7 +9,7 @@
pad pad pad pad............................................................
Matt Harbison
test-run-tests: pad the failure test to preserve the run order...
r28316 pad pad pad pad............................................................
Mads Kiilerich
run-tests: automatically add (glob) to "saved backup bundle to" lines...
r23728 $ echo 'saved backup bundle to $TESTTMP/foo.hg'
- saved backup bundle to $TESTTMP/foo.hg
Matt Mackall
tests: avoid duplicate install steps in test-run-tests...
r27395 + saved backup bundle to $TESTTMP/foo.hg* (glob)
Mads Kiilerich
run-tests: automatically add (glob) to "saved backup bundle to" lines...
r23728 $ echo 'saved backup bundle to $TESTTMP/foo.hg'
Matt Mackall
tests: avoid duplicate install steps in test-run-tests...
r27395 saved backup bundle to $TESTTMP/foo.hg* (glob)
Mads Kiilerich
run-tests: automatically add (glob) to "saved backup bundle to" lines...
r23728 $ echo 'saved backup bundle to $TESTTMP/foo.hg'
Pierre-Yves David
test-run-tests.t: test the --interactive option
r21755 Accept this change? [n] ..
Gregory Szorc
tests: remove support for warned tests...
r32942 # Ran 2 tests, 0 skipped, 0 failed.
Pierre-Yves David
test-run-tests.t: test the --interactive option
r21755
Mads Kiilerich
run-tests: automatically add (glob) to "saved backup bundle to" lines...
r23728 $ sed -e 's,(glob)$,&<,g' test-failure.t
Pierre-Yves David
test-run-tests.t: test the --interactive option
r21755 $ echo babar
babar
Augie Fackler
test-run-tests.t: add extra data to tests for keyword tests...
r21995 This is a noop statement so that
this test is still more bytes than success.
Matt Harbison
test-run-tests: pad the failure test to preserve the run order...
r28316 pad pad pad pad............................................................
pad pad pad pad............................................................
Matt Harbison
test-run-tests: pad the failure test to preserve the run order...
r31828 pad pad pad pad............................................................
pad pad pad pad............................................................
pad pad pad pad............................................................
pad pad pad pad............................................................
Mads Kiilerich
run-tests: automatically add (glob) to "saved backup bundle to" lines...
r23728 $ echo 'saved backup bundle to $TESTTMP/foo.hg'
saved backup bundle to $TESTTMP/foo.hg (glob)<
$ echo 'saved backup bundle to $TESTTMP/foo.hg'
saved backup bundle to $TESTTMP/foo.hg (glob)<
$ echo 'saved backup bundle to $TESTTMP/foo.hg'
saved backup bundle to $TESTTMP/*.hg (glob)<
Pierre-Yves David
test-run-tests.t: test the --interactive option
r21755
Jun Wu
run-tests: do not prompt changes (-i) if a race condition is detected...
r32980 Race condition - test file was modified when test is running
$ TESTRACEDIR=`pwd`
$ export TESTRACEDIR
$ cat > test-race.t <<EOF
> $ echo 1
> $ echo "# a new line" >> $TESTRACEDIR/test-race.t
> EOF
$ rt -i test-race.t
--- $TESTTMP/test-race.t
+++ $TESTTMP/test-race.t.err
@@ -1,2 +1,3 @@
$ echo 1
+ 1
$ echo "# a new line" >> $TESTTMP/test-race.t
Reference output has changed (run again to prompt changes)
ERROR: test-race.t output changed
!
Failed test-race.t: output changed
# Ran 1 tests, 0 skipped, 1 failed.
python hash seed: * (glob)
[1]
$ rm test-race.t
Jun Wu
run-tests: fix -i when "#testcases" is used in .t test...
r32982 When "#testcases" is used in .t files
$ cat >> test-cases.t <<EOF
> #testcases a b
> #if a
> $ echo 1
> #endif
> #if b
> $ echo 2
> #endif
> EOF
$ cat <<EOF | rt -i test-cases.t 2>&1
> y
> y
> EOF
--- $TESTTMP/test-cases.t
+++ $TESTTMP/test-cases.t.a.err
@@ -1,6 +1,7 @@
#testcases a b
#if a
$ echo 1
+ 1
#endif
#if b
$ echo 2
Accept this change? [n] .
--- $TESTTMP/test-cases.t
+++ $TESTTMP/test-cases.t.b.err
@@ -5,4 +5,5 @@
#endif
#if b
$ echo 2
+ 2
#endif
Accept this change? [n] .
# Ran 2 tests, 0 skipped, 0 failed.
$ cat test-cases.t
#testcases a b
#if a
$ echo 1
1
#endif
#if b
$ echo 2
2
#endif
$ rm test-cases.t
Pierre-Yves David
test-run-tests.t: test the --interactive option
r21755 (reinstall)
$ mv backup test-failure.t
Pierre-Yves David
test-run-tests.t: test the --nodiff option
r21756
No Diff
===============
Matt Mackall
tests: avoid duplicate install steps in test-run-tests...
r27395 $ rt --nodiff
Pierre-Yves David
test-run-tests.t: test the --nodiff option
r21756 !.
Failed test-failure.t: output changed
Gregory Szorc
tests: remove support for warned tests...
r32942 # Ran 2 tests, 0 skipped, 1 failed.
Pierre-Yves David
test-run-tests.t: test the --nodiff option
r21756 python hash seed: * (glob)
[1]
anuraggoel
run-tests: '--time' option provide more details to Linux users...
r21977
timeless@mozdev.org
run-tests: report paths saved by --keep-tmpdir
r26422 test --tmpdir support
Matt Mackall
tests: avoid duplicate install steps in test-run-tests...
r27395 $ rt --tmpdir=$TESTTMP/keep test-success.t
timeless@mozdev.org
run-tests: report paths saved by --keep-tmpdir
r26422
Matt Harbison
test-run-tests: add globs for Windows...
r26432 Keeping testtmp dir: $TESTTMP/keep/child1/test-success.t (glob)
Keeping threadtmp dir: $TESTTMP/keep/child1 (glob)
timeless@mozdev.org
run-tests: report paths saved by --keep-tmpdir
r26422 .
Gregory Szorc
tests: remove support for warned tests...
r32942 # Ran 1 tests, 0 skipped, 0 failed.
timeless@mozdev.org
run-tests: report paths saved by --keep-tmpdir
r26422
timeless
run-tests: add --slowtimeout and use it for slow tests
r27141 timeouts
========
$ cat > test-timeout.t <<EOF
> $ sleep 2
> $ echo pass
> pass
> EOF
> echo '#require slow' > test-slow-timeout.t
> cat test-timeout.t >> test-slow-timeout.t
Matt Mackall
tests: avoid duplicate install steps in test-run-tests...
r27395 $ rt --timeout=1 --slowtimeout=3 test-timeout.t test-slow-timeout.t
Matt Mackall
run-tests: report timeouts in a less alarming fashion...
r27393 st
Kyle Lippincott
tests: hint how to run slow tests when rejecting
r32473 Skipped test-slow-timeout.t: missing feature: allow slow tests (use --allow-slow-tests)
timeless
run-tests: add --slowtimeout and use it for slow tests
r27141 Failed test-timeout.t: timed out
Gregory Szorc
tests: remove support for warned tests...
r32942 # Ran 1 tests, 1 skipped, 1 failed.
timeless
run-tests: add --slowtimeout and use it for slow tests
r27141 python hash seed: * (glob)
[1]
Matt Mackall
tests: avoid duplicate install steps in test-run-tests...
r27395 $ rt --timeout=1 --slowtimeout=3 \
timeless
run-tests: add --slowtimeout and use it for slow tests
r27141 > test-timeout.t test-slow-timeout.t --allow-slow-tests
Matt Mackall
run-tests: report timeouts in a less alarming fashion...
r27393 .t
timeless
run-tests: add --slowtimeout and use it for slow tests
r27141 Failed test-timeout.t: timed out
Gregory Szorc
tests: remove support for warned tests...
r32942 # Ran 2 tests, 0 skipped, 1 failed.
timeless
run-tests: add --slowtimeout and use it for slow tests
r27141 python hash seed: * (glob)
[1]
$ rm test-timeout.t test-slow-timeout.t
anuraggoel
run-tests: '--time' option provide more details to Linux users...
r21977 test for --time
==================
Matt Mackall
tests: avoid duplicate install steps in test-run-tests...
r27395 $ rt test-success.t --time
anuraggoel
run-tests: '--time' option provide more details to Linux users...
r21977 .
Gregory Szorc
tests: remove support for warned tests...
r32942 # Ran 1 tests, 0 skipped, 0 failed.
anuraggoel
run-tests: '--time' option provide more details to Linux users...
r21977 # Producing time report
Pierre-Yves David
run-tests: include 'start' and 'end' in --time output...
r25098 start end cuser csys real Test
\s*[\d\.]{5} \s*[\d\.]{5} \s*[\d\.]{5} \s*[\d\.]{5} \s*[\d\.]{5} test-success.t (re)
anuraggoel
run-tests: '--time' option provide more details to Linux users...
r21977
test for --time with --job enabled
====================================
Matt Mackall
tests: avoid duplicate install steps in test-run-tests...
r27395 $ rt test-success.t --time --jobs 2
anuraggoel
run-tests: '--time' option provide more details to Linux users...
r21977 .
Gregory Szorc
tests: remove support for warned tests...
r32942 # Ran 1 tests, 0 skipped, 0 failed.
anuraggoel
run-tests: '--time' option provide more details to Linux users...
r21977 # Producing time report
Pierre-Yves David
run-tests: include 'start' and 'end' in --time output...
r25098 start end cuser csys real Test
\s*[\d\.]{5} \s*[\d\.]{5} \s*[\d\.]{5} \s*[\d\.]{5} \s*[\d\.]{5} test-success.t (re)
Augie Fackler
test-run-tests.t: add tests for skips...
r21996
Skips
================
$ cat > test-skip.t <<EOF
> $ echo xyzzy
Matt Mackall
run-tests: add #require to abort full test...
r22045 > #require false
Augie Fackler
test-run-tests.t: add tests for skips...
r21996 > EOF
Matt Mackall
tests: avoid duplicate install steps in test-run-tests...
r27395 $ rt --nodiff
Augie Fackler
test-run-tests.t: add tests for skips...
r21996 !.s
timeless
run-tests: report missing feature for skipped tests
r27564 Skipped test-skip.t: missing feature: nail clipper
Augie Fackler
test-run-tests.t: add tests for skips...
r21996 Failed test-failure.t: output changed
Gregory Szorc
tests: remove support for warned tests...
r32942 # Ran 2 tests, 1 skipped, 1 failed.
Augie Fackler
test-run-tests.t: add tests for skips...
r21996 python hash seed: * (glob)
[1]
Matt Mackall
tests: avoid duplicate install steps in test-run-tests...
r27395 $ rt --keyword xyzzy
Matt Mackall
run-tests: don't show 'i' for tests that don't match a keyword
r22107 .s
timeless
run-tests: report missing feature for skipped tests
r27564 Skipped test-skip.t: missing feature: nail clipper
Gregory Szorc
tests: remove support for warned tests...
r32942 # Ran 2 tests, 2 skipped, 0 failed.
Augie Fackler
run-tests: fix test result counts with --keyword specified or skips occurring...
r21997
Augie Fackler
run-tests: add support for xunit test reports...
r22044 Skips with xml
Matt Mackall
tests: avoid duplicate install steps in test-run-tests...
r27395 $ rt --keyword xyzzy \
Augie Fackler
run-tests: add support for xunit test reports...
r22044 > --xunit=xunit.xml
Matt Mackall
run-tests: don't show 'i' for tests that don't match a keyword
r22107 .s
timeless
run-tests: report missing feature for skipped tests
r27564 Skipped test-skip.t: missing feature: nail clipper
Gregory Szorc
tests: remove support for warned tests...
r32942 # Ran 2 tests, 2 skipped, 0 failed.
Augie Fackler
run-tests: add support for xunit test reports...
r22044 $ cat xunit.xml
<?xml version="1.0" encoding="utf-8"?>
Matt Mackall
run-tests: don't show 'i' for tests that don't match a keyword
r22107 <testsuite errors="0" failures="0" name="run-tests" skipped="2" tests="2">
Augie Fackler
run-tests: add support for xunit test reports...
r22044 <testcase name="test-success.t" time="*"/> (glob)
Siddharth Agarwal
run-tests: add information about skipped tests to XUnit output...
r32715 <testcase name="test-skip.t">
<skipped>
<![CDATA[missing feature: nail clipper]]> </skipped>
</testcase>
Augie Fackler
run-tests: add support for xunit test reports...
r22044 </testsuite>
Augie Fackler
run-tests: fix test result counts with --keyword specified or skips occurring...
r21997 Missing skips or blacklisted skips don't count as executed:
$ echo test-failure.t > blacklist
Laurent Charignon
run-tests: fix crash when --json and --blacklist are both used (issue5050)...
r27927 $ rt --blacklist=blacklist --json\
Augie Fackler
run-tests: fix test result counts with --keyword specified or skips occurring...
r21997 > test-failure.t test-bogus.t
ss
Skipped test-bogus.t: Doesn't exist
Skipped test-failure.t: blacklisted
Gregory Szorc
tests: remove support for warned tests...
r32942 # Ran 0 tests, 2 skipped, 0 failed.
Laurent Charignon
run-tests: fix crash when --json and --blacklist are both used (issue5050)...
r27927 $ cat report.json
testreport ={
"test-bogus.t": {
"result": "skip"
timeless
run-tests: handle json.dumps divergence...
r29199 },
Laurent Charignon
run-tests: fix crash when --json and --blacklist are both used (issue5050)...
r27927 "test-failure.t": {
"result": "skip"
}
} (no-eol)
timeless
tests: add coverage for run-tests.py --whitelist
r29173
Whitelist trumps blacklist
$ echo test-failure.t > whitelist
$ rt --blacklist=blacklist --whitelist=whitelist --json\
> test-failure.t test-bogus.t
s
--- $TESTTMP/test-failure.t
+++ $TESTTMP/test-failure.t.err
@@ -1,5 +1,5 @@
$ echo babar
- rataxes
+ babar
This is a noop statement so that
this test is still more bytes than success.
pad pad pad pad............................................................
ERROR: test-failure.t output changed
!
Skipped test-bogus.t: Doesn't exist
Failed test-failure.t: output changed
Gregory Szorc
tests: remove support for warned tests...
r32942 # Ran 1 tests, 1 skipped, 1 failed.
timeless
tests: add coverage for run-tests.py --whitelist
r29173 python hash seed: * (glob)
[1]
anuraggoel
run-tests: added '--json' functionality to store test result in json file...
r22391 test for --json
==================
Matt Mackall
tests: avoid duplicate install steps in test-run-tests...
r27395 $ rt --json
anuraggoel
run-tests: added '--json' functionality to store test result in json file...
r22391
--- $TESTTMP/test-failure.t
+++ $TESTTMP/test-failure.t.err
Matt Harbison
test-run-tests: pad the failure test to preserve the run order...
r28316 @@ -1,5 +1,5 @@
anuraggoel
run-tests: added '--json' functionality to store test result in json file...
r22391 $ echo babar
- rataxes
+ babar
This is a noop statement so that
this test is still more bytes than success.
Matt Harbison
test-run-tests: pad the failure test to preserve the run order...
r28316 pad pad pad pad............................................................
anuraggoel
run-tests: added '--json' functionality to store test result in json file...
r22391
ERROR: test-failure.t output changed
!.s
timeless
run-tests: report missing feature for skipped tests
r27564 Skipped test-skip.t: missing feature: nail clipper
anuraggoel
run-tests: added '--json' functionality to store test result in json file...
r22391 Failed test-failure.t: output changed
Gregory Szorc
tests: remove support for warned tests...
r32942 # Ran 2 tests, 1 skipped, 1 failed.
anuraggoel
run-tests: added '--json' functionality to store test result in json file...
r22391 python hash seed: * (glob)
[1]
$ cat report.json
testreport ={
"test-failure.t": [\{] (re)
Augie Fackler
test-run-tests: accept more levels of precision and trailing ws (issue4440)...
r23245 "csys": "\s*[\d\.]{4,5}", ? (re)
"cuser": "\s*[\d\.]{4,5}", ? (re)
Laurent Charignon
run-tests: add 'diff' entry in json report...
r27686 "diff": "---.+\+\+\+.+", ? (re)
Pierre-Yves David
run-tests: track start and end time of tests...
r25097 "end": "\s*[\d\.]{4,5}", ? (re)
Augie Fackler
test-run-tests: accept more levels of precision and trailing ws (issue4440)...
r23245 "result": "failure", ? (re)
Pierre-Yves David
run-tests: track start and end time of tests...
r25097 "start": "\s*[\d\.]{4,5}", ? (re)
Augie Fackler
test-run-tests: accept more levels of precision and trailing ws (issue4440)...
r23245 "time": "\s*[\d\.]{4,5}" (re)
}, ? (re)
anuraggoel
run-tests: added '--json' functionality to store test result in json file...
r22391 "test-skip.t": {
Augie Fackler
test-run-tests: accept more levels of precision and trailing ws (issue4440)...
r23245 "csys": "\s*[\d\.]{4,5}", ? (re)
"cuser": "\s*[\d\.]{4,5}", ? (re)
Laurent Charignon
run-tests: add 'diff' entry in json report...
r27686 "diff": "", ? (re)
Pierre-Yves David
run-tests: track start and end time of tests...
r25097 "end": "\s*[\d\.]{4,5}", ? (re)
Augie Fackler
test-run-tests: accept more levels of precision and trailing ws (issue4440)...
r23245 "result": "skip", ? (re)
Pierre-Yves David
run-tests: track start and end time of tests...
r25097 "start": "\s*[\d\.]{4,5}", ? (re)
Augie Fackler
test-run-tests: accept more levels of precision and trailing ws (issue4440)...
r23245 "time": "\s*[\d\.]{4,5}" (re)
}, ? (re)
anuraggoel
run-tests: added '--json' functionality to store test result in json file...
r22391 "test-success.t": [\{] (re)
Augie Fackler
test-run-tests: accept more levels of precision and trailing ws (issue4440)...
r23245 "csys": "\s*[\d\.]{4,5}", ? (re)
"cuser": "\s*[\d\.]{4,5}", ? (re)
Laurent Charignon
run-tests: add 'diff' entry in json report...
r27686 "diff": "", ? (re)
Pierre-Yves David
run-tests: track start and end time of tests...
r25097 "end": "\s*[\d\.]{4,5}", ? (re)
Augie Fackler
test-run-tests: accept more levels of precision and trailing ws (issue4440)...
r23245 "result": "success", ? (re)
Pierre-Yves David
run-tests: track start and end time of tests...
r25097 "start": "\s*[\d\.]{4,5}", ? (re)
Augie Fackler
test-run-tests: accept more levels of precision and trailing ws (issue4440)...
r23245 "time": "\s*[\d\.]{4,5}" (re)
anuraggoel
run-tests: added '--json' functionality to store test result in json file...
r22391 }
} (no-eol)
Siddharth Agarwal
run-tests: write JSON reports to output dir
r32718 --json with --outputdir
$ rm report.json
$ rm -r output
$ mkdir output
$ rt --json --outputdir output
--- $TESTTMP/test-failure.t
+++ $TESTTMP/output/test-failure.t.err
@@ -1,5 +1,5 @@
$ echo babar
- rataxes
+ babar
This is a noop statement so that
this test is still more bytes than success.
pad pad pad pad............................................................
ERROR: test-failure.t output changed
!.s
Skipped test-skip.t: missing feature: nail clipper
Failed test-failure.t: output changed
Gregory Szorc
tests: remove support for warned tests...
r32942 # Ran 2 tests, 1 skipped, 1 failed.
Siddharth Agarwal
run-tests: write JSON reports to output dir
r32718 python hash seed: * (glob)
[1]
$ f report.json
report.json: file not found
$ cat output/report.json
testreport ={
"test-failure.t": [\{] (re)
"csys": "\s*[\d\.]{4,5}", ? (re)
"cuser": "\s*[\d\.]{4,5}", ? (re)
"diff": "---.+\+\+\+.+", ? (re)
"end": "\s*[\d\.]{4,5}", ? (re)
"result": "failure", ? (re)
"start": "\s*[\d\.]{4,5}", ? (re)
"time": "\s*[\d\.]{4,5}" (re)
}, ? (re)
"test-skip.t": {
"csys": "\s*[\d\.]{4,5}", ? (re)
"cuser": "\s*[\d\.]{4,5}", ? (re)
"diff": "", ? (re)
"end": "\s*[\d\.]{4,5}", ? (re)
"result": "skip", ? (re)
"start": "\s*[\d\.]{4,5}", ? (re)
"time": "\s*[\d\.]{4,5}" (re)
}, ? (re)
"test-success.t": [\{] (re)
"csys": "\s*[\d\.]{4,5}", ? (re)
"cuser": "\s*[\d\.]{4,5}", ? (re)
"diff": "", ? (re)
"end": "\s*[\d\.]{4,5}", ? (re)
"result": "success", ? (re)
"start": "\s*[\d\.]{4,5}", ? (re)
"time": "\s*[\d\.]{4,5}" (re)
}
} (no-eol)
$ ls -a output
.
..
.testtimes
report.json
test-failure.t.err
Pierre-Yves David
test: protect the run-tests.py --json test behind an hghave rule...
r22579
Pierre-Yves David
run-test: add a test for json output when -i is used...
r24979 Test that failed test accepted through interactive are properly reported:
$ cp test-failure.t backup
Matt Mackall
tests: avoid duplicate install steps in test-run-tests...
r27395 $ echo y | rt --json -i
Pierre-Yves David
run-test: add a test for json output when -i is used...
r24979
--- $TESTTMP/test-failure.t
+++ $TESTTMP/test-failure.t.err
Matt Harbison
test-run-tests: pad the failure test to preserve the run order...
r28316 @@ -1,5 +1,5 @@
Pierre-Yves David
run-test: add a test for json output when -i is used...
r24979 $ echo babar
- rataxes
+ babar
This is a noop statement so that
this test is still more bytes than success.
Matt Harbison
test-run-tests: pad the failure test to preserve the run order...
r28316 pad pad pad pad............................................................
Pierre-Yves David
run-test: add a test for json output when -i is used...
r24979 Accept this change? [n] ..s
timeless
run-tests: report missing feature for skipped tests
r27564 Skipped test-skip.t: missing feature: nail clipper
Gregory Szorc
tests: remove support for warned tests...
r32942 # Ran 2 tests, 1 skipped, 0 failed.
Pierre-Yves David
run-test: add a test for json output when -i is used...
r24979
$ cat report.json
testreport ={
"test-failure.t": [\{] (re)
"csys": "\s*[\d\.]{4,5}", ? (re)
"cuser": "\s*[\d\.]{4,5}", ? (re)
Laurent Charignon
run-tests: add 'diff' entry in json report...
r27686 "diff": "", ? (re)
Pierre-Yves David
run-tests: track start and end time of tests...
r25097 "end": "\s*[\d\.]{4,5}", ? (re)
Pierre-Yves David
run-test: add a test for json output when -i is used...
r24979 "result": "success", ? (re)
Pierre-Yves David
run-tests: track start and end time of tests...
r25097 "start": "\s*[\d\.]{4,5}", ? (re)
Pierre-Yves David
run-test: add a test for json output when -i is used...
r24979 "time": "\s*[\d\.]{4,5}" (re)
}, ? (re)
"test-skip.t": {
"csys": "\s*[\d\.]{4,5}", ? (re)
"cuser": "\s*[\d\.]{4,5}", ? (re)
Laurent Charignon
run-tests: add 'diff' entry in json report...
r27686 "diff": "", ? (re)
Pierre-Yves David
run-tests: track start and end time of tests...
r25097 "end": "\s*[\d\.]{4,5}", ? (re)
Pierre-Yves David
run-test: add a test for json output when -i is used...
r24979 "result": "skip", ? (re)
Pierre-Yves David
run-tests: track start and end time of tests...
r25097 "start": "\s*[\d\.]{4,5}", ? (re)
Pierre-Yves David
run-test: add a test for json output when -i is used...
r24979 "time": "\s*[\d\.]{4,5}" (re)
}, ? (re)
"test-success.t": [\{] (re)
"csys": "\s*[\d\.]{4,5}", ? (re)
"cuser": "\s*[\d\.]{4,5}", ? (re)
Laurent Charignon
run-tests: add 'diff' entry in json report...
r27686 "diff": "", ? (re)
Pierre-Yves David
run-tests: track start and end time of tests...
r25097 "end": "\s*[\d\.]{4,5}", ? (re)
Pierre-Yves David
run-test: add a test for json output when -i is used...
r24979 "result": "success", ? (re)
Pierre-Yves David
run-tests: track start and end time of tests...
r25097 "start": "\s*[\d\.]{4,5}", ? (re)
Pierre-Yves David
run-test: add a test for json output when -i is used...
r24979 "time": "\s*[\d\.]{4,5}" (re)
}
} (no-eol)
$ mv backup test-failure.t
Gregory Szorc
run-tests: don't error when glob matched line ends with backslash...
r24811 backslash on end of line with glob matching is handled properly
$ cat > test-glob-backslash.t << EOF
> $ echo 'foo bar \\'
> foo * \ (glob)
> EOF
Matt Mackall
tests: avoid duplicate install steps in test-run-tests...
r27395 $ rt test-glob-backslash.t
Gregory Szorc
run-tests: don't error when glob matched line ends with backslash...
r24811 .
Gregory Szorc
tests: remove support for warned tests...
r32942 # Ran 1 tests, 0 skipped, 0 failed.
Gregory Szorc
run-tests: don't error when glob matched line ends with backslash...
r24811
$ rm -f test-glob-backslash.t
Jun Wu
runtests: change local IP glob pattern from "127.0.0.1" to "$LOCALIP"...
r31673 Test globbing of local IP addresses
Augie Fackler
run-tests: add support for using 127.0.0.1 as a glob...
r29518 $ echo 172.16.18.1
Jun Wu
runtests: change local IP glob pattern from "127.0.0.1" to "$LOCALIP"...
r31673 $LOCALIP (glob)
$ echo dead:beef::1
$LOCALIP (glob)
Augie Fackler
run-tests: add support for using 127.0.0.1 as a glob...
r29518
FUJIWARA Katsunori
run-tests.py: execute hghave by the path relative to run-tests.py...
r25728 Test reusability for third party tools
======================================
$ mkdir "$TESTTMP"/anothertests
$ cd "$TESTTMP"/anothertests
test that `run-tests.py` can execute hghave, even if it runs not in
Mercurial source tree.
$ cat > test-hghave.t <<EOF
> #require true
> $ echo foo
> foo
> EOF
timeless
tests: remove obsolete uses of HGTEST_RUN_TESTS_PURE...
r28616 $ rt test-hghave.t
FUJIWARA Katsunori
run-tests.py: execute hghave by the path relative to run-tests.py...
r25728 .
Gregory Szorc
tests: remove support for warned tests...
r32942 # Ran 1 tests, 0 skipped, 0 failed.
FUJIWARA Katsunori
run-tests.py: add RUNTESTDIR to refer `tests` of Mercurial...
r25729
test that RUNTESTDIR refers the directory, in which `run-tests.py` now
running is placed.
$ cat > test-runtestdir.t <<EOF
> - $TESTDIR, in which test-run-tests.t is placed
> - \$TESTDIR, in which test-runtestdir.t is placed (expanded at runtime)
> - \$RUNTESTDIR, in which run-tests.py is placed (expanded at runtime)
>
Matt Harbison
test-run-tests: conditionalize the $TESTDIR check for Windows separator...
r27057 > #if windows
> $ test "\$TESTDIR" = "$TESTTMP\anothertests"
> #else
FUJIWARA Katsunori
run-tests.py: add RUNTESTDIR to refer `tests` of Mercurial...
r25729 > $ test "\$TESTDIR" = "$TESTTMP"/anothertests
Matt Harbison
test-run-tests: conditionalize the $TESTDIR check for Windows separator...
r27057 > #endif
FUJIWARA Katsunori
run-tests.py: add RUNTESTDIR to refer `tests` of Mercurial...
r25729 > $ test "\$RUNTESTDIR" = "$TESTDIR"
Augie Fackler
tests: sed away python #! in test-run-tests.t to avoid some upcoming insanity
r32937 > $ head -n 3 "\$RUNTESTDIR"/../contrib/check-code.py | sed 's@.!.*python@#!USRBINENVPY@'
> #!USRBINENVPY
FUJIWARA Katsunori
run-tests.py: add RUNTESTDIR to refer `tests` of Mercurial...
r25729 > #
> # check-code - a style and portability checker for Mercurial
> EOF
timeless
tests: remove obsolete uses of HGTEST_RUN_TESTS_PURE...
r28616 $ rt test-runtestdir.t
FUJIWARA Katsunori
run-tests.py: add RUNTESTDIR to refer `tests` of Mercurial...
r25729 .
Gregory Szorc
tests: remove support for warned tests...
r32942 # Ran 1 tests, 0 skipped, 0 failed.
FUJIWARA Katsunori
run-tests.py: add TESTDIR to PATH if it differs from RUNTESTDIR...
r25730
#if execbit
test that TESTDIR is referred in PATH
$ cat > custom-command.sh <<EOF
> #!/bin/sh
> echo "hello world"
> EOF
$ chmod +x custom-command.sh
$ cat > test-testdir-path.t <<EOF
> $ custom-command.sh
> hello world
> EOF
timeless
tests: remove obsolete uses of HGTEST_RUN_TESTS_PURE...
r28616 $ rt test-testdir-path.t
FUJIWARA Katsunori
run-tests.py: add TESTDIR to PATH if it differs from RUNTESTDIR...
r25730 .
Gregory Szorc
tests: remove support for warned tests...
r32942 # Ran 1 tests, 0 skipped, 0 failed.
FUJIWARA Katsunori
run-tests.py: add TESTDIR to PATH if it differs from RUNTESTDIR...
r25730
#endif
Augie Fackler
run-tests: add support for marking tests as very slow...
r26109
test support for --allow-slow-tests
$ cat > test-very-slow-test.t <<EOF
> #require slow
> $ echo pass
> pass
> EOF
timeless
tests: remove obsolete uses of HGTEST_RUN_TESTS_PURE...
r28616 $ rt test-very-slow-test.t
Augie Fackler
run-tests: add support for marking tests as very slow...
r26109 s
Kyle Lippincott
tests: hint how to run slow tests when rejecting
r32473 Skipped test-very-slow-test.t: missing feature: allow slow tests (use --allow-slow-tests)
Gregory Szorc
tests: remove support for warned tests...
r32942 # Ran 0 tests, 1 skipped, 0 failed.
Matt Mackall
tests: avoid duplicate install steps in test-run-tests...
r27395 $ rt $HGTEST_RUN_TESTS_PURE --allow-slow-tests test-very-slow-test.t
Augie Fackler
run-tests: add support for marking tests as very slow...
r26109 .
Gregory Szorc
tests: remove support for warned tests...
r32942 # Ran 1 tests, 0 skipped, 0 failed.
David R. MacIver
run-tests: allow run-tests.py to run tests outside current directory...
r28180
support for running a test outside the current directory
$ mkdir nonlocal
$ cat > nonlocal/test-is-not-here.t << EOF
> $ echo pass
> pass
> EOF
$ rt nonlocal/test-is-not-here.t
.
Gregory Szorc
tests: remove support for warned tests...
r32942 # Ran 1 tests, 0 skipped, 0 failed.
Augie Fackler
run-tests: add support for automatically bisecting test failures
r28596
support for bisecting failed tests automatically
$ hg init bisect
$ cd bisect
$ cat >> test-bisect.t <<EOF
> $ echo pass
> pass
> EOF
$ hg add test-bisect.t
$ hg ci -m 'good'
$ cat >> test-bisect.t <<EOF
> $ echo pass
> fail
> EOF
$ hg ci -m 'bad'
$ rt --known-good-rev=0 test-bisect.t
--- $TESTTMP/anothertests/bisect/test-bisect.t
+++ $TESTTMP/anothertests/bisect/test-bisect.t.err
@@ -1,4 +1,4 @@
$ echo pass
pass
$ echo pass
- fail
+ pass
ERROR: test-bisect.t output changed
!
Failed test-bisect.t: output changed
test-bisect.t broken by 72cbf122d116 (bad)
Gregory Szorc
tests: remove support for warned tests...
r32942 # Ran 1 tests, 0 skipped, 1 failed.
Augie Fackler
run-tests: add support for automatically bisecting test failures
r28596 python hash seed: * (glob)
[1]
Jun Wu
run-tests: support multiple cases in .t test...
r32317
$ cd ..
Augie Fackler
tests: fix run-tests when there's a bad #if in a test...
r32622 Test a broken #if statement doesn't break run-tests threading.
==============================================================
$ mkdir broken
$ cd broken
$ cat > test-broken.t <<EOF
> true
> #if notarealhghavefeature
> $ false
> #endif
> EOF
$ for f in 1 2 3 4 ; do
> cat > test-works-$f.t <<EOF
> This is test case $f
> $ sleep 1
> EOF
> done
$ rt -j 2
....
Gregory Szorc
tests: remove support for warned tests...
r32942 # Ran 5 tests, 0 skipped, 0 failed.
Augie Fackler
tests: fix run-tests when there's a bad #if in a test...
r32622 skipped: unknown feature: notarealhghavefeature
$ cd ..
$ rm -rf broken
Jun Wu
run-tests: support multiple cases in .t test...
r32317 Test cases in .t files
======================
$ mkdir cases
$ cd cases
$ cat > test-cases-abc.t <<'EOF'
> #testcases A B C
> $ V=B
> #if A
> $ V=A
> #endif
> #if C
> $ V=C
> #endif
> $ echo $V | sed 's/A/C/'
> C
> #if C
> $ [ $V = C ]
> #endif
> #if A
> $ [ $V = C ]
> [1]
> #endif
> #if no-C
> $ [ $V = C ]
> [1]
> #endif
> $ [ $V = D ]
> [1]
> EOF
$ rt
.
--- $TESTTMP/anothertests/cases/test-cases-abc.t
+++ $TESTTMP/anothertests/cases/test-cases-abc.t.B.err
@@ -7,7 +7,7 @@
$ V=C
#endif
$ echo $V | sed 's/A/C/'
- C
+ B
#if C
$ [ $V = C ]
#endif
ERROR: test-cases-abc.t (case B) output changed
!.
Failed test-cases-abc.t (case B): output changed
Gregory Szorc
tests: remove support for warned tests...
r32942 # Ran 3 tests, 0 skipped, 1 failed.
Jun Wu
run-tests: support multiple cases in .t test...
r32317 python hash seed: * (glob)
[1]
--restart works
$ rt --restart
--- $TESTTMP/anothertests/cases/test-cases-abc.t
+++ $TESTTMP/anothertests/cases/test-cases-abc.t.B.err
@@ -7,7 +7,7 @@
$ V=C
#endif
$ echo $V | sed 's/A/C/'
- C
+ B
#if C
$ [ $V = C ]
#endif
ERROR: test-cases-abc.t (case B) output changed
!.
Failed test-cases-abc.t (case B): output changed
Gregory Szorc
tests: remove support for warned tests...
r32942 # Ran 2 tests, 0 skipped, 1 failed.
Jun Wu
run-tests: support multiple cases in .t test...
r32317 python hash seed: * (glob)
[1]
Siddharth Agarwal
run-tests: make --restart work with output dir
r32720
--restart works with outputdir
$ mkdir output
$ mv test-cases-abc.t.B.err output
$ rt --restart --outputdir output
--- $TESTTMP/anothertests/cases/test-cases-abc.t
+++ $TESTTMP/anothertests/cases/output/test-cases-abc.t.B.err
@@ -7,7 +7,7 @@
$ V=C
#endif
$ echo $V | sed 's/A/C/'
- C
+ B
#if C
$ [ $V = C ]
#endif
ERROR: test-cases-abc.t (case B) output changed
!.
Failed test-cases-abc.t (case B): output changed
Gregory Szorc
tests: remove support for warned tests...
r32942 # Ran 2 tests, 0 skipped, 1 failed.
Siddharth Agarwal
run-tests: make --restart work with output dir
r32720 python hash seed: * (glob)
[1]