llvm-project

Форк
0
/
timestamp.test 
45 строк · 2.8 Кб
1
rm %t.*.exe
2
RUN: yaml2obj %p/Inputs/generic.yaml -o %t.obj
3
RUN: lld-link %t.obj /debug /Brepro /entry:main /nodefaultlib /out:%t.1.exe
4
RUN: lld-link %t.obj /debug /Brepro /entry:main /nodefaultlib /out:%t.2.exe
5
RUN: lld-link %t.obj /debug /timestamp:0 /entry:main /nodefaultlib /out:%t.3.exe
6
RUN: env SOURCE_DATE_EPOCH=0 lld-link %t.obj /debug /entry:main /nodefaultlib /out:%t.4.exe
7
# Test timestamps corresponding to INT32_TMAX
8
RUN: lld-link %t.obj /debug /timestamp:2147483647 /entry:main /nodefaultlib /out:%t.5.exe
9
RUN: env SOURCE_DATE_EPOCH=2147483647 lld-link %t.obj /debug /entry:main /nodefaultlib /out:%t.6.exe
10
# Test that the command line option /timestamp has precedence over SOURCE_DATE_EPOCH
11
RUN: env SOURCE_DATE_EPOCH=12345 lld-link %t.obj /debug /timestamp:0 /entry:main /nodefaultlib /out:%t.7.exe
12
# Test timestamps corresponding to UINT32_TMAX
13
RUN: lld-link %t.obj /debug /timestamp:4294967295 /entry:main /nodefaultlib /out:%t.8.exe
14
RUN: env SOURCE_DATE_EPOCH=4294967295 lld-link %t.obj /debug /entry:main /nodefaultlib /out:%t.9.exe
15
# Test that setting UINT32_MAX+1 as timestamp fails.
16
RUN: env LLD_IN_TEST=1 not lld-link %t.obj /debug /timestamp:4294967296 /entry:main /nodefaultlib /out:%t.10.exe 2>&1 | FileCheck %s --check-prefix=ERROR
17
RUN: env SOURCE_DATE_EPOCH=4294967296 env LLD_IN_TEST=1 not lld-link %t.obj /debug /entry:main /nodefaultlib /out:%t.11.exe 2>&1 | FileCheck %s --check-prefix=ERROR2
18
RUN: llvm-readobj --file-headers --coff-debug-directory %t.1.exe | FileCheck %s --check-prefix=HASH
19
RUN: llvm-readobj --file-headers --coff-debug-directory %t.2.exe | FileCheck %s --check-prefix=HASH
20
RUN: llvm-readobj --file-headers --coff-debug-directory %t.3.exe | FileCheck %s --check-prefix=ZERO
21
RUN: llvm-readobj --file-headers --coff-debug-directory %t.4.exe | FileCheck %s --check-prefix=ZERO
22
RUN: llvm-readobj --file-headers --coff-debug-directory %t.5.exe | FileCheck %s --check-prefix=LARGE
23
RUN: llvm-readobj --file-headers --coff-debug-directory %t.6.exe | FileCheck %s --check-prefix=LARGE
24
RUN: llvm-readobj --file-headers --coff-debug-directory %t.7.exe | FileCheck %s --check-prefix=ZERO
25

26
# Not inspecting %t.8.exe and %t.9.exe; llvm-readobj with a 32 bit time_t fails to print dates
27
# past INT32_MAX correctly.
28

29
HASH: ImageFileHeader {
30
HASH: TimeDateStamp: [[STAMP:.*]]
31
HASH: DebugDirectory [
32
HASH: TimeDateStamp: [[STAMP]]
33

34
ZERO: ImageFileHeader {
35
ZERO: TimeDateStamp: 1970-01-01 00:00:00 (0x0)
36
ZERO: DebugDirectory [
37
ZERO: TimeDateStamp: 1970-01-01 00:00:00 (0x0)
38

39
LARGE: ImageFileHeader {
40
LARGE: TimeDateStamp: 2038-01-19 03:14:07 (0x7FFFFFFF)
41
LARGE: DebugDirectory [
42
LARGE: TimeDateStamp: 2038-01-19 03:14:07 (0x7FFFFFFF)
43

44
ERROR: error: invalid timestamp: 4294967296.  Expected 32-bit integer
45
ERROR2: error: invalid SOURCE_DATE_EPOCH timestamp: 4294967296.  Expected 32-bit integer
46

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.