Re-running library tests

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

Re-running library tests

Boost - Build mailing list
Hi,

TL;TR: How can I re-run a library test(s) if test source/target are up-to-date?

It has been a long time since I fiddled with Boost.Build last time
and I'm re-discovering things, so may be missing something obvious.

I run array tests:

cd D:\dev\boost\boost\libs\array\test
b2 -q

and all tests build and pass.
I want to run the tests again. but all I get is this:

b2 -q
..\..\..\libs\log\build\Jamfile.v2:45: Unescaped special character in
argument <define>$(flag)=1
D:/dev/boost/boost/libs/predef/check/../tools/check\predef.jam:46:
Unescaped special character in argument $(language)::$(expression)
Performing configuration checks

    - default address-model    : 32-bit (cached)
    - default architecture     : x86 (cached)
    - symlinks supported       : yes (cached)
    - BOOST_COMP_GNUC >= 4.3.0 : no  (cached)
...patience...
...found 2296 targets...


Refreshing my memory about options:

b2 --help-options
  -tx; Rebuild the target 'x', even if it is up-to-date.

b2 --dump-tests
..\..\..\libs\log\build\Jamfile.v2:45: Unescaped special character in
argument <define>$(flag)=1
D:/dev/boost/boost/libs/predef/check/../tools/check\predef.jam:46:
Unescaped special character in argument $(language)::$(expression)
Performing configuration checks

    - default address-model    : 32-bit (cached)
    - default architecture     : x86 (cached)
    - symlinks supported       : yes (cached)
    - BOOST_COMP_GNUC >= 4.3.0 : no  (cached)
boost-test(RUN) "array/array0" : "libs/array/test/array0.cpp"
boost-test(RUN) "array/array1" : "libs/array/test/array1.cpp"
boost-test(RUN) "array/array2" : "libs/array/test/array2.cpp"
boost-test(RUN) "array/array3" : "libs/array/test/array3.cpp"
boost-test(RUN) "array/array4" : "libs/array/test/array4.cpp"
boost-test(RUN) "array/array5" : "libs/array/test/array5.cpp"
boost-test(RUN) "array/array6" : "libs/array/test/array6.cpp"
boost-test(RUN) "array/array7" : "libs/array/test/array7.cpp"
boost-test(COMPILE_FAIL) "array/array_getfail1" :
"libs/array/test/array_getfail1.cpp"
boost-test(COMPILE_FAIL) "array/array_getfail2" :
"libs/array/test/array_getfail2.cpp"
boost-test(RUN) "array/array_hash" : "libs/array/test/array_hash.cpp"
...patience...
...found 2296 targets...


Trying out:

b2 -tarray0
b2 -tarray0.test
b2 -tarray

No tests re-run.

as well as variety of "may be a target" variety, hopelessly

b2 -tarray.test
b2 test-suite
b2 unit-test
b2 test
b2 run

No such targets found, no tests re-run.

Could anyone teach me how to re-run test(s) which target is up-to-date?

Best regards,
--
Mateusz Loskot, http://mateusz.loskot.net
_______________________________________________
Unsubscribe & other changes: https://lists.boost.org/mailman/listinfo.cgi/boost-build
Reply | Threaded
Open this post in threaded view
|

Re: Re-running library tests

Boost - Build mailing list
AMDG

On 03/09/2018 12:07 PM, Mateusz Loskot via Boost-build wrote:
>
> TL;TR: How can I re-run a library test(s) if test source/target are up-to-date?
>
> It has been a long time since I fiddled with Boost.Build last time
> and I'm re-discovering things, so may be missing something obvious.
>

I find it easiest to touch the source or use -a (rebuild all).

> I run array tests:
>
> cd D:\dev\boost\boost\libs\array\test
> b2 -q
>
> and all tests build and pass.
> I want to run the tests again. but all I get is this:
>
> b2 -q
> ..\..\..\libs\log\build\Jamfile.v2:45: Unescaped special character in
> argument <define>$(flag)=1
> D:/dev/boost/boost/libs/predef/check/../tools/check\predef.jam:46:
> Unescaped special character in argument $(language)::$(expression)
> Performing configuration checks
>
>     - default address-model    : 32-bit (cached)
>     - default architecture     : x86 (cached)
>     - symlinks supported       : yes (cached)
>     - BOOST_COMP_GNUC >= 4.3.0 : no  (cached)
> ...patience...
> ...found 2296 targets...
>
>
> Refreshing my memory about options:
>
> b2 --help-options
>   -tx; Rebuild the target 'x', even if it is up-to-date.
>

Unfortunately -t refers to the internal Jam target name,
and is not very useful for Boost.Build.

In Christ,
Steven Watanabe
_______________________________________________
Unsubscribe & other changes: https://lists.boost.org/mailman/listinfo.cgi/boost-build
Reply | Threaded
Open this post in threaded view
|

Re: Re-running library tests

Boost - Build mailing list
On 9 March 2018 at 20:18, Steven Watanabe via Boost-build
<[hidden email]> wrote:
> On 03/09/2018 12:07 PM, Mateusz Loskot via Boost-build wrote:
>>
>> TL;TR: How can I re-run a library test(s) if test source/target are up-to-date?
>>
>> It has been a long time since I fiddled with Boost.Build last time
>> and I'm re-discovering things, so may be missing something obvious.
>
> I find it easiest to touch the source or use -a (rebuild all).

Pity, I was hoping to avoid compilation/link phase.

Thanks anyway.

Best regards,
--
Mateusz Loskot, http://mateusz.loskot.net
_______________________________________________
Unsubscribe & other changes: https://lists.boost.org/mailman/listinfo.cgi/boost-build
Reply | Threaded
Open this post in threaded view
|

Re: Re-running library tests

Boost - Build mailing list
AMDG

On 03/09/2018 12:32 PM, Mateusz Loskot via Boost-build wrote:

> On 9 March 2018 at 20:18, Steven Watanabe via Boost-build
> <[hidden email]> wrote:
>> On 03/09/2018 12:07 PM, Mateusz Loskot via Boost-build wrote:
>>>
>>> TL;TR: How can I re-run a library test(s) if test source/target are up-to-date?
>>>
>>> It has been a long time since I fiddled with Boost.Build last time
>>> and I'm re-discovering things, so may be missing something obvious.
>>
>> I find it easiest to touch the source or use -a (rebuild all).
>
> Pity, I was hoping to avoid compilation/link phase.
>

  Even if there were a way to do this, it would
rebuild a main-target as a unit (including compile and
link)  It's technically possible to use -t if you
can figure out the right incantation, but I don't
recommend it.

Maybe:
find bin.v2/libs/array/test/ -executable -exec touch '{}' ';'

In Christ,
Steven Watanabe
_______________________________________________
Unsubscribe & other changes: https://lists.boost.org/mailman/listinfo.cgi/boost-build
Reply | Threaded
Open this post in threaded view
|

Re: Re-running library tests

Boost - Build mailing list
On 03/09/2018 09:45 PM, Steven Watanabe via Boost-build wrote:
>>> I find it easiest to touch the source or use -a (rebuild all).
>>
>> Pity, I was hoping to avoid compilation/link phase.
>>
>
>    Even if there were a way to do this, it would
> rebuild a main-target as a unit (including compile and
> link)

Create some dumb make (make rule or something like that, I don't
remember) target that never produce output and make test <dependency> on
that target?
_______________________________________________
Unsubscribe & other changes: https://lists.boost.org/mailman/listinfo.cgi/boost-build
Reply | Threaded
Open this post in threaded view
|

Re: Re-running library tests

Boost - Build mailing list
On 03/09/2018 10:34 PM, Konstantin Litvinenko wrote:

> On 03/09/2018 09:45 PM, Steven Watanabe via Boost-build wrote:
>>>> I find it easiest to touch the source or use -a (rebuild all).
>>>
>>> Pity, I was hoping to avoid compilation/link phase.
>>>
>>
>>    Even if there were a way to do this, it would
>> rebuild a main-target as a unit (including compile and
>> link)
>
> Create some dumb make (make rule or something like that, I don't
> remember) target that never produce output and make test <dependency> on
> that target?

Ups, wrong button, should reply to group. Sorry.
_______________________________________________
Unsubscribe & other changes: https://lists.boost.org/mailman/listinfo.cgi/boost-build
Reply | Threaded
Open this post in threaded view
|

Re: Re-running library tests

Boost - Build mailing list
In reply to this post by Boost - Build mailing list
On 9 March 2018 at 21:34, Konstantin Litvinenko via Boost-build
<[hidden email]> wrote:

> On 03/09/2018 09:45 PM, Steven Watanabe via Boost-build wrote:
>>>>
>>>> I find it easiest to touch the source or use -a (rebuild all).
>>>
>>>
>>> Pity, I was hoping to avoid compilation/link phase.
>>>
>>
>>    Even if there were a way to do this, it would
>> rebuild a main-target as a unit (including compile and
>> link)
>
>
> Create some dumb make (make rule or something like that, I don't remember)
> target that never produce output and make test <dependency> on that target?

Thanks for the top.
From my POV, it's going to be quicker to add CMake configuration
for the library I'm working on, so the build behaves as I expect,
than fiddle with Boost.Build.

Best regards,
--
Mateusz Loskot, http://mateusz.loskot.net
_______________________________________________
Unsubscribe & other changes: https://lists.boost.org/mailman/listinfo.cgi/boost-build