93 Commits

Author SHA1 Message Date
Marcus Holland-Moritz
3ae80f564e refactor: cleanup read/readv APIs 2024-07-28 18:58:08 +02:00
Marcus Holland-Moritz
62899bbd73 refactor: remove access version returning int 2024-07-28 18:58:08 +02:00
Marcus Holland-Moritz
6a2cc3f860 refactor: remove getattr version returning int 2024-07-28 18:58:08 +02:00
Marcus Holland-Moritz
404d89908c refactor(history): don't require thrift definitions in public API 2024-07-28 15:19:38 +02:00
Marcus Holland-Moritz
9d04a07210 refactor: replace folly::enumerate with ranges::views::enumerate 2024-07-28 12:30:39 +02:00
Marcus Holland-Moritz
2ca18e776b refactor: drop Expected readv API for now 2024-07-26 23:31:51 +02:00
Marcus Holland-Moritz
ac56927aef refactor: drop Expected readlink API for now 2024-07-26 23:31:51 +02:00
Marcus Holland-Moritz
522efd04f7 refactor: switch to using system includes for dwarfs headers 2024-05-22 14:56:08 +02:00
Marcus Holland-Moritz
96a0afed95 refactor: folly::dynamic -> nlohmann::json, part 1 2024-05-14 17:59:33 +02:00
Marcus Holland-Moritz
21901d7c2d test: don't rely on FLAC compression being available 2024-05-07 08:38:59 +02:00
Marcus Holland-Moritz
125121b7ca fix(mkdwarfs): filter rules did not work correctly when input is root dir 2024-05-07 08:38:59 +02:00
Marcus Holland-Moritz
ff0aa79254 test: fix perfmon check 2024-04-29 22:55:07 +02:00
Marcus Holland-Moritz
e37a428af9 test: add tests for file_scanner::dump() 2024-04-29 18:50:46 +02:00
Marcus Holland-Moritz
7bdc90223a fix(file_scanner): unexpected "inode has no file" (fixes gh #217)
When introducing an optimization to skip hashing of large files if they
already differ in the first 4 KiB, only `unique_size_` was updated to
be keyed on (size, start_hash). However, the same change is necessary
for `first_file_hashed_`, as there can otherwise be collisions if files
with the same size, but different start hashes are processed at the same
time.
2024-04-29 18:50:46 +02:00
Marcus Holland-Moritz
5fca0b2bc4 test(perfmon): test trace output 2024-04-28 09:06:31 +02:00
Marcus Holland-Moritz
b5054c0d42 test(block_cache): sequential access detector tests 2024-04-28 09:06:31 +02:00
Marcus Holland-Moritz
2f13a26bab test: add --recompress test for null compression (gh #193) 2024-02-11 10:50:21 +01:00
Marcus Holland-Moritz
e16cce2a15 fix(file_scanner): fix hardlink processing in presence of errors 2024-02-09 18:52:35 +01:00
Marcus Holland-Moritz
8831009a52 feat(dwarfsck): add --list, --checksum, --verbose (fixes gh #192) 2024-02-07 20:59:47 +01:00
Marcus Holland-Moritz
b54347d341 refactor(tool_main_test): more relaxed error message tests 2024-02-07 17:29:26 +01:00
Marcus Holland-Moritz
9d104f5ec6 test: enable unicode progress tests on Windows 2024-02-06 10:20:58 +01:00
Marcus Holland-Moritz
6f738f8f02 fix: sanitize UTF-8 strings, plus tests (fixes gh #191) 2024-02-06 10:20:58 +01:00
Marcus Holland-Moritz
a439edd88d feat: add ricepp compression and simple FITS categorizer 2024-02-02 14:23:21 +01:00
Marcus Holland-Moritz
a97161e6da feat: support building on OSX (should address gh #132) 2024-01-30 21:59:54 +01:00
Marcus Holland-Moritz
5d1992d06b refactor: replace gtest regexes with std::regex in tests 2024-01-23 15:16:07 +01:00
Marcus Holland-Moritz
45439b5346 test: improve test speed and test more options 2024-01-20 12:46:40 +01:00
Marcus Holland-Moritz
06e1910554 refactor: pass os_access to worker_group and other classes 2024-01-20 12:46:40 +01:00
Marcus Holland-Moritz
b9f8e61229 chore: clean separation between is_tty() and is_fancy() for terminal 2024-01-20 12:46:40 +01:00
Marcus Holland-Moritz
b11725b495 fix(mkdwarfs): don't store inodes with inconsistent fragments 2024-01-16 18:21:28 +01:00
Marcus Holland-Moritz
860912e5e4 refactor: get rid of std::endl 2024-01-16 15:58:22 +01:00
Marcus Holland-Moritz
fd005e0e06 feat(filesystem): load image even if non-metadata sections are corrupt 2024-01-16 15:58:22 +01:00
Marcus Holland-Moritz
70d3c8232d test: check inode dumps in the presence of read/map errors 2024-01-16 15:58:22 +01:00
Marcus Holland-Moritz
6cf799a96e test: test log context presence and option 2024-01-16 15:58:22 +01:00
Marcus Holland-Moritz
96a0ae1156 feat(logging): consolidate log option handling, add --log-with-context 2024-01-15 22:08:44 +01:00
Marcus Holland-Moritz
2d4d8e79c9 fix: correctly handle delayed file access errors 2024-01-15 21:09:51 +01:00
Marcus Holland-Moritz
f08dec266b refactor: more flexible random file tree generation for testing 2024-01-15 08:34:16 +01:00
Marcus Holland-Moritz
0446513c06 fix: make sure exceptions in worker threads produce an error message 2024-01-14 20:16:06 +01:00
Marcus Holland-Moritz
179cfb8928 fix(inode_manager): handle file mapping errors 2024-01-14 17:26:58 +01:00
Marcus Holland-Moritz
3be0715c1f fix(segmenter): repeating sequence detection was broken + test
This never properly worked for bytes >= 0x10 due to hash collisions
in the map that was used to verify the repeating sequence.
2024-01-14 14:25:08 +01:00
Marcus Holland-Moritz
c322708a7b test: add filesystem read error tests 2024-01-14 10:59:44 +01:00
Marcus Holland-Moritz
27ac296248 test: add history tests 2024-01-14 10:59:29 +01:00
Marcus Holland-Moritz
66533bad99 chore: try to make gmock regexes somewhat portable 2024-01-13 20:14:13 +01:00
Marcus Holland-Moritz
8ebb06c482 test: make random file tree more random 2024-01-13 19:16:50 +01:00
Marcus Holland-Moritz
2d12cd6c30 test(mkdwarfs): add test for fancy vs. non-fancy logging 2024-01-13 19:08:24 +01:00
Marcus Holland-Moritz
95c50920f5 feat(mkdwarfs): exit with code 2 in case of recoverable errors 2024-01-13 18:49:06 +01:00
Marcus Holland-Moritz
f90bec0235 test(mkdwarfs): colored logs test 2024-01-13 18:41:27 +01:00
Marcus Holland-Moritz
5dd8715964 test(mkdwarfs): more error tests 2024-01-13 15:43:20 +01:00
Marcus Holland-Moritz
5cf79e2208 test(mkdwarfs): low memory limit warning 2024-01-13 15:26:32 +01:00
Marcus Holland-Moritz
00ef910ef3 test(dwarfsck): more header and image check tests 2024-01-13 11:19:59 +01:00
Marcus Holland-Moritz
cc2a03446f test(metadata): add inode_info test 2024-01-13 09:39:34 +01:00