Marcus Holland-Moritz
36789b4be4
feat: use sane per-category defaults for rewriting
2025-05-18 13:54:06 +02:00
Marcus Holland-Moritz
4aa2107f28
test: add metadata rebuilding tests
2025-05-18 13:54:06 +02:00
Marcus Holland-Moritz
ac2443cd0b
feat: add metadata version history
2025-05-18 13:54:04 +02:00
Marcus Holland-Moritz
c6416084c9
feat: add metadata_builder
and --rebuild-metadata
option
2025-05-18 13:52:15 +02:00
Marcus Holland-Moritz
d577cd04bf
feat: optionally add category metadata to file system metadata
2025-05-15 20:50:24 +02:00
Marcus Holland-Moritz
3790c5451e
refactor: factor out metadata_builder
from scanner
2025-05-15 20:49:38 +02:00
Marcus Holland-Moritz
5b3a5e1f3c
test(block_merger): don't excessively sleep on Windows
2025-05-14 07:09:49 +02:00
Marcus Holland-Moritz
3a49825eca
fix(rewrite_filesystem): add history unless --no-history
is given
2025-05-14 06:50:13 +02:00
Marcus Holland-Moritz
f01cf2c76a
fix(filesystem_writer): segfault on bad_compression_ratio_error
...
When recompressing a filesystem where some blocks cannot be compressed
using the selected algorithm because of a `bad_compression_ratio_error`,
the resulting `block` was left empty after the refactoring done in
06f8728cc. It's a really easy fix, pretty much just doing what the code
did before the refactor: initialize `block` with the decompressed data
before attempting to compress it. Since `clang-format` reformatted the
whole lambda after the change, I've pulled the lamdba body out into a
separate function, which makes this change much bigger than it is.
2025-05-14 06:47:32 +02:00
Marcus Holland-Moritz
7b0b1cdc0c
refactor: introduce and use safe_localtime()
2025-05-14 06:47:32 +02:00
Marcus Holland-Moritz
7508b1db38
feat: use new minimal LRU cache implementation
2025-05-09 11:48:52 +02:00
Marcus Holland-Moritz
1fec8314da
refactor: make proper use of cpptrace
with ENABLE_STACKTRACE
2025-05-09 11:48:52 +02:00
Marcus Holland-Moritz
07458eab80
fix(filesystem_parser): make find_image_offset
more reliable
2025-04-21 17:53:56 +02:00
Marcus Holland-Moritz
24f87bbeaa
chore: drop DWARFSEXTRACT_MINIMAL
completely
...
Extracting by pattern is a mandatory feature for the `fuse-extract` use
case, so no point in being able to disable this.
2025-04-21 17:53:56 +02:00
Marcus Holland-Moritz
e6ae08475a
feat: allow disabling advanced features in dwarfs-fuse-extract
2025-04-13 22:14:57 +02:00
Marcus Holland-Moritz
1675b90d71
test: rename filter_test
to tool_filter_test
for uniqueness
...
This is essential when building a monolithic test as it would otherwise
collide with the `filter_test` from `dwarfs_test.cpp`.
2025-04-13 16:29:09 +02:00
Marcus Holland-Moritz
bd961ccfb4
test: (unnecessary) refactor to use span
instead of vector
2025-04-13 16:29:09 +02:00
Marcus Holland-Moritz
8b6002a4e3
test(badfs_test): refactor so we don't require main
function
2025-04-13 16:29:09 +02:00
Marcus Holland-Moritz
9996748134
feat: replace vector_byte_buffer with malloc_byte_buffer
...
The latter doesn't always explicitly initialize the allocated memory,
which can help improve performance.
2025-04-09 21:42:32 +02:00
Marcus Holland-Moritz
d8a8d3250c
test: test fragment order
2025-04-08 13:12:25 +02:00
Marcus Holland-Moritz
6d0e37abab
test: hotness categorizer
2025-04-08 12:38:09 +02:00
Marcus Holland-Moritz
2f30d0c150
test: make sure mmap_mock
knows its path
2025-04-08 12:38:09 +02:00
Marcus Holland-Moritz
ca5c1bba0b
refactor: use file_access
abstraction in hotness categorizer
2025-04-08 12:38:09 +02:00
Marcus Holland-Moritz
5529c54acf
test: exercise preload_category
and test analysis_file
option
2025-04-08 12:38:09 +02:00
Marcus Holland-Moritz
8f4d400ced
test: exercise preload_all
option
2025-04-08 09:43:44 +02:00
Marcus Holland-Moritz
a622d89f9c
fix: compatibility with boost process v2
2025-04-07 21:32:26 +02:00
Marcus Holland-Moritz
440299eb26
fix(tool_main_test): don't rely on having support for LZ4 compression
2025-04-07 21:32:26 +02:00
Marcus Holland-Moritz
e71cc49353
feat(dwarfs): add block_allocator
option to FUSE driver
2025-04-07 21:32:26 +02:00
Marcus Holland-Moritz
d84d7535c7
refactor(categorizer): allow access to root and relative paths
2025-04-07 21:32:26 +02:00
Marcus Holland-Moritz
d786083d3d
chore: move everything but the writer code from GPLv3 to MIT license
2025-04-07 21:32:26 +02:00
Marcus Holland-Moritz
4e0ea2c165
refactor: separate compression / decompression
2025-04-07 21:32:26 +02:00
Marcus Holland-Moritz
dde5dcaead
refactor(checksum): reorganize code to be more linker friendly
2025-04-07 21:32:26 +02:00
Marcus Holland-Moritz
9eb5ca94b1
refactor: migrate the only folly::Benchmark test to google-benchmark
2025-04-07 21:32:26 +02:00
Marcus Holland-Moritz
39950e085e
refactor: new start_compression
API for more flexible buffer handling
2025-04-07 21:31:47 +02:00
Marcus Holland-Moritz
06f8728cc3
refactor: replace block_data
with byte_buffer
2025-04-07 21:30:00 +02:00
Marcus Holland-Moritz
501f5c38f4
refactor: simplify block_decompressor
API
2025-04-07 16:54:04 +02:00
Marcus Holland-Moritz
2501cf7783
chore(nilsimsa): add tests and benchmark
2025-03-31 14:16:09 +02:00
Marcus Holland-Moritz
f992d2c847
refactor(entry_factory): don't rebuild path for every entry
2025-03-31 14:16:09 +02:00
Marcus Holland-Moritz
cac5b778e8
refactor: replace multiversioning
2025-03-31 14:16:09 +02:00
Marcus Holland-Moritz
0f0249b1ee
fix(scanner): handle absolute paths in --input-list
(fixes gh #259 )
2025-03-31 14:10:38 +02:00
Marcus Holland-Moritz
ff4c34383d
chore: provide wrapper for <source_location>
missing on macOS Ventura
2025-03-18 13:23:44 +01:00
Marcus Holland-Moritz
e440101b0c
test(sorted_array_map): add more test cases
2025-03-18 13:23:44 +01:00
Marcus Holland-Moritz
45098e7913
chore: reformat code using new .clang-format
2025-03-17 07:15:55 +01:00
Marcus Holland-Moritz
7efa82854a
refactor(fstypes): use std::array
for magic / SHA2 members
2025-03-17 07:15:55 +01:00
Marcus Holland-Moritz
689a43b19f
feat: add sorted_array_map
2025-03-17 07:15:54 +01:00
Marcus Holland-Moritz
f6e760bfad
refactor: explicitly handle release_until() return value
2025-03-17 07:15:54 +01:00
Marcus Holland-Moritz
9130d2a5de
build: separate tests with internal header dependencies
2025-03-15 08:19:07 +01:00
Marcus Holland-Moritz
9b7a1b939e
feat: add a few more metadata consistency checks
2025-03-14 15:07:49 +01:00
Marcus Holland-Moritz
e13d9cb6eb
chore: add binary for fuzzing the reader library
2025-03-14 15:07:49 +01:00
Marcus Holland-Moritz
bfadb40615
refactor(test_helpers): improve os_access_mock
flexibility / readability
2025-03-14 15:07:49 +01:00