tests/test-run-tests.t
changeset 40244 1039404c5e1d
parent 39707 5abc47d4ca6b
child 40245 e7e70c033783
equal deleted inserted replaced
40243:96e50dfd8c94 40244:1039404c5e1d
     5   $ . "$TESTDIR/helper-runtests.sh"
     5   $ . "$TESTDIR/helper-runtests.sh"
     6 
     6 
     7 Smoke test with install
     7 Smoke test with install
     8 ============
     8 ============
     9   $ "$PYTHON" $TESTDIR/run-tests.py $HGTEST_RUN_TESTS_PURE -l
     9   $ "$PYTHON" $TESTDIR/run-tests.py $HGTEST_RUN_TESTS_PURE -l
       
    10   running 0 tests using 0 parallel processes 
    10   
    11   
    11   # Ran 0 tests, 0 skipped, 0 failed.
    12   # Ran 0 tests, 0 skipped, 0 failed.
    12 
    13 
    13 Define a helper to avoid the install step
    14 Define a helper to avoid the install step
    14 =============
    15 =============
    21 
    22 
    22 #if symlink
    23 #if symlink
    23   $ ln -s `which true` hg
    24   $ ln -s `which true` hg
    24   $ "$PYTHON" $TESTDIR/run-tests.py --with-hg=./hg
    25   $ "$PYTHON" $TESTDIR/run-tests.py --with-hg=./hg
    25   warning: --with-hg should specify an hg script
    26   warning: --with-hg should specify an hg script
       
    27   running 0 tests using 0 parallel processes 
    26   
    28   
    27   # Ran 0 tests, 0 skipped, 0 failed.
    29   # Ran 0 tests, 0 skipped, 0 failed.
    28   $ rm hg
    30   $ rm hg
    29 #endif
    31 #endif
    30 
    32 
    53 an empty test
    55 an empty test
    54 =======================
    56 =======================
    55 
    57 
    56   $ touch test-empty.t
    58   $ touch test-empty.t
    57   $ rt
    59   $ rt
       
    60   running 1 tests using 1 parallel processes 
    58   .
    61   .
    59   # Ran 1 tests, 0 skipped, 0 failed.
    62   # Ran 1 tests, 0 skipped, 0 failed.
    60   $ rm test-empty.t
    63   $ rm test-empty.t
    61 
    64 
    62 a succesful test
    65 a succesful test
    86   >   tsr (no-missing !)
    89   >   tsr (no-missing !)
    87   >   missing (missing !)
    90   >   missing (missing !)
    88   > EOF
    91   > EOF
    89 
    92 
    90   $ rt
    93   $ rt
       
    94   running 1 tests using 1 parallel processes 
    91   .
    95   .
    92   # Ran 1 tests, 0 skipped, 0 failed.
    96   # Ran 1 tests, 0 skipped, 0 failed.
    93 
    97 
    94 failing test
    98 failing test
    95 ==================
    99 ==================
   100   >   bar*bad (glob)
   104   >   bar*bad (glob)
   101   >   bar*baz (glob)
   105   >   bar*baz (glob)
   102   >   | fo (re)
   106   >   | fo (re)
   103   > EOF
   107   > EOF
   104   $ rt test-failure.t
   108   $ rt test-failure.t
       
   109   running 1 tests using 1 parallel processes 
   105   
   110   
   106   --- $TESTTMP/test-failure.t
   111   --- $TESTTMP/test-failure.t
   107   +++ $TESTTMP/test-failure.t.err
   112   +++ $TESTTMP/test-failure.t.err
   108   @@ -1,4 +1,4 @@
   113   @@ -1,4 +1,4 @@
   109      $ echo "bar-baz"; echo "bar-bad"; echo foo
   114      $ echo "bar-baz"; echo "bar-bad"; echo foo
   137   >   value: * (glob)
   142   >   value: * (glob)
   138   >   key: 4
   143   >   key: 4
   139   >   value: * (glob)
   144   >   value: * (glob)
   140   > EOF
   145   > EOF
   141   $ rt test-failure-globs.t
   146   $ rt test-failure-globs.t
       
   147   running 1 tests using 1 parallel processes 
   142   
   148   
   143   --- $TESTTMP/test-failure-globs.t
   149   --- $TESTTMP/test-failure-globs.t
   144   +++ $TESTTMP/test-failure-globs.t.err
   150   +++ $TESTTMP/test-failure-globs.t.err
   145   @@ -2,9 +2,9 @@
   151   @@ -2,9 +2,9 @@
   146      context
   152      context
   232   >   foo.ar (?)
   238   >   foo.ar (?)
   233   >   awol
   239   >   awol
   234   >   missing (?)
   240   >   missing (?)
   235   > EOF
   241   > EOF
   236   $ rt test-failure.t
   242   $ rt test-failure.t
       
   243   running 1 tests using 1 parallel processes 
   237   
   244   
   238   --- $TESTTMP/test-failure.t
   245   --- $TESTTMP/test-failure.t
   239   +++ $TESTTMP/test-failure.t.err
   246   +++ $TESTTMP/test-failure.t.err
   240   @@ -1,11 +1,9 @@
   247   @@ -1,11 +1,9 @@
   241      $ true
   248      $ true
   290   >>> fh = open('test-failure-unicode.t', 'wb')
   297   >>> fh = open('test-failure-unicode.t', 'wb')
   291   >>> fh.write(u'  $ echo babar\u03b1\n'.encode('utf-8')) and None
   298   >>> fh.write(u'  $ echo babar\u03b1\n'.encode('utf-8')) and None
   292   >>> fh.write(u'  l\u03b5\u03b5t\n'.encode('utf-8')) and None
   299   >>> fh.write(u'  l\u03b5\u03b5t\n'.encode('utf-8')) and None
   293 
   300 
   294   $ rt
   301   $ rt
       
   302   running 3 tests using 1 parallel processes 
   295   
   303   
   296   --- $TESTTMP/test-failure.t
   304   --- $TESTTMP/test-failure.t
   297   +++ $TESTTMP/test-failure.t.err
   305   +++ $TESTTMP/test-failure.t.err
   298   @@ -1,5 +1,5 @@
   306   @@ -1,5 +1,5 @@
   299      $ echo babar
   307      $ echo babar
   321   [1]
   329   [1]
   322 
   330 
   323 test --outputdir
   331 test --outputdir
   324   $ mkdir output
   332   $ mkdir output
   325   $ rt --outputdir output
   333   $ rt --outputdir output
       
   334   running 3 tests using 1 parallel processes 
   326   
   335   
   327   --- $TESTTMP/test-failure.t
   336   --- $TESTTMP/test-failure.t
   328   +++ $TESTTMP/output/test-failure.t.err
   337   +++ $TESTTMP/output/test-failure.t.err
   329   @@ -1,5 +1,5 @@
   338   @@ -1,5 +1,5 @@
   330      $ echo babar
   339      $ echo babar
   357   test-failure-unicode.t.err
   366   test-failure-unicode.t.err
   358   test-failure.t.err
   367   test-failure.t.err
   359 
   368 
   360 test --xunit support
   369 test --xunit support
   361   $ rt --xunit=xunit.xml
   370   $ rt --xunit=xunit.xml
       
   371   running 3 tests using 1 parallel processes 
   362   
   372   
   363   --- $TESTTMP/test-failure.t
   373   --- $TESTTMP/test-failure.t
   364   +++ $TESTTMP/test-failure.t.err
   374   +++ $TESTTMP/test-failure.t.err
   365   @@ -1,5 +1,5 @@
   375   @@ -1,5 +1,5 @@
   366      $ echo babar
   376      $ echo babar
   479 
   489 
   480 test for --retest
   490 test for --retest
   481 ====================
   491 ====================
   482 
   492 
   483   $ rt --retest
   493   $ rt --retest
       
   494   running 2 tests using 1 parallel processes 
   484   
   495   
   485   --- $TESTTMP/test-failure.t
   496   --- $TESTTMP/test-failure.t
   486   +++ $TESTTMP/test-failure.t.err
   497   +++ $TESTTMP/test-failure.t.err
   487   @@ -1,5 +1,5 @@
   498   @@ -1,5 +1,5 @@
   488      $ echo babar
   499      $ echo babar
   502 --retest works with --outputdir
   513 --retest works with --outputdir
   503   $ rm -r output
   514   $ rm -r output
   504   $ mkdir output
   515   $ mkdir output
   505   $ mv test-failure.t.err output
   516   $ mv test-failure.t.err output
   506   $ rt --retest --outputdir output
   517   $ rt --retest --outputdir output
       
   518   running 2 tests using 1 parallel processes 
   507   
   519   
   508   --- $TESTTMP/test-failure.t
   520   --- $TESTTMP/test-failure.t
   509   +++ $TESTTMP/output/test-failure.t.err
   521   +++ $TESTTMP/output/test-failure.t.err
   510   @@ -1,5 +1,5 @@
   522   @@ -1,5 +1,5 @@
   511      $ echo babar
   523      $ echo babar
   526 ======================
   538 ======================
   527 
   539 
   528 successful
   540 successful
   529 
   541 
   530   $ rt test-success.t
   542   $ rt test-success.t
       
   543   running 1 tests using 1 parallel processes 
   531   .
   544   .
   532   # Ran 1 tests, 0 skipped, 0 failed.
   545   # Ran 1 tests, 0 skipped, 0 failed.
   533 
   546 
   534 success w/ keyword
   547 success w/ keyword
   535   $ rt -k xyzzy
   548   $ rt -k xyzzy
       
   549   running 2 tests using 1 parallel processes 
   536   .
   550   .
   537   # Ran 2 tests, 1 skipped, 0 failed.
   551   # Ran 2 tests, 1 skipped, 0 failed.
   538 
   552 
   539 failed
   553 failed
   540 
   554 
   541   $ rt test-failure.t
   555   $ rt test-failure.t
       
   556   running 1 tests using 1 parallel processes 
   542   
   557   
   543   --- $TESTTMP/test-failure.t
   558   --- $TESTTMP/test-failure.t
   544   +++ $TESTTMP/test-failure.t.err
   559   +++ $TESTTMP/test-failure.t.err
   545   @@ -1,5 +1,5 @@
   560   @@ -1,5 +1,5 @@
   546      $ echo babar
   561      $ echo babar
   557   python hash seed: * (glob)
   572   python hash seed: * (glob)
   558   [1]
   573   [1]
   559 
   574 
   560 failure w/ keyword
   575 failure w/ keyword
   561   $ rt -k rataxes
   576   $ rt -k rataxes
       
   577   running 2 tests using 1 parallel processes 
   562   
   578   
   563   --- $TESTTMP/test-failure.t
   579   --- $TESTTMP/test-failure.t
   564   +++ $TESTTMP/test-failure.t.err
   580   +++ $TESTTMP/test-failure.t.err
   565   @@ -1,5 +1,5 @@
   581   @@ -1,5 +1,5 @@
   566      $ echo babar
   582      $ echo babar
   582 
   598 
   583   $ cat > test-serve-fail.t <<EOF
   599   $ cat > test-serve-fail.t <<EOF
   584   >   $ echo 'abort: child process failed to start blah'
   600   >   $ echo 'abort: child process failed to start blah'
   585   > EOF
   601   > EOF
   586   $ rt test-serve-fail.t
   602   $ rt test-serve-fail.t
       
   603   running 1 tests using 1 parallel processes 
   587   
   604   
   588   --- $TESTTMP/test-serve-fail.t
   605   --- $TESTTMP/test-serve-fail.t
   589   +++ $TESTTMP/test-serve-fail.t.err
   606   +++ $TESTTMP/test-serve-fail.t.err
   590   @@ -1* +1,2 @@ (glob)
   607   @@ -1* +1,2 @@ (glob)
   591      $ echo 'abort: child process failed to start blah'
   608      $ echo 'abort: child process failed to start blah'
   612   $ cat > test-serve-inuse.t <<EOF
   629   $ cat > test-serve-inuse.t <<EOF
   613   >   $ hg serve -R `pwd`/inuse -p \$HGPORT -d --pid-file=hg.pid
   630   >   $ hg serve -R `pwd`/inuse -p \$HGPORT -d --pid-file=hg.pid
   614   >   $ cat hg.pid >> \$DAEMON_PIDS
   631   >   $ cat hg.pid >> \$DAEMON_PIDS
   615   > EOF
   632   > EOF
   616   $ rt test-serve-inuse.t
   633   $ rt test-serve-inuse.t
       
   634   running 1 tests using 1 parallel processes 
   617   .
   635   .
   618   # Ran 1 tests, 0 skipped, 0 failed.
   636   # Ran 1 tests, 0 skipped, 0 failed.
   619   $ rm test-serve-inuse.t
   637   $ rm test-serve-inuse.t
   620   $ killdaemons.py $DAEMON_PIDS
   638   $ killdaemons.py $DAEMON_PIDS
   621 
   639 
   622 Running In Debug Mode
   640 Running In Debug Mode
   623 ======================
   641 ======================
   624 
   642 
   625   $ rt --debug 2>&1 | grep -v pwd
   643   $ rt --debug 2>&1 | grep -v pwd
       
   644   running 2 tests using 1 parallel processes 
   626   + echo *SALT* 0 0 (glob)
   645   + echo *SALT* 0 0 (glob)
   627   *SALT* 0 0 (glob)
   646   *SALT* 0 0 (glob)
   628   + echo babar
   647   + echo babar
   629   babar
   648   babar
   630   + echo *SALT* 10 0 (glob)
   649   + echo *SALT* 10 0 (glob)
   659 
   678 
   660 (duplicate the failing test to get predictable output)
   679 (duplicate the failing test to get predictable output)
   661   $ cp test-failure.t test-failure-copy.t
   680   $ cp test-failure.t test-failure-copy.t
   662 
   681 
   663   $ rt --jobs 2 test-failure*.t -n
   682   $ rt --jobs 2 test-failure*.t -n
       
   683   running 2 tests using 2 parallel processes 
   664   !!
   684   !!
   665   Failed test-failure*.t: output changed (glob)
   685   Failed test-failure*.t: output changed (glob)
   666   Failed test-failure*.t: output changed (glob)
   686   Failed test-failure*.t: output changed (glob)
   667   # Ran 2 tests, 0 skipped, 2 failed.
   687   # Ran 2 tests, 0 skipped, 2 failed.
   668   python hash seed: * (glob)
   688   python hash seed: * (glob)
   669   [1]
   689   [1]
   670 
   690 
   671 failures in parallel with --first should only print one failure
   691 failures in parallel with --first should only print one failure
   672   $ rt --jobs 2 --first test-failure*.t
   692   $ rt --jobs 2 --first test-failure*.t
       
   693   running 2 tests using 2 parallel processes 
   673   
   694   
   674   --- $TESTTMP/test-failure*.t (glob)
   695   --- $TESTTMP/test-failure*.t (glob)
   675   +++ $TESTTMP/test-failure*.t.err (glob)
   696   +++ $TESTTMP/test-failure*.t.err (glob)
   676   @@ -1,5 +1,5 @@
   697   @@ -1,5 +1,5 @@
   677      $ echo babar
   698      $ echo babar
   699   $ cp test-failure.t backup
   720   $ cp test-failure.t backup
   700 
   721 
   701 Refuse the fix
   722 Refuse the fix
   702 
   723 
   703   $ echo 'n' | rt -i
   724   $ echo 'n' | rt -i
       
   725   running 2 tests using 1 parallel processes 
   704   
   726   
   705   --- $TESTTMP/test-failure.t
   727   --- $TESTTMP/test-failure.t
   706   +++ $TESTTMP/test-failure.t.err
   728   +++ $TESTTMP/test-failure.t.err
   707   @@ -1,5 +1,5 @@
   729   @@ -1,5 +1,5 @@
   708      $ echo babar
   730      $ echo babar
   732   pad pad pad pad............................................................
   754   pad pad pad pad............................................................
   733 
   755 
   734 Interactive with custom view
   756 Interactive with custom view
   735 
   757 
   736   $ echo 'n' | rt -i --view echo
   758   $ echo 'n' | rt -i --view echo
       
   759   running 2 tests using 1 parallel processes 
   737   $TESTTMP/test-failure.t $TESTTMP/test-failure.t.err
   760   $TESTTMP/test-failure.t $TESTTMP/test-failure.t.err
   738   Accept this change? [n]* (glob)
   761   Accept this change? [n]* (glob)
   739   ERROR: test-failure.t output changed
   762   ERROR: test-failure.t output changed
   740   !.
   763   !.
   741   Failed test-failure.t: output changed
   764   Failed test-failure.t: output changed
   744   [1]
   767   [1]
   745 
   768 
   746 View the fix
   769 View the fix
   747 
   770 
   748   $ echo 'y' | rt --view echo
   771   $ echo 'y' | rt --view echo
       
   772   running 2 tests using 1 parallel processes 
   749   $TESTTMP/test-failure.t $TESTTMP/test-failure.t.err
   773   $TESTTMP/test-failure.t $TESTTMP/test-failure.t.err
   750   
   774   
   751   ERROR: test-failure.t output changed
   775   ERROR: test-failure.t output changed
   752   !.
   776   !.
   753   Failed test-failure.t: output changed
   777   Failed test-failure.t: output changed
   764   >   saved backup bundle to $TESTTMP\\foo.hg
   788   >   saved backup bundle to $TESTTMP\\foo.hg
   765   >   $ echo 'saved backup bundle to \$TESTTMP/foo.hg'
   789   >   $ echo 'saved backup bundle to \$TESTTMP/foo.hg'
   766   >   saved backup bundle to \$TESTTMP/*.hg (glob)
   790   >   saved backup bundle to \$TESTTMP/*.hg (glob)
   767   > EOF
   791   > EOF
   768   $ echo 'y' | rt -i 2>&1
   792   $ echo 'y' | rt -i 2>&1
       
   793   running 2 tests using 1 parallel processes 
   769   
   794   
   770   --- $TESTTMP/test-failure.t
   795   --- $TESTTMP/test-failure.t
   771   +++ $TESTTMP/test-failure.t.err
   796   +++ $TESTTMP/test-failure.t.err
   772   @@ -1,5 +1,5 @@
   797   @@ -1,5 +1,5 @@
   773      $ echo babar
   798      $ echo babar
   813   >   $ echo 1
   838   >   $ echo 1
   814   >   $ echo "# a new line" >> $TESTRACEDIR/test-race.t
   839   >   $ echo "# a new line" >> $TESTRACEDIR/test-race.t
   815   > EOF
   840   > EOF
   816 
   841 
   817   $ rt -i test-race.t
   842   $ rt -i test-race.t
       
   843   running 1 tests using 1 parallel processes 
   818   
   844   
   819   --- $TESTTMP/test-race.t
   845   --- $TESTTMP/test-race.t
   820   +++ $TESTTMP/test-race.t.err
   846   +++ $TESTTMP/test-race.t.err
   821   @@ -1,2 +1,3 @@
   847   @@ -1,2 +1,3 @@
   822      $ echo 1
   848      $ echo 1
   846 
   872 
   847   $ cat <<EOF | rt -i test-cases.t 2>&1
   873   $ cat <<EOF | rt -i test-cases.t 2>&1
   848   > y
   874   > y
   849   > y
   875   > y
   850   > EOF
   876   > EOF
       
   877   running 2 tests using 1 parallel processes 
   851   
   878   
   852   --- $TESTTMP/test-cases.t
   879   --- $TESTTMP/test-cases.t
   853   +++ $TESTTMP/test-cases.t#a.err
   880   +++ $TESTTMP/test-cases.t#a.err
   854   @@ -1,6 +1,7 @@
   881   @@ -1,6 +1,7 @@
   855    #testcases a b
   882    #testcases a b
   891   >   $ echo $NAME
   918   >   $ echo $NAME
   892   >   A (a !)
   919   >   A (a !)
   893   >   B (b !)
   920   >   B (b !)
   894   > EOF
   921   > EOF
   895   $ rt test-cases.t
   922   $ rt test-cases.t
       
   923   running 2 tests using 1 parallel processes 
   896   ..
   924   ..
   897   # Ran 2 tests, 0 skipped, 0 failed.
   925   # Ran 2 tests, 0 skipped, 0 failed.
   898 
   926 
   899 When using multiple dimensions of "#testcases" in .t files
   927 When using multiple dimensions of "#testcases" in .t files
   900 
   928 
   909   >   $ echo yes
   937   >   $ echo yes
   910   >   no
   938   >   no
   911   > #endif
   939   > #endif
   912   > EOF
   940   > EOF
   913   $ rt test-cases.t
   941   $ rt test-cases.t
       
   942   running 4 tests using 1 parallel processes 
   914   ..
   943   ..
   915   --- $TESTTMP/test-cases.t
   944   --- $TESTTMP/test-cases.t
   916   +++ $TESTTMP/test-cases.t#b#c.err
   945   +++ $TESTTMP/test-cases.t#b#c.err
   917   @@ -6,5 +6,5 @@
   946   @@ -6,5 +6,5 @@
   918    #endif
   947    #endif
   937 
   966 
   938 No Diff
   967 No Diff
   939 ===============
   968 ===============
   940 
   969 
   941   $ rt --nodiff
   970   $ rt --nodiff
       
   971   running 2 tests using 1 parallel processes 
   942   !.
   972   !.
   943   Failed test-failure.t: output changed
   973   Failed test-failure.t: output changed
   944   # Ran 2 tests, 0 skipped, 1 failed.
   974   # Ran 2 tests, 0 skipped, 1 failed.
   945   python hash seed: * (glob)
   975   python hash seed: * (glob)
   946   [1]
   976   [1]
   947 
   977 
   948 test --tmpdir support
   978 test --tmpdir support
   949   $ rt --tmpdir=$TESTTMP/keep test-success.t
   979   $ rt --tmpdir=$TESTTMP/keep test-success.t
       
   980   running 1 tests using 1 parallel processes 
   950   
   981   
   951   Keeping testtmp dir: $TESTTMP/keep/child1/test-success.t
   982   Keeping testtmp dir: $TESTTMP/keep/child1/test-success.t
   952   Keeping threadtmp dir: $TESTTMP/keep/child1 
   983   Keeping threadtmp dir: $TESTTMP/keep/child1 
   953   .
   984   .
   954   # Ran 1 tests, 0 skipped, 0 failed.
   985   # Ran 1 tests, 0 skipped, 0 failed.
   961   >   pass
   992   >   pass
   962   > EOF
   993   > EOF
   963   > echo '#require slow' > test-slow-timeout.t
   994   > echo '#require slow' > test-slow-timeout.t
   964   > cat test-timeout.t >> test-slow-timeout.t
   995   > cat test-timeout.t >> test-slow-timeout.t
   965   $ rt --timeout=1 --slowtimeout=3 test-timeout.t test-slow-timeout.t
   996   $ rt --timeout=1 --slowtimeout=3 test-timeout.t test-slow-timeout.t
       
   997   running 2 tests using 1 parallel processes 
   966   st
   998   st
   967   Skipped test-slow-timeout.t: missing feature: allow slow tests (use --allow-slow-tests)
   999   Skipped test-slow-timeout.t: missing feature: allow slow tests (use --allow-slow-tests)
   968   Failed test-timeout.t: timed out
  1000   Failed test-timeout.t: timed out
   969   # Ran 1 tests, 1 skipped, 1 failed.
  1001   # Ran 1 tests, 1 skipped, 1 failed.
   970   python hash seed: * (glob)
  1002   python hash seed: * (glob)
   971   [1]
  1003   [1]
   972   $ rt --timeout=1 --slowtimeout=3 \
  1004   $ rt --timeout=1 --slowtimeout=3 \
   973   > test-timeout.t test-slow-timeout.t --allow-slow-tests
  1005   > test-timeout.t test-slow-timeout.t --allow-slow-tests
       
  1006   running 2 tests using 1 parallel processes 
   974   .t
  1007   .t
   975   Failed test-timeout.t: timed out
  1008   Failed test-timeout.t: timed out
   976   # Ran 2 tests, 0 skipped, 1 failed.
  1009   # Ran 2 tests, 0 skipped, 1 failed.
   977   python hash seed: * (glob)
  1010   python hash seed: * (glob)
   978   [1]
  1011   [1]
   980 
  1013 
   981 test for --time
  1014 test for --time
   982 ==================
  1015 ==================
   983 
  1016 
   984   $ rt test-success.t --time
  1017   $ rt test-success.t --time
       
  1018   running 1 tests using 1 parallel processes 
   985   .
  1019   .
   986   # Ran 1 tests, 0 skipped, 0 failed.
  1020   # Ran 1 tests, 0 skipped, 0 failed.
   987   # Producing time report
  1021   # Producing time report
   988   start   end     cuser   csys    real      Test
  1022   start   end     cuser   csys    real      Test
   989   \s*[\d\.]{5}   \s*[\d\.]{5}   \s*[\d\.]{5}   \s*[\d\.]{5}   \s*[\d\.]{5}   test-success.t (re)
  1023   \s*[\d\.]{5}   \s*[\d\.]{5}   \s*[\d\.]{5}   \s*[\d\.]{5}   \s*[\d\.]{5}   test-success.t (re)
   990 
  1024 
   991 test for --time with --job enabled
  1025 test for --time with --job enabled
   992 ====================================
  1026 ====================================
   993 
  1027 
   994   $ rt test-success.t --time --jobs 2
  1028   $ rt test-success.t --time --jobs 2
       
  1029   running 1 tests using 1 parallel processes 
   995   .
  1030   .
   996   # Ran 1 tests, 0 skipped, 0 failed.
  1031   # Ran 1 tests, 0 skipped, 0 failed.
   997   # Producing time report
  1032   # Producing time report
   998   start   end     cuser   csys    real      Test
  1033   start   end     cuser   csys    real      Test
   999   \s*[\d\.]{5}   \s*[\d\.]{5}   \s*[\d\.]{5}   \s*[\d\.]{5}   \s*[\d\.]{5}   test-success.t (re)
  1034   \s*[\d\.]{5}   \s*[\d\.]{5}   \s*[\d\.]{5}   \s*[\d\.]{5}   \s*[\d\.]{5}   test-success.t (re)
  1010   > #if false
  1045   > #if false
  1011   > #require false
  1046   > #require false
  1012   > #endif
  1047   > #endif
  1013   > EOF
  1048   > EOF
  1014   $ rt --nodiff
  1049   $ rt --nodiff
       
  1050   running 4 tests using 1 parallel processes 
  1015   !.s.
  1051   !.s.
  1016   Skipped test-skip.t: missing feature: nail clipper
  1052   Skipped test-skip.t: missing feature: nail clipper
  1017   Failed test-failure.t: output changed
  1053   Failed test-failure.t: output changed
  1018   # Ran 3 tests, 1 skipped, 1 failed.
  1054   # Ran 3 tests, 1 skipped, 1 failed.
  1019   python hash seed: * (glob)
  1055   python hash seed: * (glob)
  1020   [1]
  1056   [1]
  1021 
  1057 
  1022   $ rm test-noskip.t
  1058   $ rm test-noskip.t
  1023   $ rt --keyword xyzzy
  1059   $ rt --keyword xyzzy
       
  1060   running 3 tests using 1 parallel processes 
  1024   .s
  1061   .s
  1025   Skipped test-skip.t: missing feature: nail clipper
  1062   Skipped test-skip.t: missing feature: nail clipper
  1026   # Ran 2 tests, 2 skipped, 0 failed.
  1063   # Ran 2 tests, 2 skipped, 0 failed.
  1027 
  1064 
  1028 Skips with xml
  1065 Skips with xml
  1029   $ rt --keyword xyzzy \
  1066   $ rt --keyword xyzzy \
  1030   >  --xunit=xunit.xml
  1067   >  --xunit=xunit.xml
       
  1068   running 3 tests using 1 parallel processes 
  1031   .s
  1069   .s
  1032   Skipped test-skip.t: missing feature: nail clipper
  1070   Skipped test-skip.t: missing feature: nail clipper
  1033   # Ran 2 tests, 2 skipped, 0 failed.
  1071   # Ran 2 tests, 2 skipped, 0 failed.
  1034   $ cat xunit.xml
  1072   $ cat xunit.xml
  1035   <?xml version="1.0" encoding="utf-8"?>
  1073   <?xml version="1.0" encoding="utf-8"?>
  1043 
  1081 
  1044 Missing skips or blacklisted skips don't count as executed:
  1082 Missing skips or blacklisted skips don't count as executed:
  1045   $ echo test-failure.t > blacklist
  1083   $ echo test-failure.t > blacklist
  1046   $ rt --blacklist=blacklist --json\
  1084   $ rt --blacklist=blacklist --json\
  1047   >   test-failure.t test-bogus.t
  1085   >   test-failure.t test-bogus.t
       
  1086   running 2 tests using 1 parallel processes 
  1048   ss
  1087   ss
  1049   Skipped test-bogus.t: Doesn't exist
  1088   Skipped test-bogus.t: Doesn't exist
  1050   Skipped test-failure.t: blacklisted
  1089   Skipped test-failure.t: blacklisted
  1051   # Ran 0 tests, 2 skipped, 0 failed.
  1090   # Ran 0 tests, 2 skipped, 0 failed.
  1052   $ cat report.json
  1091   $ cat report.json
  1061 
  1100 
  1062 Whitelist trumps blacklist
  1101 Whitelist trumps blacklist
  1063   $ echo test-failure.t > whitelist
  1102   $ echo test-failure.t > whitelist
  1064   $ rt --blacklist=blacklist --whitelist=whitelist --json\
  1103   $ rt --blacklist=blacklist --whitelist=whitelist --json\
  1065   >   test-failure.t test-bogus.t
  1104   >   test-failure.t test-bogus.t
       
  1105   running 2 tests using 1 parallel processes 
  1066   s
  1106   s
  1067   --- $TESTTMP/test-failure.t
  1107   --- $TESTTMP/test-failure.t
  1068   +++ $TESTTMP/test-failure.t.err
  1108   +++ $TESTTMP/test-failure.t.err
  1069   @@ -1,5 +1,5 @@
  1109   @@ -1,5 +1,5 @@
  1070      $ echo babar
  1110      $ echo babar
  1084 
  1124 
  1085 Ensure that --test-list causes only the tests listed in that file to
  1125 Ensure that --test-list causes only the tests listed in that file to
  1086 be executed.
  1126 be executed.
  1087   $ echo test-success.t >> onlytest
  1127   $ echo test-success.t >> onlytest
  1088   $ rt --test-list=onlytest
  1128   $ rt --test-list=onlytest
       
  1129   running 1 tests using 1 parallel processes 
  1089   .
  1130   .
  1090   # Ran 1 tests, 0 skipped, 0 failed.
  1131   # Ran 1 tests, 0 skipped, 0 failed.
  1091   $ echo test-bogus.t >> anothertest
  1132   $ echo test-bogus.t >> anothertest
  1092   $ rt --test-list=onlytest --test-list=anothertest
  1133   $ rt --test-list=onlytest --test-list=anothertest
       
  1134   running 2 tests using 1 parallel processes 
  1093   s.
  1135   s.
  1094   Skipped test-bogus.t: Doesn't exist
  1136   Skipped test-bogus.t: Doesn't exist
  1095   # Ran 1 tests, 1 skipped, 0 failed.
  1137   # Ran 1 tests, 1 skipped, 0 failed.
  1096   $ rm onlytest anothertest
  1138   $ rm onlytest anothertest
  1097 
  1139 
  1098 test for --json
  1140 test for --json
  1099 ==================
  1141 ==================
  1100 
  1142 
  1101   $ rt --json
  1143   $ rt --json
       
  1144   running 3 tests using 1 parallel processes 
  1102   
  1145   
  1103   --- $TESTTMP/test-failure.t
  1146   --- $TESTTMP/test-failure.t
  1104   +++ $TESTTMP/test-failure.t.err
  1147   +++ $TESTTMP/test-failure.t.err
  1105   @@ -1,5 +1,5 @@
  1148   @@ -1,5 +1,5 @@
  1106      $ echo babar
  1149      $ echo babar
  1152 
  1195 
  1153   $ rm report.json
  1196   $ rm report.json
  1154   $ rm -r output
  1197   $ rm -r output
  1155   $ mkdir output
  1198   $ mkdir output
  1156   $ rt --json --outputdir output
  1199   $ rt --json --outputdir output
       
  1200   running 3 tests using 1 parallel processes 
  1157   
  1201   
  1158   --- $TESTTMP/test-failure.t
  1202   --- $TESTTMP/test-failure.t
  1159   +++ $TESTTMP/output/test-failure.t.err
  1203   +++ $TESTTMP/output/test-failure.t.err
  1160   @@ -1,5 +1,5 @@
  1204   @@ -1,5 +1,5 @@
  1161      $ echo babar
  1205      $ echo babar
  1213 
  1257 
  1214 Test that failed test accepted through interactive are properly reported:
  1258 Test that failed test accepted through interactive are properly reported:
  1215 
  1259 
  1216   $ cp test-failure.t backup
  1260   $ cp test-failure.t backup
  1217   $ echo y | rt --json -i
  1261   $ echo y | rt --json -i
       
  1262   running 3 tests using 1 parallel processes 
  1218   
  1263   
  1219   --- $TESTTMP/test-failure.t
  1264   --- $TESTTMP/test-failure.t
  1220   +++ $TESTTMP/test-failure.t.err
  1265   +++ $TESTTMP/test-failure.t.err
  1221   @@ -1,5 +1,5 @@
  1266   @@ -1,5 +1,5 @@
  1222      $ echo babar
  1267      $ echo babar
  1267   >   $ echo 'foo bar \\'
  1312   >   $ echo 'foo bar \\'
  1268   >   foo * \ (glob)
  1313   >   foo * \ (glob)
  1269   > EOF
  1314   > EOF
  1270 
  1315 
  1271   $ rt test-glob-backslash.t
  1316   $ rt test-glob-backslash.t
       
  1317   running 1 tests using 1 parallel processes 
  1272   .
  1318   .
  1273   # Ran 1 tests, 0 skipped, 0 failed.
  1319   # Ran 1 tests, 0 skipped, 0 failed.
  1274 
  1320 
  1275   $ rm -f test-glob-backslash.t
  1321   $ rm -f test-glob-backslash.t
  1276 
  1322 
  1282 
  1328 
  1283 Add support for external test formatter
  1329 Add support for external test formatter
  1284 =======================================
  1330 =======================================
  1285 
  1331 
  1286   $ CUSTOM_TEST_RESULT=basic_test_result "$PYTHON" $TESTDIR/run-tests.py --with-hg=`which hg` "$@" test-success.t test-failure.t
  1332   $ CUSTOM_TEST_RESULT=basic_test_result "$PYTHON" $TESTDIR/run-tests.py --with-hg=`which hg` "$@" test-success.t test-failure.t
       
  1333   running 2 tests using 1 parallel processes 
  1287   
  1334   
  1288   # Ran 2 tests, 0 skipped, 0 failed.
  1335   # Ran 2 tests, 0 skipped, 0 failed.
  1289   ON_START! <__main__.TestSuite tests=[<__main__.TTest testMethod=test-failure.t>, <__main__.TTest testMethod=test-success.t>]>
  1336   ON_START! <__main__.TestSuite tests=[<__main__.TTest testMethod=test-failure.t>, <__main__.TTest testMethod=test-success.t>]>
  1290   FAILURE! test-failure.t output changed
  1337   FAILURE! test-failure.t output changed
  1291   SUCCESS! test-success.t
  1338   SUCCESS! test-success.t
  1304   > #require true
  1351   > #require true
  1305   >   $ echo foo
  1352   >   $ echo foo
  1306   >   foo
  1353   >   foo
  1307   > EOF
  1354   > EOF
  1308   $ rt test-hghave.t
  1355   $ rt test-hghave.t
       
  1356   running 1 tests using 1 parallel processes 
  1309   .
  1357   .
  1310   # Ran 1 tests, 0 skipped, 0 failed.
  1358   # Ran 1 tests, 0 skipped, 0 failed.
  1311 
  1359 
  1312 test that RUNTESTDIR refers the directory, in which `run-tests.py` now
  1360 test that RUNTESTDIR refers the directory, in which `run-tests.py` now
  1313 running is placed.
  1361 running is placed.
  1332   >   #!USRBINENVPY
  1380   >   #!USRBINENVPY
  1333   >   #
  1381   >   #
  1334   >   # check-code - a style and portability checker for Mercurial
  1382   >   # check-code - a style and portability checker for Mercurial
  1335   > EOF
  1383   > EOF
  1336   $ rt test-runtestdir.t
  1384   $ rt test-runtestdir.t
       
  1385   running 1 tests using 1 parallel processes 
  1337   .
  1386   .
  1338   # Ran 1 tests, 0 skipped, 0 failed.
  1387   # Ran 1 tests, 0 skipped, 0 failed.
  1339 
  1388 
  1340 #if execbit
  1389 #if execbit
  1341 
  1390 
  1349   $ cat > test-testdir-path.t <<EOF
  1398   $ cat > test-testdir-path.t <<EOF
  1350   >   $ custom-command.sh
  1399   >   $ custom-command.sh
  1351   >   hello world
  1400   >   hello world
  1352   > EOF
  1401   > EOF
  1353   $ rt test-testdir-path.t
  1402   $ rt test-testdir-path.t
       
  1403   running 1 tests using 1 parallel processes 
  1354   .
  1404   .
  1355   # Ran 1 tests, 0 skipped, 0 failed.
  1405   # Ran 1 tests, 0 skipped, 0 failed.
  1356 
  1406 
  1357 #endif
  1407 #endif
  1358 
  1408 
  1361   > #require slow
  1411   > #require slow
  1362   >   $ echo pass
  1412   >   $ echo pass
  1363   >   pass
  1413   >   pass
  1364   > EOF
  1414   > EOF
  1365   $ rt test-very-slow-test.t
  1415   $ rt test-very-slow-test.t
       
  1416   running 1 tests using 1 parallel processes 
  1366   s
  1417   s
  1367   Skipped test-very-slow-test.t: missing feature: allow slow tests (use --allow-slow-tests)
  1418   Skipped test-very-slow-test.t: missing feature: allow slow tests (use --allow-slow-tests)
  1368   # Ran 0 tests, 1 skipped, 0 failed.
  1419   # Ran 0 tests, 1 skipped, 0 failed.
  1369   $ rt $HGTEST_RUN_TESTS_PURE --allow-slow-tests test-very-slow-test.t
  1420   $ rt $HGTEST_RUN_TESTS_PURE --allow-slow-tests test-very-slow-test.t
       
  1421   running 1 tests using 1 parallel processes 
  1370   .
  1422   .
  1371   # Ran 1 tests, 0 skipped, 0 failed.
  1423   # Ran 1 tests, 0 skipped, 0 failed.
  1372 
  1424 
  1373 support for running a test outside the current directory
  1425 support for running a test outside the current directory
  1374   $ mkdir nonlocal
  1426   $ mkdir nonlocal
  1375   $ cat > nonlocal/test-is-not-here.t << EOF
  1427   $ cat > nonlocal/test-is-not-here.t << EOF
  1376   >   $ echo pass
  1428   >   $ echo pass
  1377   >   pass
  1429   >   pass
  1378   > EOF
  1430   > EOF
  1379   $ rt nonlocal/test-is-not-here.t
  1431   $ rt nonlocal/test-is-not-here.t
       
  1432   running 1 tests using 1 parallel processes 
  1380   .
  1433   .
  1381   # Ran 1 tests, 0 skipped, 0 failed.
  1434   # Ran 1 tests, 0 skipped, 0 failed.
  1382 
  1435 
  1383 support for automatically discovering test if arg is a folder
  1436 support for automatically discovering test if arg is a folder
  1384   $ mkdir tmp && cd tmp
  1437   $ mkdir tmp && cd tmp
  1392   $ cd ..
  1445   $ cd ..
  1393   $ cp -R tmp tmpp
  1446   $ cp -R tmp tmpp
  1394   $ cp tmp/test-uno.t test-solo.t
  1447   $ cp tmp/test-uno.t test-solo.t
  1395 
  1448 
  1396   $ rt tmp/ test-solo.t tmpp
  1449   $ rt tmp/ test-solo.t tmpp
       
  1450   running 5 tests using 1 parallel processes 
  1397   .....
  1451   .....
  1398   # Ran 5 tests, 0 skipped, 0 failed.
  1452   # Ran 5 tests, 0 skipped, 0 failed.
  1399   $ rm -rf tmp tmpp
  1453   $ rm -rf tmp tmpp
  1400 
  1454 
  1401 support for running run-tests.py from another directory
  1455 support for running run-tests.py from another directory
  1415   >   important commando
  1469   >   important commando
  1416   > EOF
  1470   > EOF
  1417 
  1471 
  1418   $ cd ..
  1472   $ cd ..
  1419   $ rt tmp/test-*.t
  1473   $ rt tmp/test-*.t
       
  1474   running 2 tests using 1 parallel processes 
  1420   
  1475   
  1421   --- $TESTTMP/anothertests/tmp/test-folder-fail.t
  1476   --- $TESTTMP/anothertests/tmp/test-folder-fail.t
  1422   +++ $TESTTMP/anothertests/tmp/test-folder-fail.t.err
  1477   +++ $TESTTMP/anothertests/tmp/test-folder-fail.t.err
  1423   @@ -1,2 +1,2 @@
  1478   @@ -1,2 +1,2 @@
  1424      $ cat $TESTDIR/useful-file.sh
  1479      $ cat $TESTDIR/useful-file.sh
  1445   >   $ echo pass
  1500   >   $ echo pass
  1446   >   fail
  1501   >   fail
  1447   > EOF
  1502   > EOF
  1448   $ hg ci -m 'bad'
  1503   $ hg ci -m 'bad'
  1449   $ rt --known-good-rev=0 test-bisect.t
  1504   $ rt --known-good-rev=0 test-bisect.t
       
  1505   running 1 tests using 1 parallel processes 
  1450   
  1506   
  1451   --- $TESTTMP/anothertests/bisect/test-bisect.t
  1507   --- $TESTTMP/anothertests/bisect/test-bisect.t
  1452   +++ $TESTTMP/anothertests/bisect/test-bisect.t.err
  1508   +++ $TESTTMP/anothertests/bisect/test-bisect.t.err
  1453   @@ -1,4 +1,4 @@
  1509   @@ -1,4 +1,4 @@
  1454      $ echo pass
  1510      $ echo pass
  1476   >     pass
  1532   >     pass
  1477   > EOF
  1533   > EOF
  1478   $ hg commit -Am dependent test-bisect-dependent.t
  1534   $ hg commit -Am dependent test-bisect-dependent.t
  1479 
  1535 
  1480   $ rt --known-good-rev=0 test-bisect-dependent.t
  1536   $ rt --known-good-rev=0 test-bisect-dependent.t
       
  1537   running 1 tests using 1 parallel processes 
  1481   
  1538   
  1482   --- $TESTTMP/anothertests/bisect-dependent/test-bisect-dependent.t
  1539   --- $TESTTMP/anothertests/bisect-dependent/test-bisect-dependent.t
  1483   +++ $TESTTMP/anothertests/bisect-dependent/test-bisect-dependent.t.err
  1540   +++ $TESTTMP/anothertests/bisect-dependent/test-bisect-dependent.t.err
  1484   @@ -1,2 +1,2 @@
  1541   @@ -1,2 +1,2 @@
  1485      $ tail -1 $TESTDIR/../bisect/test-bisect.t
  1542      $ tail -1 $TESTDIR/../bisect/test-bisect.t
  1498   usage: run-tests.py [options] [tests]
  1555   usage: run-tests.py [options] [tests]
  1499   run-tests.py: error: --bisect-repo cannot be used without --known-good-rev
  1556   run-tests.py: error: --bisect-repo cannot be used without --known-good-rev
  1500   [2]
  1557   [2]
  1501 
  1558 
  1502   $ rt --known-good-rev=0 --bisect-repo=../bisect test-bisect-dependent.t
  1559   $ rt --known-good-rev=0 --bisect-repo=../bisect test-bisect-dependent.t
       
  1560   running 1 tests using 1 parallel processes 
  1503   
  1561   
  1504   --- $TESTTMP/anothertests/bisect-dependent/test-bisect-dependent.t
  1562   --- $TESTTMP/anothertests/bisect-dependent/test-bisect-dependent.t
  1505   +++ $TESTTMP/anothertests/bisect-dependent/test-bisect-dependent.t.err
  1563   +++ $TESTTMP/anothertests/bisect-dependent/test-bisect-dependent.t.err
  1506   @@ -1,2 +1,2 @@
  1564   @@ -1,2 +1,2 @@
  1507      $ tail -1 $TESTDIR/../bisect/test-bisect.t
  1565      $ tail -1 $TESTDIR/../bisect/test-bisect.t
  1533   > This is test case $f
  1591   > This is test case $f
  1534   >   $ sleep 1
  1592   >   $ sleep 1
  1535   > EOF
  1593   > EOF
  1536   > done
  1594   > done
  1537   $ rt -j 2
  1595   $ rt -j 2
       
  1596   running 5 tests using 2 parallel processes 
  1538   ....
  1597   ....
  1539   # Ran 5 tests, 0 skipped, 0 failed.
  1598   # Ran 5 tests, 0 skipped, 0 failed.
  1540   skipped: unknown feature: notarealhghavefeature
  1599   skipped: unknown feature: notarealhghavefeature
  1541   
  1600   
  1542   $ cd ..
  1601   $ cd ..
  1570   > #endif
  1629   > #endif
  1571   >   $ [ $V = D ]
  1630   >   $ [ $V = D ]
  1572   >   [1]
  1631   >   [1]
  1573   > EOF
  1632   > EOF
  1574   $ rt
  1633   $ rt
       
  1634   running 3 tests using 1 parallel processes 
  1575   .
  1635   .
  1576   --- $TESTTMP/anothertests/cases/test-cases-abc.t
  1636   --- $TESTTMP/anothertests/cases/test-cases-abc.t
  1577   +++ $TESTTMP/anothertests/cases/test-cases-abc.t#B.err
  1637   +++ $TESTTMP/anothertests/cases/test-cases-abc.t#B.err
  1578   @@ -7,7 +7,7 @@
  1638   @@ -7,7 +7,7 @@
  1579      $ V=C
  1639      $ V=C
  1593   [1]
  1653   [1]
  1594 
  1654 
  1595 --restart works
  1655 --restart works
  1596 
  1656 
  1597   $ rt --restart
  1657   $ rt --restart
       
  1658   running 2 tests using 1 parallel processes 
  1598   
  1659   
  1599   --- $TESTTMP/anothertests/cases/test-cases-abc.t
  1660   --- $TESTTMP/anothertests/cases/test-cases-abc.t
  1600   +++ $TESTTMP/anothertests/cases/test-cases-abc.t#B.err
  1661   +++ $TESTTMP/anothertests/cases/test-cases-abc.t#B.err
  1601   @@ -7,7 +7,7 @@
  1662   @@ -7,7 +7,7 @@
  1602      $ V=C
  1663      $ V=C
  1618 --restart works with outputdir
  1679 --restart works with outputdir
  1619 
  1680 
  1620   $ mkdir output
  1681   $ mkdir output
  1621   $ mv test-cases-abc.t#B.err output
  1682   $ mv test-cases-abc.t#B.err output
  1622   $ rt --restart --outputdir output
  1683   $ rt --restart --outputdir output
       
  1684   running 2 tests using 1 parallel processes 
  1623   
  1685   
  1624   --- $TESTTMP/anothertests/cases/test-cases-abc.t
  1686   --- $TESTTMP/anothertests/cases/test-cases-abc.t
  1625   +++ $TESTTMP/anothertests/cases/output/test-cases-abc.t#B.err
  1687   +++ $TESTTMP/anothertests/cases/output/test-cases-abc.t#B.err
  1626   @@ -7,7 +7,7 @@
  1688   @@ -7,7 +7,7 @@
  1627      $ V=C
  1689      $ V=C
  1655   >   $ dostuff
  1717   >   $ dostuff
  1656   >   In case B
  1718   >   In case B
  1657   > #endif
  1719   > #endif
  1658   > EOF
  1720   > EOF
  1659   $ rt test-cases-ab.t
  1721   $ rt test-cases-ab.t
       
  1722   running 2 tests using 1 parallel processes 
  1660   ..
  1723   ..
  1661   # Ran 2 tests, 0 skipped, 0 failed.
  1724   # Ran 2 tests, 0 skipped, 0 failed.
  1662 
  1725 
  1663 Support running a specific test case
  1726 Support running a specific test case
  1664 
  1727 
  1665   $ rt "test-cases-abc.t#B"
  1728   $ rt "test-cases-abc.t#B"
       
  1729   running 1 tests using 1 parallel processes 
  1666   
  1730   
  1667   --- $TESTTMP/anothertests/cases/test-cases-abc.t
  1731   --- $TESTTMP/anothertests/cases/test-cases-abc.t
  1668   +++ $TESTTMP/anothertests/cases/test-cases-abc.t#B.err
  1732   +++ $TESTTMP/anothertests/cases/test-cases-abc.t#B.err
  1669   @@ -7,7 +7,7 @@
  1733   @@ -7,7 +7,7 @@
  1670      $ V=C
  1734      $ V=C
  1684   [1]
  1748   [1]
  1685 
  1749 
  1686 Support running multiple test cases in the same file
  1750 Support running multiple test cases in the same file
  1687 
  1751 
  1688   $ rt test-cases-abc.t#B test-cases-abc.t#C
  1752   $ rt test-cases-abc.t#B test-cases-abc.t#C
       
  1753   running 2 tests using 1 parallel processes 
  1689   
  1754   
  1690   --- $TESTTMP/anothertests/cases/test-cases-abc.t
  1755   --- $TESTTMP/anothertests/cases/test-cases-abc.t
  1691   +++ $TESTTMP/anothertests/cases/test-cases-abc.t#B.err
  1756   +++ $TESTTMP/anothertests/cases/test-cases-abc.t#B.err
  1692   @@ -7,7 +7,7 @@
  1757   @@ -7,7 +7,7 @@
  1693      $ V=C
  1758      $ V=C
  1707   [1]
  1772   [1]
  1708 
  1773 
  1709 Support ignoring invalid test cases
  1774 Support ignoring invalid test cases
  1710 
  1775 
  1711   $ rt test-cases-abc.t#B test-cases-abc.t#D
  1776   $ rt test-cases-abc.t#B test-cases-abc.t#D
       
  1777   running 1 tests using 1 parallel processes 
  1712   
  1778   
  1713   --- $TESTTMP/anothertests/cases/test-cases-abc.t
  1779   --- $TESTTMP/anothertests/cases/test-cases-abc.t
  1714   +++ $TESTTMP/anothertests/cases/test-cases-abc.t#B.err
  1780   +++ $TESTTMP/anothertests/cases/test-cases-abc.t#B.err
  1715   @@ -7,7 +7,7 @@
  1781   @@ -7,7 +7,7 @@
  1716      $ V=C
  1782      $ V=C
  1741   #testcases simple case-with-dashes casewith_-.chars
  1807   #testcases simple case-with-dashes casewith_-.chars
  1742     $ echo $TESTCASE
  1808     $ echo $TESTCASE
  1743     simple
  1809     simple
  1744 
  1810 
  1745   $ rt test-cases-advanced-cases.t
  1811   $ rt test-cases-advanced-cases.t
       
  1812   running 3 tests using 1 parallel processes 
  1746   
  1813   
  1747   --- $TESTTMP/anothertests/cases/test-cases-advanced-cases.t
  1814   --- $TESTTMP/anothertests/cases/test-cases-advanced-cases.t
  1748   +++ $TESTTMP/anothertests/cases/test-cases-advanced-cases.t#case-with-dashes.err
  1815   +++ $TESTTMP/anothertests/cases/test-cases-advanced-cases.t#case-with-dashes.err
  1749   @@ -1,3 +1,3 @@
  1816   @@ -1,3 +1,3 @@
  1750    #testcases simple case-with-dashes casewith_-.chars
  1817    #testcases simple case-with-dashes casewith_-.chars
  1769   # Ran 3 tests, 0 skipped, 2 failed.
  1836   # Ran 3 tests, 0 skipped, 2 failed.
  1770   python hash seed: * (glob)
  1837   python hash seed: * (glob)
  1771   [1]
  1838   [1]
  1772 
  1839 
  1773   $ rt "test-cases-advanced-cases.t#case-with-dashes"
  1840   $ rt "test-cases-advanced-cases.t#case-with-dashes"
       
  1841   running 1 tests using 1 parallel processes 
  1774   
  1842   
  1775   --- $TESTTMP/anothertests/cases/test-cases-advanced-cases.t
  1843   --- $TESTTMP/anothertests/cases/test-cases-advanced-cases.t
  1776   +++ $TESTTMP/anothertests/cases/test-cases-advanced-cases.t#case-with-dashes.err
  1844   +++ $TESTTMP/anothertests/cases/test-cases-advanced-cases.t#case-with-dashes.err
  1777   @@ -1,3 +1,3 @@
  1845   @@ -1,3 +1,3 @@
  1778    #testcases simple case-with-dashes casewith_-.chars
  1846    #testcases simple case-with-dashes casewith_-.chars
  1786   # Ran 1 tests, 0 skipped, 1 failed.
  1854   # Ran 1 tests, 0 skipped, 1 failed.
  1787   python hash seed: * (glob)
  1855   python hash seed: * (glob)
  1788   [1]
  1856   [1]
  1789 
  1857 
  1790   $ rt "test-cases-advanced-cases.t#casewith_-.chars"
  1858   $ rt "test-cases-advanced-cases.t#casewith_-.chars"
       
  1859   running 1 tests using 1 parallel processes 
  1791   
  1860   
  1792   --- $TESTTMP/anothertests/cases/test-cases-advanced-cases.t
  1861   --- $TESTTMP/anothertests/cases/test-cases-advanced-cases.t
  1793   +++ $TESTTMP/anothertests/cases/test-cases-advanced-cases.t#casewith_-.chars.err
  1862   +++ $TESTTMP/anothertests/cases/test-cases-advanced-cases.t#casewith_-.chars.err
  1794   @@ -1,3 +1,3 @@
  1863   @@ -1,3 +1,3 @@
  1795    #testcases simple case-with-dashes casewith_-.chars
  1864    #testcases simple case-with-dashes casewith_-.chars
  1827   >   last\$YYY$
  1896   >   last\$YYY$
  1828   >   $ echo foo-bar foo-baz
  1897   >   $ echo foo-bar foo-baz
  1829   > EOF
  1898   > EOF
  1830 
  1899 
  1831   $ rt test-substitution.t
  1900   $ rt test-substitution.t
       
  1901   running 1 tests using 1 parallel processes 
  1832   
  1902   
  1833   --- $TESTTMP/anothertests/cases/test-substitution.t
  1903   --- $TESTTMP/anothertests/cases/test-substitution.t
  1834   +++ $TESTTMP/anothertests/cases/test-substitution.t.err
  1904   +++ $TESTTMP/anothertests/cases/test-substitution.t.err
  1835   @@ -7,3 +7,4 @@
  1905   @@ -7,3 +7,4 @@
  1836      $ echo lastbar
  1906      $ echo lastbar
  1851   >   $ hg init test-config-opt
  1921   >   $ hg init test-config-opt
  1852   >   $ hg -R test-config-opt purge
  1922   >   $ hg -R test-config-opt purge
  1853   > EOF
  1923   > EOF
  1854 
  1924 
  1855   $ rt --extra-config-opt extensions.purge= test-config-opt.t
  1925   $ rt --extra-config-opt extensions.purge= test-config-opt.t
       
  1926   running 1 tests using 1 parallel processes 
  1856   .
  1927   .
  1857   # Ran 1 tests, 0 skipped, 0 failed.
  1928   # Ran 1 tests, 0 skipped, 0 failed.