Skip to content

Hidden tags specified as "[.foo]" aren't matched #1798

@echuber2

Description

@echuber2

Sorry, I hit "enter" and submitted this one too soon. Edited:

Describe the bug
If you have a test case that had a hidden tag specified as [.foo], in the past, you could specify it on the executable as in:

./program [.foo]

However, now it reports no matching test. Other forms of specifying the tag do work, such as:

./program [.]
./program [foo]

In much older versions, I think the last one here actually hadn't worked, though.

Expected behavior
./program [.foo] should launch the hidden [.foo] (or [.][foo]) test case, as in some previous versions of Catch.

Reproduction steps
Using catch.hpp v2.10.2.
Create foo.cpp:

#define CATCH_CONFIG_MAIN

#include "catch.hpp"

TEST_CASE("Test", "[.foo]") {

  REQUIRE(true);

}

Compiling and testing:

$ g++ --std=c++11 foo.cpp -o foo
$ ls
catch.hpp  foo  foo.cpp
$ ./foo
===============================================================================
No tests ran

$ ./foo [.]
Filters: [.]
===============================================================================
All tests passed (1 assertion in 1 test case)

$ ./foo [foo]
Filters: [foo]
===============================================================================
All tests passed (1 assertion in 1 test case)

$ ./foo [.foo]
Filters: [.foo]
No test cases matched '[.foo]'
===============================================================================
No tests ran

Platform information:

  • OS: Linux
  • Compiler+version: g++ 5.4.0 and/or 7.2, clang 3.8
  • Catch version: v2.10.2

Used to work as expected in Catch version v2.2.3.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions