Re: [Boost-bugs] [Boost C++ Libraries] #12531: --run_test in Boost 1.62 does not accept test names which contain ':'

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