mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-22 02:33:06 +01:00
[test] Split strip-preserve-time.test, and skip atime test on NetBSD
Split timestamp preservation tests into atime and mtime test, and skip the former on NetBSD. When the filesystem is mounted noatime, NetBSD not only inhibits implicit atime updates but also prevents setting atime via utime(), causing the test to fail. Differential Revision: https://reviews.llvm.org/D55271 llvm-svn: 348354
This commit is contained in:
parent
573fb67bcf
commit
0bfed1c1a6
@ -1,40 +1,34 @@
|
||||
# Note: ls -lu prints the accessed timestamp, ls -l prints the modified timestamp
|
||||
# Note: ls -lu prints the accessed timestamp
|
||||
# NetBSD: noatime mounts currently inhibit 'touch -a' updates
|
||||
# UNSUPPORTED: system-netbsd
|
||||
|
||||
# Preserve dates when stripping to an output file.
|
||||
# RUN: yaml2obj %s > %t.1.o
|
||||
# RUN: touch -a -t 199505050555.55 %t.1.o
|
||||
# RUN: touch -m -t 199705050555.55 %t.1.o
|
||||
# RUN: llvm-strip -p %t.1.o -o %t-preserved.1.o
|
||||
# RUN: ls -lu %t-preserved.1.o | FileCheck %s --check-prefix=CHECK-PRESERVE-ATIME
|
||||
# RUN: ls -l %t-preserved.1.o | FileCheck %s --check-prefix=CHECK-PRESERVE-MTIME
|
||||
# Check that the stripped output is in fact a valid object file.
|
||||
# RUN: llvm-readobj %t-preserved.1.o
|
||||
|
||||
# Preserve dates available via objcopy interface as well.
|
||||
# RUN: yaml2obj %s > %t.2.o
|
||||
# RUN: touch -a -t 199505050555.55 %t.2.o
|
||||
# RUN: touch -m -t 199705050555.55 %t.2.o
|
||||
# RUN: llvm-objcopy -p %t.2.o %t-preserved.2.o
|
||||
# RUN: ls -lu %t-preserved.2.o | FileCheck %s --check-prefix=CHECK-PRESERVE-ATIME
|
||||
# RUN: ls -l %t-preserved.2.o | FileCheck %s --check-prefix=CHECK-PRESERVE-MTIME
|
||||
# RUN: llvm-readobj %t-preserved.2.o
|
||||
|
||||
# Preserve dates when stripping in place.
|
||||
# RUN: yaml2obj %s > %t.3.o
|
||||
# RUN: touch -a -t 199505050555.55 %t.3.o
|
||||
# RUN: touch -m -t 199705050555.55 %t.3.o
|
||||
# RUN: llvm-strip -p %t.3.o
|
||||
# RUN: ls -lu %t.3.o | FileCheck %s --check-prefix=CHECK-PRESERVE-ATIME
|
||||
# RUN: ls -l %t.3.o | FileCheck %s --check-prefix=CHECK-PRESERVE-MTIME
|
||||
# RUN: llvm-readobj %t.3.o
|
||||
|
||||
# Without -p set, don't preserve dates.
|
||||
# RUN: yaml2obj %s > %t.4.o
|
||||
# RUN: touch -a -t 199505050555.55 %t.4.o
|
||||
# RUN: touch -m -t 199705050555.55 %t.4.o
|
||||
# RUN: llvm-strip %t.4.o
|
||||
# RUN: ls -lu %t.4.o | FileCheck %s --check-prefix=CHECK-NO-PRESERVE-ATIME
|
||||
# RUN: ls -l %t.4.o | FileCheck %s --check-prefix=CHECK-NO-PRESERVE-MTIME
|
||||
# RUN: llvm-readobj %t.4.o
|
||||
|
||||
# Preserve dates in archives.
|
||||
@ -42,29 +36,21 @@
|
||||
# RUN: rm -f %t.a
|
||||
# RUN: llvm-ar cr %t.a %t.5.o
|
||||
# RUN: touch -a -t 199505050555.55 %t.a
|
||||
# RUN: touch -m -t 199705050555.55 %t.a
|
||||
# RUN: llvm-strip -p %t.a
|
||||
# RUN: ls -lu %t.a | FileCheck %s --check-prefix=CHECK-PRESERVE-ATIME
|
||||
# RUN: ls -l %t.a | FileCheck %s --check-prefix=CHECK-PRESERVE-MTIME
|
||||
# RUN: llvm-readobj %t.a
|
||||
|
||||
# Preserve dates in split DWO files.
|
||||
# RUN: cp %p/Inputs/dwarf.dwo %t-input.dwo
|
||||
# RUN: touch -a -t 199505050555.55 %t-input.dwo
|
||||
# RUN: touch -m -t 199705050555.55 %t-input.dwo
|
||||
# RUN: llvm-objcopy -p -split-dwo=%t-dwo %t-input.dwo %t-nondwo
|
||||
# RUN: ls -lu %t-dwo | FileCheck %s --check-prefix=CHECK-PRESERVE-ATIME
|
||||
# RUN: ls -l %t-dwo | FileCheck %s --check-prefix=CHECK-PRESERVE-MTIME
|
||||
# RUN: llvm-readobj %t-dwo
|
||||
# RUN: ls -lu %t-nondwo | FileCheck %s --check-prefix=CHECK-PRESERVE-ATIME
|
||||
# RUN: ls -l %t-nondwo | FileCheck %s --check-prefix=CHECK-PRESERVE-MTIME
|
||||
# RUN: llvm-readobj %t-nondwo
|
||||
|
||||
# CHECK-PRESERVE-ATIME: {{[[:space:]]1995}}
|
||||
# CHECK-PRESERVE-MTIME: {{[[:space:]]1997}}
|
||||
|
||||
# CHECK-NO-PRESERVE-ATIME-NOT: {{[[:space:]]1995}}
|
||||
# CHECK-NO-PRESERVE-MTIME-NOT: {{[[:space:]]1997}}
|
||||
|
||||
!ELF
|
||||
FileHeader:
|
62
test/tools/llvm-objcopy/ELF/strip-preserve-mtime.test
Normal file
62
test/tools/llvm-objcopy/ELF/strip-preserve-mtime.test
Normal file
@ -0,0 +1,62 @@
|
||||
# Note: ls -l prints the modified timestamp
|
||||
|
||||
# Preserve dates when stripping to an output file.
|
||||
# RUN: yaml2obj %s > %t.1.o
|
||||
# RUN: touch -m -t 199705050555.55 %t.1.o
|
||||
# RUN: llvm-strip -p %t.1.o -o %t-preserved.1.o
|
||||
# RUN: ls -l %t-preserved.1.o | FileCheck %s --check-prefix=CHECK-PRESERVE-MTIME
|
||||
# Check that the stripped output is in fact a valid object file.
|
||||
# RUN: llvm-readobj %t-preserved.1.o
|
||||
|
||||
# Preserve dates available via objcopy interface as well.
|
||||
# RUN: yaml2obj %s > %t.2.o
|
||||
# RUN: touch -m -t 199705050555.55 %t.2.o
|
||||
# RUN: llvm-objcopy -p %t.2.o %t-preserved.2.o
|
||||
# RUN: ls -l %t-preserved.2.o | FileCheck %s --check-prefix=CHECK-PRESERVE-MTIME
|
||||
# RUN: llvm-readobj %t-preserved.2.o
|
||||
|
||||
# Preserve dates when stripping in place.
|
||||
# RUN: yaml2obj %s > %t.3.o
|
||||
# RUN: touch -m -t 199705050555.55 %t.3.o
|
||||
# RUN: llvm-strip -p %t.3.o
|
||||
# RUN: ls -l %t.3.o | FileCheck %s --check-prefix=CHECK-PRESERVE-MTIME
|
||||
# RUN: llvm-readobj %t.3.o
|
||||
|
||||
# Without -p set, don't preserve dates.
|
||||
# RUN: yaml2obj %s > %t.4.o
|
||||
# RUN: touch -m -t 199705050555.55 %t.4.o
|
||||
# RUN: llvm-strip %t.4.o
|
||||
# RUN: ls -l %t.4.o | FileCheck %s --check-prefix=CHECK-NO-PRESERVE-MTIME
|
||||
# RUN: llvm-readobj %t.4.o
|
||||
|
||||
# Preserve dates in archives.
|
||||
# RUN: yaml2obj %s > %t.5.o
|
||||
# RUN: rm -f %t.a
|
||||
# RUN: llvm-ar cr %t.a %t.5.o
|
||||
# RUN: touch -m -t 199705050555.55 %t.a
|
||||
# RUN: llvm-strip -p %t.a
|
||||
# RUN: ls -l %t.a | FileCheck %s --check-prefix=CHECK-PRESERVE-MTIME
|
||||
# RUN: llvm-readobj %t.a
|
||||
|
||||
# Preserve dates in split DWO files.
|
||||
# RUN: cp %p/Inputs/dwarf.dwo %t-input.dwo
|
||||
# RUN: touch -m -t 199705050555.55 %t-input.dwo
|
||||
# RUN: llvm-objcopy -p -split-dwo=%t-dwo %t-input.dwo %t-nondwo
|
||||
# RUN: ls -l %t-dwo | FileCheck %s --check-prefix=CHECK-PRESERVE-MTIME
|
||||
# RUN: llvm-readobj %t-dwo
|
||||
# RUN: ls -l %t-nondwo | FileCheck %s --check-prefix=CHECK-PRESERVE-MTIME
|
||||
# RUN: llvm-readobj %t-nondwo
|
||||
|
||||
# CHECK-PRESERVE-MTIME: {{[[:space:]]1997}}
|
||||
# CHECK-NO-PRESERVE-MTIME-NOT: {{[[:space:]]1997}}
|
||||
|
||||
!ELF
|
||||
FileHeader:
|
||||
Class: ELFCLASS64
|
||||
Data: ELFDATA2LSB
|
||||
Type: ET_REL
|
||||
Machine: EM_X86_64
|
||||
Sections:
|
||||
- Name: .text
|
||||
Type: SHT_PROGBITS
|
||||
Flags: [ SHF_ALLOC, SHF_EXECINSTR ]
|
@ -59,6 +59,8 @@ class LLVMConfig(object):
|
||||
features.add('system-linux')
|
||||
elif platform.system() in ['FreeBSD']:
|
||||
config.available_features.add('system-freebsd')
|
||||
elif platform.system() == "NetBSD":
|
||||
features.add('system-netbsd')
|
||||
|
||||
# Native compilation: host arch == default triple arch
|
||||
# Both of these values should probably be in every site config (e.g. as
|
||||
@ -490,4 +492,4 @@ class LLVMConfig(object):
|
||||
if wasm_ld:
|
||||
tool_substitutions.append(ToolSubst('wasm-ld', command=wasm_ld))
|
||||
self.add_tool_substitutions(tool_substitutions)
|
||||
return was_found
|
||||
return was_found
|
||||
|
Loading…
Reference in New Issue
Block a user