##// END OF EJS Templates
run-tests: '--time' option provide more details to Linux users...
run-tests: '--time' option provide more details to Linux users As our tests execute in child processes, this patch uses os.times() module in replace of time.time() module to provide additional info like user time and system time spent by child's processes along with real elapsed time taken by a process. There is one limitation of this patch. It can work only for Linux users and not for Windows. "os.times" module returns a 5-tuple of a floaing point numbers. 1) User time 2) System time 3) Child's user time 4) Child's system time 5) Ellapsed real time On Windows, only the first two items are filled, the others are zero. Therefore, below test cases does not break on Windows but instead gives the zero value.

File last commit:

r21977:4ca4e157 default
r21977:4ca4e157 default
Show More
test-run-tests.t
223 lines | 4.6 KiB | text/troff | Tads3Lexer
Pierre-Yves David
test: introduce test-run-tests.t...
r21732 This file tests the behavior of run-tests.py itself.
Smoke test
============
$ $TESTDIR/run-tests.py
# Ran 0 tests, 0 skipped, 0 warned, 0 failed.
Pierre-Yves David
test-run-tests.t: test running a passing test
r21734
a succesful test
=======================
$ cat > test-success.t << EOF
> $ echo babar
> babar
> EOF
$ $TESTDIR/run-tests.py --with-hg=`which hg`
.
# Ran 1 tests, 0 skipped, 0 warned, 0 failed.
Pierre-Yves David
test-run-tests.t: test running a failing test
r21738
failing test
==================
$ cat > test-failure.t << EOF
> $ echo babar
> rataxes
> EOF
$ $TESTDIR/run-tests.py --with-hg=`which hg`
--- $TESTTMP/test-failure.t
+++ $TESTTMP/test-failure.t.err
@@ -1,2 +1,2 @@
$ echo babar
- rataxes
+ babar
ERROR: test-failure.t output changed
!.
Failed test-failure.t: output changed
# Ran 2 tests, 0 skipped, 0 warned, 1 failed.
python hash seed: * (glob)
[1]
Pierre-Yves David
test-run-tests.t: tests the --retest option
r21741
test for --retest
====================
$ $TESTDIR/run-tests.py --with-hg=`which hg` --retest
--- $TESTTMP/test-failure.t
+++ $TESTTMP/test-failure.t.err
@@ -1,2 +1,2 @@
$ echo babar
- rataxes
+ babar
ERROR: test-failure.t output changed
!
Failed test-failure.t: output changed
# Ran 1 tests, 1 skipped, 0 warned, 1 failed.
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
$ $TESTDIR/run-tests.py --with-hg=`which hg` test-success.t
.
# Ran 1 tests, 0 skipped, 0 warned, 0 failed.
failed
$ $TESTDIR/run-tests.py --with-hg=`which hg` test-failure.t
--- $TESTTMP/test-failure.t
+++ $TESTTMP/test-failure.t.err
@@ -1,2 +1,2 @@
$ echo babar
- rataxes
+ babar
ERROR: test-failure.t output changed
!
Failed test-failure.t: output changed
# Ran 1 tests, 0 skipped, 0 warned, 1 failed.
python hash seed: * (glob)
[1]
Pierre-Yves David
test-run-tests.t: test --debug option
r21743
Running In Debug Mode
======================
$ $TESTDIR/run-tests.py --with-hg=`which hg` --debug
+ echo SALT* 0 0 (glob)
SALT* 0 0 (glob)
+ echo babar
babar
+ echo SALT* 2 0 (glob)
SALT* 2 0 (glob)
.+ echo SALT* 0 0 (glob)
SALT* 0 0 (glob)
+ echo babar
babar
+ echo SALT* 2 0 (glob)
SALT* 2 0 (glob)
.
# Ran 2 tests, 0 skipped, 0 warned, 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
$ $TESTDIR/run-tests.py --with-hg=`which hg` --jobs 2 test-failure*.t
--- $TESTTMP/test-failure*.t (glob)
+++ $TESTTMP/test-failure*.t.err (glob)
@@ -1,2 +1,2 @@
$ echo babar
- rataxes
+ babar
ERROR: test-failure*.t output changed (glob)
!
--- $TESTTMP/test-failure*.t (glob)
+++ $TESTTMP/test-failure*.t.err (glob)
@@ -1,2 +1,2 @@
$ echo babar
- rataxes
+ babar
ERROR: test-failure*.t output changed (glob)
!
Failed test-failure*.t: output changed (glob)
Failed test-failure*.t: output changed (glob)
# Ran 2 tests, 0 skipped, 0 warned, 2 failed.
python hash seed: * (glob)
[1]
(delete the duplicated test file)
$ rm test-failure-copy.t
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
$ echo 'n' | $TESTDIR/run-tests.py --with-hg=`which hg` -i
--- $TESTTMP/test-failure.t
+++ $TESTTMP/test-failure.t.err
@@ -1,2 +1,2 @@
$ echo babar
- rataxes
+ babar
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
# Ran 2 tests, 0 skipped, 0 warned, 1 failed.
python hash seed: * (glob)
[1]
$ cat test-failure.t
$ echo babar
rataxes
Accept the fix
$ echo 'y' | $TESTDIR/run-tests.py --with-hg=`which hg` -i
--- $TESTTMP/test-failure.t
+++ $TESTTMP/test-failure.t.err
@@ -1,2 +1,2 @@
$ echo babar
- rataxes
+ babar
Accept this change? [n] ..
# Ran 2 tests, 0 skipped, 0 warned, 0 failed.
$ cat test-failure.t
$ echo babar
babar
(reinstall)
$ mv backup test-failure.t
Pierre-Yves David
test-run-tests.t: test the --nodiff option
r21756
No Diff
===============
$ $TESTDIR/run-tests.py --with-hg=`which hg` --nodiff
!.
Failed test-failure.t: output changed
# Ran 2 tests, 0 skipped, 0 warned, 1 failed.
python hash seed: * (glob)
[1]
anuraggoel
run-tests: '--time' option provide more details to Linux users...
r21977
test for --time
==================
$ $TESTDIR/run-tests.py --with-hg=`which hg` test-success.t --time
.
# Ran 1 tests, 0 skipped, 0 warned, 0 failed.
# Producing time report
cuser csys real Test
\s*[\d\.]{5} \s*[\d\.]{5} \s*[\d\.]{5} test-success.t (re)
test for --time with --job enabled
====================================
$ $TESTDIR/run-tests.py --with-hg=`which hg` test-success.t --time --jobs 2
.
# Ran 1 tests, 0 skipped, 0 warned, 0 failed.
# Producing time report
cuser csys real Test
\s*[\d\.]{5} \s*[\d\.]{5} \s*[\d\.]{5} test-success.t (re)