Skip to content
  • Nat Goodspeed's avatar
    Update build-cmd.sh for more nuanced test builds. · f0986966
    Nat Goodspeed authored
    Encapsulate increasingly sophisticated boilerplate around running library unit
    tests, which we'd been manually synchronizing for three platforms, in a new
    run_tests shell function.
    
    Some Boost libraries have multiple libs/$library/test subdirectories with
    Jamfiles. On encountering those, we used to emit a warning and skip them
    entirely. I was shocked to see that warning for several different libraries in
    a local build: I'd had no idea we weren't running those tests. Rework
    run_tests logic to loop over every libs/$library/test subdirectory with a
    Jamfile.
    
    In fact, rework test logic to generate the list of test subdirectories
    *first*, piping them to the run_tests script, which reads from its stdin. This
    allows the calling logic to use grep -v to eliminate specific problem test
    subdirectories, a finer granularity than skipping all tests for that library.
    (It also allows temporary local edits to engage run_tests for some specific
    test subdirectory while iterating on a failure.)
    
    Eliminate suppress_tests shell function: we now have a more straightforward
    way of bypassing certain specific libraries or tests within libraries.
    
    Introduce sep shell function to produce a separator line within build log
    output to help find particular passages.
    
    Replace deprecated Boost.Coroutine with Boost.Coroutine2.
    f0986966