xref: /llvm-project/llvm/test/tools/llvm-ranlib/error-opening-permission.test (revision 05216544a34eaf7aabf45df5f64d1c6c3e4e06c6)
1aa173573SFangrui Song## Unsupported on windows as marking files "unreadable" is non-trivial on windows.
2aa173573SFangrui Song# UNSUPPORTED: system-windows
3*05216544STom Stellard# REQUIRES: non-root-user
4aa173573SFangrui Song
5aa173573SFangrui Song# RUN: rm -rf %t && split-file %s %t && cd %t
6aa173573SFangrui Song# RUN: yaml2obj 1.yaml -o 1.o
7aa173573SFangrui Song# RUN: llvm-ar rcS a.a 1.o
8aa173573SFangrui Song# RUN: cp a.a b.a && cp a.a c.a && cp a.a d.a
9aa173573SFangrui Song# RUN: chmod 100 c.a
10aa173573SFangrui Song# RUN: not llvm-ranlib a.a b.a c.a d.a 2>&1 | FileCheck %s --check-prefix=NO-PERMISSION -DMSG=%errc_EACCES
11aa173573SFangrui Song
12aa173573SFangrui Song# NO-PERMISSION:     error: unable to open 'c.a': [[MSG]]
13aa173573SFangrui Song# NO-PERMISSION-NOT: {{.}}
14aa173573SFangrui Song
15aa173573SFangrui Song## The archives before c.a (a.a and b.a) have been processed.
16aa173573SFangrui Song# RUN: llvm-nm --print-armap a.a | FileCheck %s
17aa173573SFangrui Song# RUN: cmp a.a b.a
18aa173573SFangrui Song## The others (c.a and d.a) do not have a symbol table.
19aa173573SFangrui Song# RUN: chmod 700 c.a
20aa173573SFangrui Song# RUN: llvm-nm --print-armap c.a | FileCheck %s --check-prefix=NOMAP
21aa173573SFangrui Song# RUN: cmp c.a d.a
22aa173573SFangrui Song
23aa173573SFangrui Song# CHECK:      Archive map
24aa173573SFangrui Song# CHECK-NEXT: foo in 1.o
25aa173573SFangrui Song# CHECK-EMPTY:
26aa173573SFangrui Song
27aa173573SFangrui Song# NOMAP-NOT: Archive map
28aa173573SFangrui Song
29aa173573SFangrui Song#--- 1.yaml
30aa173573SFangrui Song--- !ELF
31aa173573SFangrui SongFileHeader:
32aa173573SFangrui Song  Class:   ELFCLASS64
33aa173573SFangrui Song  Data:    ELFDATA2LSB
34aa173573SFangrui Song  Type:    ET_REL
35aa173573SFangrui Song  Machine: EM_X86_64
36aa173573SFangrui SongSections:
37aa173573SFangrui Song  - Name: .text
38aa173573SFangrui Song    Type: SHT_PROGBITS
39aa173573SFangrui SongSymbols:
40aa173573SFangrui Song  - Name:    foo
41aa173573SFangrui Song    Binding: STB_GLOBAL
42aa173573SFangrui Song    Section: .text
43