65 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			65 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
Test the exact archive format. In particular, test which file names use the
 | 
						|
string table or not.
 | 
						|
 | 
						|
RUN: mkdir -p %t
 | 
						|
RUN: cd %t
 | 
						|
 | 
						|
RUN: echo -n bar. > 0123456789abcde
 | 
						|
RUN: echo -n zed. > 0123456789abcdef
 | 
						|
RUN: mkdir -p foo
 | 
						|
RUN: echo -n bar2 > foo/0123456789abcde
 | 
						|
RUN: echo -n zed2 > foo/0123456789abcdef
 | 
						|
 | 
						|
RUN: rm -f %t.a
 | 
						|
RUN: llvm-ar --format=gnu rc %t.a 0123456789abcde 0123456789abcdef foo/0123456789abcde foo/0123456789abcdef
 | 
						|
RUN: cat %t.a | FileCheck -strict-whitespace %s
 | 
						|
 | 
						|
CHECK:      !<arch>
 | 
						|
CHECK-NEXT: //                                              36        `
 | 
						|
CHECK-NEXT: 0123456789abcdef/
 | 
						|
CHECK-NEXT: 0123456789abcdef/
 | 
						|
CHECK-NEXT: 0123456789abcde/0           0     0     644     4         `
 | 
						|
CHECK-NEXT: bar.
 | 
						|
CHECK-SAME: /0              0           0     0     644     4         `
 | 
						|
CHECK-NEXT: zed.
 | 
						|
CHECK-SAME: 0123456789abcde/0           0     0     644     4         `
 | 
						|
CHECK-NEXT: bar2
 | 
						|
CHECK-SAME: /18             0           0     0     644     4         `
 | 
						|
CHECK-NEXT: zed2
 | 
						|
 | 
						|
RUN: rm -f %t.a
 | 
						|
RUN: llvm-ar --format=bsd rc %t.a 0123456789abcde 0123456789abcdef
 | 
						|
RUN: cat %t.a | FileCheck -strict-whitespace --check-prefix=BSD %s
 | 
						|
 | 
						|
BSD:      !<arch>
 | 
						|
BSD-NEXT: #1/20           0           0     0     644     24        `
 | 
						|
BSD-NEXT: 0123456789abcde{{.....}}bar.
 | 
						|
BSD-SAME: #1/16           0           0     0     644     20        `
 | 
						|
BSD-NEXT: 0123456789abcdefzed.
 | 
						|
 | 
						|
RUN: rm -f test.a
 | 
						|
RUN: llvm-ar --format=gnu rcT test.a 0123456789abcde 0123456789abcdef
 | 
						|
RUN: cat test.a | FileCheck -strict-whitespace --check-prefix=THIN %s
 | 
						|
THIN: !<thin>
 | 
						|
THIN-NEXT: //                                              36        `
 | 
						|
THIN-NEXT: 0123456789abcde/
 | 
						|
THIN-NEXT: 0123456789abcdef/{{$}}
 | 
						|
THIN: {{^$}}
 | 
						|
THIN: /0              0           0     0     644     4         `
 | 
						|
THIN-NEXT: /17             0           0     0     644     4         `
 | 
						|
 | 
						|
RUN: mkdir -p bar
 | 
						|
RUN: rm -f bar/test.a
 | 
						|
RUN: llvm-ar --format=gnu rcT bar/test.a 0123456789abcde 0123456789abcdef foo/0123456789abcde foo/0123456789abcdef
 | 
						|
RUN: cat bar/test.a | FileCheck -strict-whitespace --check-prefix=THIN-PATH %s
 | 
						|
THIN-PATH: !<thin>
 | 
						|
THIN-PATH-NEXT: //                                              90        `
 | 
						|
THIN-PATH-NEXT: ..{{/|\\}}0123456789abcde/
 | 
						|
THIN-PATH-NEXT: ..{{/|\\}}0123456789abcdef/
 | 
						|
THIN-PATH-NEXT: ..{{/|\\}}foo{{/|\\}}0123456789abcde/
 | 
						|
THIN-PATH-NEXT: ..{{/|\\}}foo{{/|\\}}0123456789abcdef/
 | 
						|
THIN-PATH-NEXT: /0              0           0     0     644     4         `
 | 
						|
THIN-PATH-NEXT: /20             0           0     0     644     4         `
 | 
						|
THIN-PATH-NEXT: /41             0           0     0     644     4         `
 | 
						|
THIN-PATH-NEXT: /65             0           0     0     644     4         `
 |