1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 19:23:23 +01:00
llvm-mirror/test/tools/llvm-ar/windows-path.test
Owen Reynolds dc9ffeae80 [llvm-ar] Accept file paths with windows format slashes
The internal representation of llvm-ar archives uses linux style slashes
for paths, no matter the OS. In the case of windows this meant file
paths input intending to match existing members would only match if
linux style slashes where used. This change allows either slash
direction to be input by the user.

This change includes removing an unnecessary call to normalisePath and
moving the call of another.

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

llvm-svn: 368573
2019-08-12 14:00:28 +00:00

45 lines
1.5 KiB
Plaintext

# Test that windows path seperators are handled correctly.
REQUIRES: system-windows
# Note: many of these tests depend on relative paths, so we have to cd to a
# test directory first.
RUN: mkdir -p %t && cd %t
RUN: rm -rf a b && mkdir a b
RUN: echo hello-a > a/foo.txt
RUN: echo hello-b > b/foo.txt
RUN: echo hello-parent > foo.txt
# P is implied when using thin archives.
# Create an archive.
RUN: rm -f archive.a
RUN: llvm-ar rcST archive.a a\..\a\foo.txt
RUN: llvm-ar rcST archive.a foo.txt
RUN: llvm-ar rcST archive.a b\foo.txt b/foo.txt
RUN: llvm-ar dT archive.a foo.txt
RUN: llvm-ar t archive.a | FileCheck %s --check-prefix=ARCHIVE --implicit-check-not {{.}}
ARCHIVE: a/foo.txt
ARCHIVE-NEXT: b/foo.txt
ARCHIVE-NEXT: b/foo.txt
RUN: llvm-ar t archive.a | FileCheck %s --check-prefix=LIST-BOTH --implicit-check-not {{.}}
RUN: llvm-ar t archive.a a\foo.txt | FileCheck %s --check-prefix=LIST-A --implicit-check-not {{.}}
RUN: llvm-ar t archive.a b\foo.txt | FileCheck %s --check-prefix=LIST-B --implicit-check-not {{.}}
LIST-BOTH: a/foo.txt
LIST-BOTH-NEXT: b/foo.txt
LIST-BOTH-NEXT: b/foo.txt
LIST-A: a/foo.txt
LIST-B: b/foo.txt
# Nesting a thin archive with a name conflict.
RUN: rm -f a\nested.a b\nested.a nested.a
RUN: llvm-ar rcST a\nested.a a\foo.txt
RUN: llvm-ar rcST b\nested.a b\foo.txt
RUN: llvm-ar rcST nested.a a\nested.a foo.txt b\nested.a
RUN: llvm-ar t nested.a | FileCheck %s --check-prefix=NESTED --implicit-check-not {{.}}
NESTED: a/foo.txt
NESTED-NEXT: foo.txt
NESTED-NEXT: b/foo.txt