[PATCH] Pretty printer test fixes and improvements

Jonathan Wakely jwakely@redhat.com
Wed Jan 9 10:14:00 GMT 2019


On 09/01/19 11:09 +0100, Christophe Lyon wrote:
>On Wed, 9 Jan 2019 at 00:16, Jonathan Wakely <jwakely@redhat.com> wrote:
>>
>> Test that StdUniquePtrPrinter correctly prints std::unique_ptr objects
>> using the old layout, prior to the PR libstdc++/77990 changes.
>>
>> The printer test for a valueless std::variant started to fail because
>> the PR libstdc++/87431 fix meant it no longer became valueless. Change
>> the test to use a type that is not trivially copyable, so that the
>> exception causes it to become valueless.
>>
>>         * testsuite/libstdc++-prettyprinters/compat.cc: Test printer support
>>         for old std::unique_ptr layout.
>>         * testsuite/libstdc++-prettyprinters/cxx17.cc: Fix std::variant test
>>         to become valueless. Add filesystem::path tests.
>>
>> Tested x86_64-linux, committed to trunk.
>>
>
>Hi Jonathan,
>
>After this patch, I've noticed a new failure on aarch64:
>FAIL: libstdc++-prettyprinters/cxx17.cc print p2
>
>The log contains:
>PASS: libstdc++-prettyprinters/cxx17.cc print p1
>$27 = filesystem::path "/dir/." = {[root-directory] = "/", [1] =
>"dir", [2] = "."}
>got: $27 = filesystem::path "/dir/." = {[root-directory] = "/", [1] =
>"dir", [2] = "."}
>FAIL: libstdc++-prettyprinters/cxx17.cc print p2

Hmm, that's the expected output. I wonder why it fails.

Probably some tcl problem, with { or [ being treated as a special
character.

>Note that a number of cxx17.cc tests already failed on aarch64, and still fail:
>FAIL: libstdc++-prettyprinters/cxx17.cc print p
>FAIL: libstdc++-prettyprinters/cxx17.cc print wp
>FAIL: libstdc++-prettyprinters/cxx17.cc print q
>FAIL: libstdc++-prettyprinters/cxx17.cc print wq

Yes, this is PR 88170.

>I've also noticed that the same test names appear twice, I think this confuses
>test_summary etc...

Yes, I don't know why they run twice (or maybe they just get printed
twice).



More information about the Libstdc++ mailing list