@@ -27,80 +27,90 @@ def teardown
27
27
end
28
28
29
29
def test_add_file
30
- @tar_writer . add_file 'x' , 0644 do |f |
31
- f . write 'a' * 10
32
- end
30
+ Time . stub :now , Time . at ( 1458518157 ) do
31
+ @tar_writer . add_file 'x' , 0644 do |f |
32
+ f . write 'a' * 10
33
+ end
33
34
34
- assert_headers_equal ( tar_file_header ( 'x' , '' , 0644 , 10 , Time . now ) ,
35
+ assert_headers_equal ( tar_file_header ( 'x' , '' , 0644 , 10 , Time . now ) ,
35
36
@io . string [ 0 , 512 ] )
37
+ end
36
38
assert_equal "aaaaaaaaaa#{ "\0 " * 502 } " , @io . string [ 512 , 512 ]
37
39
assert_equal 1024 , @io . pos
38
40
end
39
41
40
42
def test_add_file_source_date_epoch
41
43
ENV [ "SOURCE_DATE_EPOCH" ] = "123456789"
42
- @tar_writer . mkdir 'foo' , 0644
44
+ Time . stub :now , Time . at ( 1458518157 ) do
45
+ @tar_writer . mkdir 'foo' , 0644
43
46
44
- assert_headers_equal tar_dir_header ( 'foo' , '' , 0644 , Time . at ( ENV [ "SOURCE_DATE_EPOCH" ] . to_i ) . utc ) ,
45
- @io . string [ 0 , 512 ]
47
+ assert_headers_equal tar_dir_header ( 'foo' , '' , 0644 , Time . at ( ENV [ "SOURCE_DATE_EPOCH" ] . to_i ) . utc ) ,
48
+ @io . string [ 0 , 512 ]
49
+ end
46
50
end
47
51
48
52
def test_add_symlink
49
- @tar_writer . add_symlink 'x' , 'y' , 0644
53
+ Time . stub :now , Time . at ( 1458518157 ) do
54
+ @tar_writer . add_symlink 'x' , 'y' , 0644
50
55
51
- assert_headers_equal ( tar_symlink_header ( 'x' , '' , 0644 , Time . now , 'y' ) ,
56
+ assert_headers_equal ( tar_symlink_header ( 'x' , '' , 0644 , Time . now , 'y' ) ,
52
57
@io . string [ 0 , 512 ] )
58
+ end
53
59
assert_equal 512 , @io . pos
54
60
end
55
61
56
62
def test_add_symlink_source_date_epoch
57
63
ENV [ "SOURCE_DATE_EPOCH" ] = "123456789"
58
- @tar_writer . add_symlink 'x' , 'y' , 0644
64
+ Time . stub :now , Time . at ( 1458518157 ) do
65
+ @tar_writer . add_symlink 'x' , 'y' , 0644
59
66
60
- assert_headers_equal ( tar_symlink_header ( 'x' , '' , 0644 , Time . at ( ENV [ "SOURCE_DATE_EPOCH" ] . to_i ) . utc , 'y' ) ,
67
+ assert_headers_equal ( tar_symlink_header ( 'x' , '' , 0644 , Time . at ( ENV [ "SOURCE_DATE_EPOCH" ] . to_i ) . utc , 'y' ) ,
61
68
@io . string [ 0 , 512 ] )
69
+ end
62
70
end
63
71
64
72
def test_add_file_digest
65
73
digest_algorithms = Digest ::SHA1 . new , Digest ::SHA512 . new
66
74
67
- digests = @tar_writer . add_file_digest 'x' , 0644 , digest_algorithms do |io |
68
- io . write 'a' * 10
69
- end
75
+ Time . stub :now , Time . at ( 1458518157 ) do
76
+ digests = @tar_writer . add_file_digest 'x' , 0644 , digest_algorithms do |io |
77
+ io . write 'a' * 10
78
+ end
70
79
71
- assert_equal '3495ff69d34671d1e15b33a63c1379fdedd3a32a' ,
72
- digests [ 'SHA1' ] . hexdigest
73
- assert_equal '4714870aff6c97ca09d135834fdb58a6389a50c1' \
74
- '1fef8ec4afef466fb60a23ac6b7a9c92658f14df' \
75
- '4993d6b40a4e4d8424196afc347e97640d68de61' \
76
- 'e1cf14b0' ,
77
- digests [ 'SHA512' ] . hexdigest
80
+ assert_equal '3495ff69d34671d1e15b33a63c1379fdedd3a32a' ,
81
+ digests [ 'SHA1' ] . hexdigest
82
+ assert_equal '4714870aff6c97ca09d135834fdb58a6389a50c1' \
83
+ '1fef8ec4afef466fb60a23ac6b7a9c92658f14df' \
84
+ '4993d6b40a4e4d8424196afc347e97640d68de61' \
85
+ 'e1cf14b0' ,
86
+ digests [ 'SHA512' ] . hexdigest
78
87
79
- assert_headers_equal ( tar_file_header ( 'x' , '' , 0644 , 10 , Time . now ) ,
88
+ assert_headers_equal ( tar_file_header ('x' , '' , 0644 , 10 , Time . now ) ,
80
89
@io . string [ 0 , 512 ] )
81
-
90
+ end
82
91
assert_equal "aaaaaaaaaa#{ "\0 " * 502 } " , @io . string [ 512 , 512 ]
83
92
assert_equal 1024 , @io . pos
84
93
end
85
94
86
95
def test_add_file_digest_multiple
87
96
digest_algorithms = [ Digest ::SHA1 . new , Digest ::SHA512 . new ]
88
97
89
- digests = @tar_writer . add_file_digest 'x' , 0644 , digest_algorithms do |io |
90
- io . write 'a' * 10
91
- end
98
+ Time . stub :now , Time . at ( 1458518157 ) do
99
+ digests = @tar_writer . add_file_digest 'x' , 0644 , digest_algorithms do |io |
100
+ io . write 'a' * 10
101
+ end
92
102
93
- assert_equal '3495ff69d34671d1e15b33a63c1379fdedd3a32a' ,
94
- digests [ 'SHA1' ] . hexdigest
95
- assert_equal '4714870aff6c97ca09d135834fdb58a6389a50c1' \
96
- '1fef8ec4afef466fb60a23ac6b7a9c92658f14df' \
97
- '4993d6b40a4e4d8424196afc347e97640d68de61' \
98
- 'e1cf14b0' ,
99
- digests [ 'SHA512' ] . hexdigest
100
-
101
- assert_headers_equal ( tar_file_header ( 'x' , '' , 0644 , 10 , Time . now ) ,
102
- @io . string [ 0 , 512 ] )
103
+ assert_equal '3495ff69d34671d1e15b33a63c1379fdedd3a32a' ,
104
+ digests [ 'SHA1' ] . hexdigest
105
+ assert_equal '4714870aff6c97ca09d135834fdb58a6389a50c1' \
106
+ '1fef8ec4afef466fb60a23ac6b7a9c92658f14df' \
107
+ '4993d6b40a4e4d8424196afc347e97640d68de61' \
108
+ 'e1cf14b0' ,
109
+ digests [ 'SHA512' ] . hexdigest
103
110
111
+ assert_headers_equal ( tar_file_header ( 'x' , '' , 0644 , 10 , Time . now ) ,
112
+ @io . string [ 0 , 512 ] )
113
+ end
104
114
assert_equal "aaaaaaaaaa#{ "\0 " * 502 } " , @io . string [ 512 , 512 ]
105
115
assert_equal 1024 , @io . pos
106
116
end
@@ -110,70 +120,80 @@ def test_add_file_signer
110
120
111
121
signer = Gem ::Security ::Signer . new PRIVATE_KEY , [ PUBLIC_CERT ]
112
122
113
- @tar_writer . add_file_signed 'x' , 0644 , signer do |io |
114
- io . write 'a' * 10
115
- end
123
+ Time . stub :now , Time . at ( 1458518157 ) do
124
+ @tar_writer . add_file_signed 'x' , 0644 , signer do |io |
125
+ io . write 'a' * 10
126
+ end
116
127
117
- assert_headers_equal ( tar_file_header ( 'x' , '' , 0644 , 10 , Time . now ) ,
118
- @io . string [ 0 , 512 ] )
128
+ assert_headers_equal ( tar_file_header ( 'x' , '' , 0644 , 10 , Time . now ) ,
129
+ @io . string [ 0 , 512 ] )
119
130
120
- assert_equal "aaaaaaaaaa#{ "\0 " * 502 } " , @io . string [ 512 , 512 ]
131
+ assert_equal "aaaaaaaaaa#{ "\0 " * 502 } " , @io . string [ 512 , 512 ]
121
132
122
- digest = signer . digest_algorithm . new
123
- digest . update 'a' * 10
133
+ digest = signer . digest_algorithm . new
134
+ digest . update 'a' * 10
124
135
125
- signature = signer . sign digest . digest
136
+ signature = signer . sign digest . digest
126
137
127
- assert_headers_equal ( tar_file_header ( 'x.sig' , '' , 0444 , signature . length ,
128
- Time . now ) ,
129
- @io . string [ 1024 , 512 ] )
130
- assert_equal "#{ signature } #{ "\0 " * ( 512 - signature . length ) } " ,
131
- @io . string [ 1536 , 512 ]
138
+ assert_headers_equal ( tar_file_header ( 'x.sig' , '' , 0444 , signature . length ,
139
+ Time . now ) ,
140
+ @io . string [ 1024 , 512 ] )
141
+ assert_equal "#{ signature } #{ "\0 " * ( 512 - signature . length ) } " ,
142
+ @io . string [ 1536 , 512 ]
132
143
133
- assert_equal 2048 , @io . pos
144
+ assert_equal 2048 , @io . pos
145
+ end
134
146
end
135
147
136
148
def test_add_file_signer_empty
137
149
signer = Gem ::Security ::Signer . new nil , nil
138
150
139
- @tar_writer . add_file_signed 'x' , 0644 , signer do |io |
140
- io . write 'a' * 10
141
- end
151
+ Time . stub :now , Time . at ( 1458518157 ) do
152
+ @tar_writer . add_file_signed 'x' , 0644 , signer do |io |
153
+ io . write 'a' * 10
154
+ end
142
155
143
- assert_headers_equal ( tar_file_header ( 'x' , '' , 0644 , 10 , Time . now ) ,
144
- @io . string [ 0 , 512 ] )
156
+ assert_headers_equal ( tar_file_header ( 'x' , '' , 0644 , 10 , Time . now ) ,
157
+ @io . string [ 0 , 512 ] )
158
+ end
145
159
assert_equal "aaaaaaaaaa#{ "\0 " * 502 } " , @io . string [ 512 , 512 ]
146
160
147
161
assert_equal 1024 , @io . pos
148
162
end
149
163
150
164
def test_add_file_simple
151
- @tar_writer . add_file_simple 'x' , 0644 , 10 do |io |
152
- io . write "a" * 10
153
- end
165
+ Time . stub :now , Time . at ( 1458518157 ) do
166
+ @tar_writer . add_file_simple 'x' , 0644 , 10 do |io |
167
+ io . write "a" * 10
168
+ end
154
169
155
- assert_headers_equal ( tar_file_header ( 'x' , '' , 0644 , 10 , Time . now ) ,
156
- @io . string [ 0 , 512 ] )
170
+ assert_headers_equal ( tar_file_header ( 'x' , '' , 0644 , 10 , Time . now ) ,
171
+ @io . string [ 0 , 512 ] )
157
172
158
- assert_equal "aaaaaaaaaa#{ "\0 " * 502 } " , @io . string [ 512 , 512 ]
159
- assert_equal 1024 , @io . pos
173
+ assert_equal "aaaaaaaaaa#{ "\0 " * 502 } " , @io . string [ 512 , 512 ]
174
+ assert_equal 1024 , @io . pos
175
+ end <
F438
/div>
160
176
end
161
177
162
178
def test_add_file_simple_source_date_epoch
163
179
ENV [ "SOURCE_DATE_EPOCH" ] = "123456789"
164
- @tar_writer . add_file_simple 'x' , 0644 , 10 do |io |
165
- io . write "a" * 10
166
- end
180
+ Time . stub :now , Time . at ( 1458518157 ) do
181
+ @tar_writer . add_file_simple 'x' , 0644 , 10 do |io |
182
+ io . write "a" * 10
183
+ end
167
184
168
- assert_headers_equal ( tar_file_header ( 'x' , '' , 0644 , 10 , Time . at ( ENV [ "SOURCE_DATE_EPOCH" ] . to_i ) . utc ) ,
169
- @io . string [ 0 , 512 ] )
185
+ assert_headers_equal ( tar_file_header ( 'x' , '' , 0644 , 10 , Time . at ( ENV [ "SOURCE_DATE_EPOCH" ] . to_i ) . utc ) ,
186
+ @io . string [ 0 , 512 ] )
187
+ end
170
188
end
171
189
172
190
def test_add_file_simple_padding
173
- @tar_writer . add_file_simple 'x' , 0 , 100
191
+ Time . stub :now , Time . at ( 1458518157 ) do
192
+ @tar_writer . add_file_simple 'x' , 0 , 100
174
193
175
- assert_headers_equal tar_file_header ( 'x' , '' , 0 , 100 , Time . now ) ,
176
- @io . string [ 0 , 512 ]
194
+ assert_headers_equal tar_file_header ( 'x' , '' , 0 , 100 , Time . now ) ,
195
+ @io . string [ 0 , 512 ]
196
+ end
177
197
178
198
assert_equal "\0 " * 512 , @io . string [ 512 , 512 ]
179
199
end
@@ -226,20 +246,24 @@ def test_close
226
246
end
227
247
228
248
def test_mkdir
229
- @tar_writer . mkdir 'foo' , 0644
249
+ Time . stub :now , Time . at ( 1458518157 ) do
250
+ @tar_writer . mkdir 'foo' , 0644
230
251
231
- assert_headers_equal tar_dir_header ( 'foo' , '' , 0644 , Time . now ) ,
232
- @io . string [ 0 , 512 ]
252
+ assert_headers_equal tar_dir_header ( 'foo' , '' , 0644 , Time . now ) ,
253
+ @io . string [ 0 , 512 ]
233
254
234
- assert_equal 512 , @io . pos
255
+ assert_equal 512 , @io . pos
256
+ end
235
257
end
236
258
237
259
def test_mkdir_source_date_epoch
238
260
ENV [ "SOURCE_DATE_EPOCH" ] = "123456789"
239
- @tar_writer . mkdir 'foo' , 0644
261
+ Time . stub :now , Time . at ( 1458518157 ) do
262
+ @tar_writer . mkdir 'foo' , 0644
240
263
241
- assert_headers_equal tar_dir_header ( 'foo' , '' , 0644 , Time . at ( ENV [ "SOURCE_DATE_EPOCH" ] . to_i ) . utc ) ,
242
- @io . string [ 0 , 512 ]
264
+ assert_headers_equal tar_dir_header ( 'foo' , '' , 0644 , Time . at ( ENV [ "SOURCE_DATE_EPOCH" ] . to_i ) . utc ) ,
265
+ @io . string [ 0 , 512 ]
266
+ end
243
267
end
244
268
245
269
def test_split_name
0 commit comments