Skip to content

Commit 31cb7d9

Browse files
authored
Merge pull request #2288 from RossBrunton/ross/condocs
[NFC] Update documentation to detail match files
2 parents 111182a + ee30286 commit 31cb7d9

File tree

1 file changed

+34
-0
lines changed

1 file changed

+34
-0
lines changed

scripts/core/CONTRIB.rst

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -367,6 +367,40 @@ the following command from the build directory.
367367
368368
ctest -L "conformance"
369369
370+
Conformance Match Files
371+
-----------------------
372+
373+
At the moment, not all tests currently pass with all adapters. Some tests are
374+
selectively marked as failing on certain adapters using a .match file located
375+
at ``test/conformance/<component>/<component>_adapter_<adapter>.match``. If
376+
that file exists, then it must contain a list of test specifiers which
377+
specify tests that fail for the given adapter.
378+
379+
when run through ``ctest``, each failing test will be ran in a separate
380+
invocation (to capture any crashes) to verify that they are still failing. All
381+
tests not matched by the filters will also be ran in a single invocation which
382+
must succeed.
383+
384+
This behaviour can be disabled by setting the environment variable
385+
``GTEST_OUTPUT``. If this is set, the test runner assumes it is being ran to
386+
collect testing statistics, and just runs the test suite with no filters.
387+
388+
The format of the match files are as follows:
389+
390+
* Each line consists of the name of a test as understood by gtest. This is the
391+
name printed next to ``[ RUN ]`` in the test log.
392+
* ``*`` is a wildcard that matches any number of characters in a test name. ``?``
393+
matches a single character.
394+
* Empty lines or lines beginning with ``#`` are ignored.
395+
* A line beginning with ``{{OPT}}`` is a optional test; see below.
396+
* For compatibility with an older version of the matching logic, ``{{.*}}`` is
397+
interpreted as ``*`` and ``{{NONDETERMINISTIC}}`` is ignored.
398+
399+
Normally tests in the match file must fail (either by crashing or having a test
400+
failure) for the given adapter. However this can be disabled by prepending
401+
``{{OPT}}`` to the match line. This can be used if the test is flaky or
402+
depends on a particular environment.
403+
370404
Experimental Features
371405
=====================
372406

0 commit comments

Comments
 (0)