Subject: Re: [Boost-bugs] [Boost C++ Libraries] #12531: --run_test in Boost 1.62 does not accept test names which contain ':'
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2016-10-20 16:20:36
#12531: --run_test in Boost 1.62 does not accept test names which contain ':'
----------------------------------------------+------------------------
Reporter: Igor Akhmetov <igor.akhmetov@â¦> | Owner: renficiaud
Type: Bugs | Status: assigned
Milestone: To Be Determined | Component: test
Version: Boost 1.62.0 | Severity: Problem
Resolution: | Keywords:
----------------------------------------------+------------------------
Comment (by Igor Akhmetov <igor.akhmetov@â¦>):
Looks like spaces actually do get replaced with underscores in
boost::unit_test::ut_detail::normalize_test_case_name, but my point still
stands for quotes. The problem is that boost::unit_test::make_test_case
only sanitizes spaces from test names, so this means that a name can still
be a pretty arbitrary string for tests manually added from init_unit_test.
Using quotes like that won't really help, since cmd.exe will eat them
away. So e.g. when the test binary is run with
{{{
--run_test="ns::X":"ns::Y"
}}}
the actual argument in argv will be "--run_test=ns::X:ns::Y". Escaping
quotes to get them passed to main would be somewhat ugly and would require
more complicated parsing.
Any form of sanitizing would really work, so long as it's possible to take
a test name reported by --list_content and pass it to -t. Given that
spaces are already replaced, I don't see why replacing colons with
underscores is a bad idea?
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/12531#comment:7> Boost C++ Libraries <http://www.boost.org/> Boost provides free peer-reviewed portable C++ source libraries.
This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:20 UTC