[contract] differentiate regressions with libc++

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

[contract] differentiate regressions with libc++

Boost - Dev mailing list
Hello all,

Another question on the regression tests. How am I supposed to
differentiate GCC 6.0 between
CrystaX-apilevel-19-armeabi-v7a-gnu-libstdc++ and
CrystaX-apilevel-19-armeabi-v7a-hard-llvm-libc++?
http://www.boost.org/development/tests/develop/developer/contract.html

They both use the same toolset name "gcc-gnu-6", but when libc++ is
used instead of libstdc++ Boost.Contract tests give these linker
errors:

../boost/smart_ptr/detail/sp_counted_impl.hpp:146: error: undefined
reference to 'operator delete(void*, unsigned int)'
/home/cislave/.crystax/ci-boost/regression/android-19-armeabi-v7a-hard-llvm-develop/tmp/crystax-ndk-10.3.2/sources/cxx-stl/llvm-libc++/3.6/libcxx/include/sstream:189:
error: undefined reference to 'operator delete(void*, unsigned int)'
../boost/iostreams/detail/streambuf/indirect_streambuf.hpp:50: error:
undefined reference to 'operator delete(void*, unsigned int)'
/home/cislave/.crystax/ci-boost/regression/android-19-armeabi-v7a-hard-llvm-develop/tmp/crystax-ndk-10.3.2/sources/cxx-stl/llvm-libc++/3.6/libcxx/include/sstream:740:
error: undefined reference to 'operator delete(void*, unsigned int)'
collect2: error: ld returned 1 exit status

I wanted to mark the link errors for libc++ as expected failures while
leaving libstdc++ unmarked (because there are no link errors for
libstdc++). However, I don't know how to do that because the toolset
name is the same "gcc-gnu-6" for both runs with libstdc++ (column 6)
and with libc++ (column 10).

Should the toolset names be unique instead? For example, should names
like gcc-gnu-6~libstdc++ and gcc-gnu-6~libc++ have been used in this
case instead of using just gcc-gnu-6 for both runs?

Thank you.
--Lorenzo

_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Reply | Threaded
Open this post in threaded view
|

Re: [contract] differentiate regressions with libc++

Boost - Dev mailing list
On Sat, Oct 28, 2017 at 8:37 PM, Lorenzo Caminiti <[hidden email]> wrote:
>
> Another question on the regression tests. How am I supposed to
> differentiate GCC 6.0 between
> CrystaX-apilevel-19-armeabi-v7a-gnu-libstdc++ and
> CrystaX-apilevel-19-armeabi-v7a-hard-llvm-libc++?
> http://www.boost.org/development/tests/develop/developer/contract.html

I was looking at the run.py script that generates these regression tests:

  /home/cislave/.crystax/ci-boost/regression/android-21-armeabi-v7a-llvm-develop/test/develop/regression/armeabi-v7a/test/run.py
\
  --platform=Android --tag=develop                                             \
  --runner=CrystaX-apilevel-21-armeabi-v7a-llvm-libc++                         \
  --toolsets=gcc-4.9,gcc-5,gcc-6,clang-3.6,clang-3.7,clang-3.8 collect-logs

It'd work for my issue if I could reference not just the toolset but
also to the runner name in explicit-failure-markup.xml. Can I do
something like this in that file?

        <mark-unusable>
            <runner
name="CrystaX-apilevel-21-armeabi-v7a-llvm-libc++"/>             ***
can I do this in explicit-failure-markup.xml? ***
            <toolset name="gcc-6"/>
            <note author="Lorenzo Caminiti">
                Linker errors for libc++, use libstdc++ instead.
            </note>
        </mark-unusable>

Thanks,
--Lorenzo

_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost