Commit ab01045bcdb6ec7555fe0364d75139fcfa361991
1 parent
72e5c734
qtest: don't run coverage when TESTS is given
Showing
2 changed files
with
21 additions
and
3 deletions
manual/installation.rst
| ... | ... | @@ -144,7 +144,17 @@ Run ``ctest`` to run the test suite. Since the real tests are |
| 144 | 144 | implemented with `qtest <https://qtest.sourceforge.io/>`__, you will |
| 145 | 145 | want to pass ``--verbose`` to ``cmake`` so you can see the individual |
| 146 | 146 | test outputs. Otherwise, you will see a small number of ``ctest`` |
| 147 | -commands that take a very long to run. | |
| 147 | +commands that take a very long to run. If you want to run only a | |
| 148 | +specific test file in a specific test suite, you can set the ``TESTS`` | |
| 149 | +environment variable (used by ``qtest-driver``) and pass the ``-R`` | |
| 150 | +parameter to ``ctest``. For example: | |
| 151 | + | |
| 152 | +:: | |
| 153 | + | |
| 154 | + TESTS=qutil ctest --verbose -R libtests | |
| 155 | + | |
| 156 | +would run only ``qutil.test`` from the ``libtests`` test suite. | |
| 157 | + | |
| 148 | 158 | |
| 149 | 159 | .. _installation: |
| 150 | 160 | ... | ... |
run-qtest
| ... | ... | @@ -58,8 +58,16 @@ while (@ARGV) |
| 58 | 58 | { |
| 59 | 59 | # On Windows, a literal glob in quotes is expanded by the |
| 60 | 60 | # shell, so we have to handle globs when expanded by the |
| 61 | - # shell. | |
| 62 | - push(@tc, shift(@ARGV)); | |
| 61 | + # shell by consuming arguments until the next --. | |
| 62 | + | |
| 63 | + my $t = shift(@ARGV); | |
| 64 | + if (exists $ENV{'TESTS'}) | |
| 65 | + { | |
| 66 | + # No point enabling coverage if we're intentionally | |
| 67 | + # running only a subset of tests. | |
| 68 | + next; | |
| 69 | + } | |
| 70 | + push(@tc, $t); | |
| 63 | 71 | } |
| 64 | 72 | } |
| 65 | 73 | elsif ($arg eq '--env') | ... | ... |