[all-commits] [llvm/llvm-project] 645ad5: [libc++] Generate symlinks in static_test_env on t...

Sergej Jaskiewicz via All-commits all-commits at lists.llvm.org
Tue May 5 15:13:47 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 645ad5badbabdeca31de5c98ea8135c5a6e7d710
      https://github.com/llvm/llvm-project/commit/645ad5badbabdeca31de5c98ea8135c5a6e7d710
  Author: Sergej Jaskiewicz <jaskiewiczs at icloud.com>
  Date:   2020-05-06 (Wed, 06 May 2020)

  Changed paths:
    R libcxx/test/std/input.output/filesystems/Inputs/static_test_env/bad_symlink
    R libcxx/test/std/input.output/filesystems/Inputs/static_test_env/dir1/dir2/symlink_to_dir3
    R libcxx/test/std/input.output/filesystems/Inputs/static_test_env/symlink_to_dir
    R libcxx/test/std/input.output/filesystems/Inputs/static_test_env/symlink_to_empty_file
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/path.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/file_size.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/hard_link_count.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/last_write_time.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/ctor.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/increment.pass.cpp
    M libcxx/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.nonmembers/begin_end.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.canonical/canonical.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.equivalent/equivalent.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.file_size/file_size.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_directory/is_directory.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_empty/is_empty.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_symlink/is_symlink.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.last_write_time/last_write_time.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.relative/relative.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.space/space.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.status/status.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.symlink_status/symlink_status.pass.cpp
    M libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.weakly_canonical/weakly_canonical.pass.cpp
    M libcxx/test/support/filesystem_test_helper.h

  Log Message:
  -----------
  [libc++] Generate symlinks in static_test_env on the fly

Instead of storing static_test_env (with all the symlinks) in the repo,
we create it on the fly to be cross-toolchain-friendly. The primary
use case for this are Windows-hosted cross-toolchains. Windows doesn't
really have a concept of symlinks. So, when the monorepo is cloned,
those symlinks turn to ordinary text files. Previously, if we
cross-compiled libc++ for some symlink-friendly system (e. g. Linux) and
ran tests on the target system, some tests would fail. This patch makes
them pass.

Differential Revision: https://reviews.llvm.org/D78200




More information about the All-commits mailing list