537 Commits

Author SHA1 Message Date
Marcus Holland-Moritz
5a17c877a3 More moving from std::string to fs::path 2023-06-26 10:53:56 +02:00
Marcus Holland-Moritz
2836a488ea WIP: std::string -> fs::path 2023-06-26 00:34:42 +02:00
Marcus Holland-Moritz
12080954e0 Tweak dwarfs_tools test 2023-06-25 18:44:25 +02:00
Marcus Holland-Moritz
3c4730aa69 Tools test now compiles on Windows 2023-06-25 16:47:05 +02:00
Marcus Holland-Moritz
e4b642ff0e Windows compatibility for tools test 2023-06-25 15:53:14 +02:00
Marcus Holland-Moritz
3a8981702f Subprocess class 2023-06-25 14:46:33 +02:00
Marcus Holland-Moritz
359fbb0b95 folly::Subprocess -> boost::process 2023-06-25 11:45:19 +02:00
Marcus Holland-Moritz
056dab970b More portability fixes 2023-06-22 17:16:50 +02:00
Marcus Holland-Moritz
1f8752fa23 More portability fixes 2023-06-22 17:05:32 +02:00
Marcus Holland-Moritz
b2a7a12159 More portability fixes 2023-06-22 16:53:50 +02:00
Marcus Holland-Moritz
fd157eb611 WIP file_stat 2023-06-22 00:15:26 +02:00
Marcus Holland-Moritz
50ef8bcc37 Also test image with header 2023-05-23 17:45:00 +02:00
Marcus Holland-Moritz
20258e37f4 Fix new tests triggering assertions in debug builds 2023-03-07 11:10:59 +01:00
Marcus Holland-Moritz
08cac7e2d2 Fix benchmark 2022-11-18 16:24:20 +01:00
Marcus Holland-Moritz
71a22bd54c Less test data for speedier compiles 2022-11-18 15:46:28 +01:00
Marcus Holland-Moritz
ce9216f581 Add unreadable files as empty files (fixes gh #40) 2022-11-16 12:30:17 +01:00
Marcus Holland-Moritz
0e488b958d Test image reproducibility for path and similarity ordering 2022-11-08 21:50:19 +01:00
Marcus Holland-Moritz
43e5a3bcdc Add simple test for --input-list 2022-11-08 12:40:30 +01:00
Marcus Holland-Moritz
a326f533d5 Support extracting corrupted file systems (fixes github #51)
This adds two new options `--continue-on-error` and
`--disable-integrity-check` to `dwarfsextract` that allow
extracting data from corrupted images.
2022-11-08 11:56:10 +01:00
Marcus Holland-Moritz
f231ce0878 Add some filter tests 2022-11-08 10:08:02 +01:00
Marcus Holland-Moritz
12b2e35f05 Add support for Brotli compression (fixes github #76) 2022-11-06 07:49:40 +00:00
Marcus Holland-Moritz
6920df7334 Improved deduplication algorithm
Instead of hashing all files unconditionally, the new algorithm first
checks if there are multiple files of the same size. Files with a
unique size cannot have duplicates and so don't have to be hashed at
all.
2022-10-29 18:54:31 +02:00
Marcus Holland-Moritz
b001d9f28e Progress unit tests & fixes 2022-10-29 18:54:31 +02:00
Marcus Holland-Moritz
148de5bf0d Add --file-hash option (fixes github #92)
This does not yet address the issue that uniquely sized files are
unnecessarily hashed, which is also mentioned in #92. This will be
addressed separately.
2022-10-29 18:54:31 +02:00
Marcus Holland-Moritz
482a40560e Add inode ordering test (for image reproducibility, see gh #91) 2022-10-29 18:54:31 +02:00
Marcus Holland-Moritz
3053140e5c boost::system::system_error -> std::system_error 2022-10-29 18:54:31 +02:00
Marcus Holland-Moritz
7c0b22d3bd Fix ctors that were missing explicit keyword 2022-06-10 18:49:18 +02:00
Marcus Holland-Moritz
c103783d4b Section index support for speeding up mount times (fixes #48) 2022-06-10 18:49:18 +02:00
Marcus Holland-Moritz
07987e1081 Don't compress blocks with bad compression ratio
If we don't save at least one byte by compression, just store the
block uncompressed. This also partially fixes github #45, where
LZMA would behave out-of-spec when compressing a large block of
random data.
2021-05-03 22:09:40 +02:00
Marcus Holland-Moritz
889c3c66b5 Fix block boundary handling in block manager
If the last chunk ended exactly on a block boundary, the last block
was accidentally written to the output filesystem twice. This had no
impact on the usability of the filesystem, but is obviously bad in
that it added unnecessary data to the filesystem image.
2021-05-03 13:25:15 +02:00
Marcus Holland-Moritz
3c9bb23665 Fix filesystem loading without shared files and packing
If packing is enabled, a filesystem without shared files will not
load due to an out-of-bounds access. It'll either crash or throw
an error.
2021-05-03 12:58:38 +02:00
Marcus Holland-Moritz
54b27f5662 Make os_access_mock more flexible 2021-05-03 12:53:45 +02:00
Marcus Holland-Moritz
6dc565c50c More extensive FUSE driver option testing 2021-04-13 21:41:48 +02:00
Marcus Holland-Moritz
5dd3323782 Revert 5eee555 and fix test 2021-04-13 14:28:04 +02:00
Marcus Holland-Moritz
5eee555de6 Fix access() with W_OK, and add test 2021-04-13 13:53:40 +02:00
Marcus Holland-Moritz
c262ee197b More tools tests 2021-04-13 10:50:40 +02:00
Marcus Holland-Moritz
58cb5147d6 Test --export-metadata dwarfsck option 2021-04-13 08:53:16 +02:00
Marcus Holland-Moritz
fdc25fb1ac Add small test suite for testing the fuse driver & binaries 2021-04-12 19:00:48 +02:00
Marcus Holland-Moritz
362eb60869 Remove tests that trigger frozen assertions 2021-04-05 20:53:03 +02:00
Marcus Holland-Moritz
2f6f7eba6b Remove stray readme 2021-04-03 01:57:32 +02:00
Marcus Holland-Moritz
3d5023ba39 Add bad filesystem detection test 2021-03-31 23:23:17 +02:00
Marcus Holland-Moritz
8dd1385d1d Enable metadata consistency checking in tests 2021-03-31 22:49:46 +02:00
Marcus Holland-Moritz
ad69be77cf Add some simple filesystem extractor tests 2021-03-28 23:38:56 +02:00
Marcus Holland-Moritz
95d4b4f049 More filesystem header options (github #38)
Add `--header` and `--remove-header` to `mkdwarfs`, add
`--print-header` to `dwarfsck`.

Also more testing of rewriting in the presence of headers.
2021-03-28 15:29:43 +02:00
Marcus Holland-Moritz
53416df766 Add tests for automatic image offset computation 2021-03-28 10:26:01 +02:00
Marcus Holland-Moritz
257cadb071 More readv benchmarks 2021-03-25 13:59:08 +01:00
Marcus Holland-Moritz
d97df34b11 Add filesystem benchmark 2021-03-25 13:44:50 +01:00
Marcus Holland-Moritz
f87aa4a8cf Factor out test helpers 2021-03-25 00:45:38 +01:00
Marcus Holland-Moritz
df2c653d8a New compact string table representation 2021-03-21 16:06:37 +01:00
Marcus Holland-Moritz
7b38c0744f Flexible metadata packing 2021-03-19 12:04:11 +01:00