|
| 1 | +{-# LANGUAGE CPP #-} |
1 | 2 | {-# LANGUAGE LambdaCase #-} |
2 | 3 | {-# LANGUAGE OverloadedStrings #-} |
3 | 4 | {-# LANGUAGE ScopedTypeVariables #-} |
@@ -161,8 +162,12 @@ filesystemNixStore testErrorName n = do |
161 | 162 | -- | Assert that GHC uses less than 100M memory at peak |
162 | 163 | assertBoundedMemory :: IO () |
163 | 164 | assertBoundedMemory = do |
| 165 | +#ifdef BOUNDED_MEMORY |
164 | 166 | bytes <- max_live_bytes <$> getRTSStats |
165 | 167 | bytes < 100 * 1000 * 1000 `shouldBe` True |
| 168 | +#else |
| 169 | + return () |
| 170 | +#endif |
166 | 171 |
|
167 | 172 |
|
168 | 173 | -- | Read the binary output of `nix-store --dump` for a filepath |
@@ -250,58 +255,63 @@ sampleLargeDir fSize = Directory $ Map.fromList $ [ |
250 | 255 |
|
251 | 256 | -- "hi" file turned to a NAR with `nix-store --dump`, Base64 encoded |
252 | 257 | sampleRegularBaseline :: BSL.ByteString |
253 | | -sampleRegularBaseline = B64.decodeLenient |
254 | | - "DQAAAAAAAABuaXgtYXJjaGl2ZS0xAAAAAQAAAAAAAAAoAAAAAAA\ |
255 | | - \AAAQAAAAAAAAAdHlwZQAAAAAHAAAAAAAAAHJlZ3VsYXIACAAAAA\ |
256 | | - \AAAABjb250ZW50cwMAAAAAAAAAaGkKAAAAAAABAAAAAAAAACkAA\ |
257 | | - \AAAAAAA" |
| 258 | +sampleRegularBaseline = B64.decodeLenient $ BSL.concat |
| 259 | + ["DQAAAAAAAABuaXgtYXJjaGl2ZS0xAAAAAQAAAAAAAAAoAAAAAAA" |
| 260 | + ,"AAAQAAAAAAAAAdHlwZQAAAAAHAAAAAAAAAHJlZ3VsYXIACAAAAA" |
| 261 | + ,"AAAABjb250ZW50cwMAAAAAAAAAaGkKAAAAAAABAAAAAAAAACkAA" |
| 262 | + ,"AAAAAAA" |
| 263 | + ] |
258 | 264 |
|
259 | 265 | sampleRegular'Baseline :: BSL.ByteString |
260 | | -sampleRegular'Baseline = B64.decodeLenient |
261 | | - "DQAAAAAAAABuaXgtYXJjaGl2ZS0xAAAAAQAAAAAAAAAoAAAAAAA\ |
262 | | - \AAAQAAAAAAAAAdHlwZQAAAAAHAAAAAAAAAHJlZ3VsYXIACAAAAA\ |
263 | | - \AAAABjb250ZW50c0AAAAAAAAAAI2luY2x1ZGUgPHN0ZGlvLmg+C\ |
264 | | - \gppbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKXsgZXhp\ |
265 | | - \dCAwOyB9CgEAAAAAAAAAKQAAAAAAAAA=" |
| 266 | +sampleRegular'Baseline = B64.decodeLenient $ BSL.concat |
| 267 | + ["DQAAAAAAAABuaXgtYXJjaGl2ZS0xAAAAAQAAAAAAAAAoAAAAAAA" |
| 268 | + ,"AAAQAAAAAAAAAdHlwZQAAAAAHAAAAAAAAAHJlZ3VsYXIACAAAAA" |
| 269 | + ,"AAAABjb250ZW50c0AAAAAAAAAAI2luY2x1ZGUgPHN0ZGlvLmg+C" |
| 270 | + ,"gppbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKXsgZXhp" |
| 271 | + ,"dCAwOyB9CgEAAAAAAAAAKQAAAAAAAAA=" |
| 272 | + ] |
266 | 273 |
|
267 | 274 | sampleExecutableBaseline :: BSL.ByteString |
268 | | -sampleExecutableBaseline = B64.decodeLenient |
269 | | - "DQAAAAAAAABuaXgtYXJjaGl2ZS0xAAAAAQAAAAAAAAAoAAAAAAA\ |
270 | | - \AAAQAAAAAAAAAdHlwZQAAAAAHAAAAAAAAAHJlZ3VsYXIACgAAAA\ |
271 | | - \AAAABleGVjdXRhYmxlAAAAAAAAAAAAAAAAAAAIAAAAAAAAAGNvb\ |
272 | | - \nRlbnRzIgAAAAAAAAAjIS9iaW4vYmFzaAoKZ2NjIC1vIGhlbGxv\ |
273 | | - \IGhlbGxvLmMKAAAAAAAAAQAAAAAAAAApAAAAAAAAAA==" |
| 275 | +sampleExecutableBaseline = B64.decodeLenient $ BSL.concat |
| 276 | + ["DQAAAAAAAABuaXgtYXJjaGl2ZS0xAAAAAQAAAAAAAAAoAAAAAAA" |
| 277 | + ,"AAAQAAAAAAAAAdHlwZQAAAAAHAAAAAAAAAHJlZ3VsYXIACgAAAA" |
| 278 | + ,"AAAABleGVjdXRhYmxlAAAAAAAAAAAAAAAAAAAIAAAAAAAAAGNvb" |
| 279 | + ,"nRlbnRzIgAAAAAAAAAjIS9iaW4vYmFzaAoKZ2NjIC1vIGhlbGxv" |
| 280 | + ,"IGhlbGxvLmMKAAAAAAAAAQAAAAAAAAApAAAAAAAAAA==" |
| 281 | + ] |
274 | 282 |
|
275 | 283 | sampleSymLinkBaseline :: BSL.ByteString |
276 | | -sampleSymLinkBaseline = B64.decodeLenient |
277 | | - "DQAAAAAAAABuaXgtYXJjaGl2ZS0xAAAAAQAAAAAAAAAoAAAAAAA\ |
278 | | - \AAAQAAAAAAAAAdHlwZQAAAAAHAAAAAAAAAHN5bWxpbmsABgAAAA\ |
279 | | - \AAAAB0YXJnZXQAAAcAAAAAAAAAaGVsbG8uYwABAAAAAAAAACkAA\ |
280 | | - \AAAAAAA" |
| 284 | +sampleSymLinkBaseline = B64.decodeLenient $ BSL.concat |
| 285 | + ["DQAAAAAAAABuaXgtYXJjaGl2ZS0xAAAAAQAAAAAAAAAoAAAAAAA" |
| 286 | + ,"AAAQAAAAAAAAAdHlwZQAAAAAHAAAAAAAAAHN5bWxpbmsABgAAAA" |
| 287 | + ,"AAAAB0YXJnZXQAAAcAAAAAAAAAaGVsbG8uYwABAAAAAAAAACkAA" |
| 288 | + ,"AAAAAAA" |
| 289 | + ] |
281 | 290 |
|
282 | 291 | sampleDirectoryBaseline :: BSL.ByteString |
283 | | -sampleDirectoryBaseline = B64.decodeLenient |
284 | | - "DQAAAAAAAABuaXgtYXJjaGl2ZS0xAAAAAQAAAAAAAAAoAAAAAAA\ |
285 | | - \AAAQAAAAAAAAAdHlwZQAAAAAJAAAAAAAAAGRpcmVjdG9yeQAAAA\ |
286 | | - \AAAAAFAAAAAAAAAGVudHJ5AAAAAQAAAAAAAAAoAAAAAAAAAAQAA\ |
287 | | - \AAAAAAAbmFtZQAAAAAIAAAAAAAAAGJ1aWxkLnNoBAAAAAAAAABu\ |
288 | | - \b2RlAAAAAAEAAAAAAAAAKAAAAAAAAAAEAAAAAAAAAHR5cGUAAAA\ |
289 | | - \ABwAAAAAAAAByZWd1bGFyAAoAAAAAAAAAZXhlY3V0YWJsZQAAAA\ |
290 | | - \AAAAAAAAAAAAAACAAAAAAAAABjb250ZW50cyIAAAAAAAAAIyEvY\ |
291 | | - \mluL2Jhc2gKCmdjYyAtbyBoZWxsbyBoZWxsby5jCgAAAAAAAAEA\ |
292 | | - \AAAAAAAAKQAAAAAAAAABAAAAAAAAACkAAAAAAAAABQAAAAAAAAB\ |
293 | | - \lbnRyeQAAAAEAAAAAAAAAKAAAAAAAAAAEAAAAAAAAAG5hbWUAAA\ |
294 | | - \AABwAAAAAAAABoZWxsby5jAAQAAAAAAAAAbm9kZQAAAAABAAAAA\ |
295 | | - \AAAACgAAAAAAAAABAAAAAAAAAB0eXBlAAAAAAcAAAAAAAAAcmVn\ |
296 | | - \dWxhcgAIAAAAAAAAAGNvbnRlbnRzQAAAAAAAAAAjaW5jbHVkZSA\ |
297 | | - \8c3RkaW8uaD4KCmludCBtYWluKGludCBhcmdjLCBjaGFyICphcm\ |
298 | | - \d2W10peyBleGl0IDA7IH0KAQAAAAAAAAApAAAAAAAAAAEAAAAAA\ |
299 | | - \AAAKQAAAAAAAAAFAAAAAAAAAGVudHJ5AAAAAQAAAAAAAAAoAAAA\ |
300 | | - \AAAAAAQAAAAAAAAAbmFtZQAAAAAEAAAAAAAAAGhpLmMAAAAABAA\ |
301 | | - \AAAAAAABub2RlAAAAAAEAAAAAAAAAKAAAAAAAAAAEAAAAAAAAAH\ |
302 | | - \R5cGUAAAAABwAAAAAAAABzeW1saW5rAAYAAAAAAAAAdGFyZ2V0A\ |
303 | | - \AAHAAAAAAAAAGhlbGxvLmMAAQAAAAAAAAApAAAAAAAAAAEAAAAA\ |
304 | | - \AAAAKQAAAAAAAAABAAAAAAAAACkAAAAAAAAA" |
| 292 | +sampleDirectoryBaseline = B64.decodeLenient $ BSL.concat |
| 293 | + ["DQAAAAAAAABuaXgtYXJjaGl2ZS0xAAAAAQAAAAAAAAAoAAAAAAA" |
| 294 | + ,"AAAQAAAAAAAAAdHlwZQAAAAAJAAAAAAAAAGRpcmVjdG9yeQAAAA" |
| 295 | + ,"AAAAAFAAAAAAAAAGVudHJ5AAAAAQAAAAAAAAAoAAAAAAAAAAQAA" |
| 296 | + ,"AAAAAAAbmFtZQAAAAAIAAAAAAAAAGJ1aWxkLnNoBAAAAAAAAABu" |
| 297 | + ,"b2RlAAAAAAEAAAAAAAAAKAAAAAAAAAAEAAAAAAAAAHR5cGUAAAA" |
| 298 | + ,"ABwAAAAAAAAByZWd1bGFyAAoAAAAAAAAAZXhlY3V0YWJsZQAAAA" |
| 299 | + ,"AAAAAAAAAAAAAACAAAAAAAAABjb250ZW50cyIAAAAAAAAAIyEvY" |
| 300 | + ,"mluL2Jhc2gKCmdjYyAtbyBoZWxsbyBoZWxsby5jCgAAAAAAAAEA" |
| 301 | + ,"AAAAAAAAKQAAAAAAAAABAAAAAAAAACkAAAAAAAAABQAAAAAAAAB" |
| 302 | + ,"lbnRyeQAAAAEAAAAAAAAAKAAAAAAAAAAEAAAAAAAAAG5hbWUAAA" |
| 303 | + ,"AABwAAAAAAAABoZWxsby5jAAQAAAAAAAAAbm9kZQAAAAABAAAAA" |
| 304 | + ,"AAAACgAAAAAAAAABAAAAAAAAAB0eXBlAAAAAAcAAAAAAAAAcmVn" |
| 305 | + ,"dWxhcgAIAAAAAAAAAGNvbnRlbnRzQAAAAAAAAAAjaW5jbHVkZSA" |
| 306 | + ,"8c3RkaW8uaD4KCmludCBtYWluKGludCBhcmdjLCBjaGFyICphcm" |
| 307 | + ,"d2W10peyBleGl0IDA7IH0KAQAAAAAAAAApAAAAAAAAAAEAAAAAA" |
| 308 | + ,"AAAKQAAAAAAAAAFAAAAAAAAAGVudHJ5AAAAAQAAAAAAAAAoAAAA" |
| 309 | + ,"AAAAAAQAAAAAAAAAbmFtZQAAAAAEAAAAAAAAAGhpLmMAAAAABAA" |
| 310 | + ,"AAAAAAABub2RlAAAAAAEAAAAAAAAAKAAAAAAAAAAEAAAAAAAAAH" |
| 311 | + ,"R5cGUAAAAABwAAAAAAAABzeW1saW5rAAYAAAAAAAAAdGFyZ2V0A" |
| 312 | + ,"AAHAAAAAAAAAGhlbGxvLmMAAQAAAAAAAAApAAAAAAAAAAEAAAAA" |
| 313 | + ,"AAAAKQAAAAAAAAABAAAAAAAAACkAAAAAAAAA" |
| 314 | + ] |
305 | 315 |
|
306 | 316 |
|
307 | 317 | -- | Control testcase sizes (bytes) by env variable |
|
0 commit comments