[patch] libstdc++/67173 Fix filesystem::canonical for Solaris 10.

Martin Sebor msebor@gmail.com
Wed Sep 16 22:04:00 GMT 2015


> Tested powerpc64le-linux, x86_64-dragonfly4.1 and x86_64-netbsd5.1,
> do you see any reason not to commit this for now?

I see only a couple of potential problems: a missing test for
PATH_MAX in the unlikely event it's not defined (or is obscenely
large), and a missing check to avoid infinite loops due to symlinks.

>
> Any improvements such as hardcoding checks for specific versions of
> Solaris or the BSDs are QoI, and this is only an experimental TS, so I
> don't want to spend the rest of stage 1 working on one function :-)

Makes sense.

> My main obstacle to writing good tests right now is having some way to
> create and destroy files safely in the tests. It's hard to test
> functions like is_symlink() without first creating a symlink in a
> known location, and also removing it again cleanly so the next
> testsuite run doesn't fail if the file is already present.
>
> One option would be to have libstdc++-v3/testsuite/Makefile create a
> new sub-directory as a sandbox for filesystem tests, removing it if it
> already exists. Then the tests can put anything they like in that new
> dir without fear of trashing the user's files elsewhere on the FS!

I don't know how you feel about Tcl but writing a filesystem.exp
and adding a new "dg-fs" API would let each test can set up the
directory structure it needs.

Martin



More information about the Libstdc++ mailing list