Gilbert Gilb's
db03aed816
feat(backends/s3): add warmup support for check command ( #5248 )
2026-06-25 20:46:55 +02:00
Michael Eischer
4e8eea7ab4
Merge pull request #21902 from restic/speedup-test
...
Cut local test suite execution time in half
2026-06-24 21:34:55 +02:00
Ricardo Sawir
55e335ec6c
fuse: reset treeCache on snapshot reload to fix stale latest symlink ( #21873 )
...
The treeCache in SnapshotsDir was never cleared when snapshots were
reloaded. This caused the "latest" symlink to keep pointing to the
previous snapshot even after new snapshots were added.
Add a generation counter to SnapshotsDirStructure that is incremented
whenever the directory structure is rebuilt (in makeDirs). The
treeCache checks this generation on each lookup and resets itself
when the generation changes, ensuring cached nodes (including symlinks)
are refreshed after a snapshot reload.
2026-06-22 18:31:51 +00:00
Winfried Plappert
d30d6b6281
backup - show excluded files and directories in verbose mode - text/JSON ( #21887 )
2026-06-21 16:11:42 +00:00
Michael Eischer
d9dd1b7534
archiver: ignore duplicate but excluded directory entry ( #21900 )
2026-06-21 15:49:08 +02:00
Michael Eischer
8f00b335b4
rclone/fs: parallelize tests
2026-06-20 22:43:03 +02:00
Michael Eischer
8d191c19a5
archiver: decrease sleeps for TestFileChanged test
...
Modern filesystems provide microsecond granularity or better. The old
special case for macOS is removed as Go 1.25 (minimum for restic)
requires at least macOS 12, which uses APFS instead of the old HFS+.
2026-06-20 21:55:46 +02:00
Michael Eischer
5683224a3c
layout: skip creation of pack subdirectories in integration tests
...
Each time a local backend is created, the local backend also creates all
shard subdirectories. For the integration tests this has the downside
that this results in ~120 (number of test) * 256 (number of directories)
= 30k directories that are created unnecessarily. This significantly
slows down test execution and cleanup.
2026-06-20 20:00:17 +02:00
Michael Eischer
52cde35aea
try deleting a directory before resetting the readonly status in tests
2026-06-20 20:00:17 +02:00
Michael Eischer
072305c5b3
repository: run version sub-tests of TestAllVersions in parallel
...
TestRepositoryIncrementalIndex no longer modified index.Full as this
modified global state and also had no effect on the test result.
2026-06-20 19:59:37 +02:00
Michael Eischer
a1420ea6c7
repository: use separate rand instance per test
...
Use separate instances to prevent data races when executing tests in
parallel.
2026-06-20 19:50:10 +02:00
Michael Eischer
a3be3bd9e1
backend/test: gradually increase timeout for TestListCancel to speed up fast backends
2026-06-20 19:46:22 +02:00
Michael Eischer
b24d05bcb4
skip key decryption in tests
2026-06-20 19:46:22 +02:00
Michael Eischer
c021b8cde0
decrease test data sizes
2026-06-20 19:46:22 +02:00
Michael Eischer
18e5c446e0
data/fs: faster comparison in tests
2026-06-20 19:46:22 +02:00
Michael Eischer
f91afb2fa8
repository: run TestPruneSmall in parallel to other tests
2026-06-20 19:46:22 +02:00
Michael Eischer
2148508050
repository/checker: speed up test repo creation
...
data.TestCreateSnapshot is much faster than archiver.TestSnapshot
2026-06-20 19:46:22 +02:00
Michael Eischer
37e8f50aeb
repository: decrease test data size for streamPack
2026-06-20 19:46:22 +02:00
Michael Eischer
7e5eaf1ead
crypto: decrease parameters for calibrate test
2026-06-20 19:46:22 +02:00
Michael Eischer
aae0985673
index: decrease depth of test repos
2026-06-20 19:46:22 +02:00
Michael Eischer
f9d953d4cd
index: test ForAllIndex with generated repo
2026-06-20 19:46:22 +02:00
Michael Eischer
69a3ba5b33
index: speed up oversized test data generation
2026-06-20 19:46:22 +02:00
Michael Eischer
c183fe2035
restore: speed up test data generation in newTestRepo
2026-06-20 19:46:22 +02:00
Michael Eischer
1174e97b30
restic: speed up repository config initialization in tests
...
Avoid redundant polynomial generation, which takes a millisecond or so.
2026-06-20 19:46:22 +02:00
Michael Eischer
440d925467
repository: default to fastest compression in tests
2026-06-20 19:46:22 +02:00
Michael Eischer
28521d27c1
Merge pull request #21897 from MichaelEischer/sftp-fix-chmod
...
backend/sftp: fix removing files on windows sftp
2026-06-20 19:29:49 +02:00
Michael Eischer
9ab5fc59c2
restic: split FileType for backend.FileType
...
Equality of constants is enforced via internal/repository/filetype.go
using compile time checks.
2026-06-20 19:15:40 +02:00
Michael Eischer
6c509f7ac1
Correctly pair backend/restic.FileType with APIs
...
Use backend.FileType to interact with the backend. And restic.FileType
to interact with the repository.
2026-06-20 19:15:40 +02:00
Michael Eischer
ea699bb0ba
backend/rest: fix flaky test cleanup ( #21901 )
2026-06-20 19:14:54 +02:00
Michael Eischer
532f36a5a8
archiver: pass ItemAction to progress reporter instead of data.Node ( #21886 )
2026-06-20 19:06:45 +02:00
Michael Eischer
2f31cde517
internal/restorer: invert dependency direction to ui/restorer
...
The restorer imported ui/restorer which leaks ui logic into the restorer
core. Swap the direction by letting the restorer use a ProgressReporter
interface + associated constants.
2026-06-20 17:49:20 +02:00
Michael Eischer
5cd39d01c1
internal/data: extract HardlinkIndex from restorer
...
The HardlinkIndex is also used by `cmd_stats`, thus place it in a shared
package.
2026-06-20 17:49:20 +02:00
Michael Eischer
d9d54a505e
restic: move Printer interface from internal/ui/progress
...
Move Printer and NewNoopPrinter to internal/restic so repository does
not have to import the ui packages.
2026-06-20 17:49:20 +02:00
Michael Eischer
0f4236cb39
repository: return unlock func from LockRepo
...
Drop the Unlocker interface and return the unlock callback directly
from LockRepo, simplifying callers that only need to defer unlock().
2026-06-20 17:48:35 +02:00
Michael Eischer
4d1b9cef63
internal/fileio: extract low-level file I/O from internal/fs
...
Move TempFile and PreallocateFile into internal/fileio. internal/fs
primarily focuses on converting between data.Node and the actual
filesystem state. Extract the two methods to not pull in unnecessary
dependencies.
2026-06-20 17:48:35 +02:00
Michael Eischer
980f194360
fs: print missing error if xattr cannot be read ( #21896 )
2026-06-20 17:11:16 +02:00
Michael Eischer
203e595ccb
backend/sftp: fix removing files on windows sftp
2026-06-19 23:23:01 +02:00
Michael Eischer
6c67a095dc
backend/sftp: fix error reporting of Save method
2026-06-19 23:09:59 +02:00
Michael Eischer
1a9decf03e
repository: show correct error if zstd decoder cannot be initialized
2026-06-14 16:52:40 +02:00
Michael Eischer
718f09e02d
selfupdate: improve error handling
2026-06-14 16:51:56 +02:00
Michael Eischer
82708ff7f7
prune/repair pack: document ignored errors
2026-06-14 16:51:56 +02:00
Michael Eischer
18c47c5bf9
backend/util: fix errorhandling in DefaultDelete test helper
2026-06-14 16:40:09 +02:00
Michael Eischer
faea0d677a
backend/sftp: fix file handle leak if chmod for a file fails
2026-06-14 16:39:42 +02:00
Michael Eischer
ae8fdb08fa
backend/rest: correctly close body on out of bounds read
2026-06-14 16:38:54 +02:00
Michael Eischer
5c8c048c1a
backend/b2: correctly close file if too short
2026-06-14 16:38:21 +02:00
Michael Eischer
7d36449ea8
repository: change LoadBlob, LookupBlob and LookupBlobSize to BlobHandles ( #21857 )
2026-06-14 15:30:00 +02:00
Michael Eischer
71f38d266c
ensure reliable cleanup of test repository ( #21880 )
2026-06-14 14:25:00 +02:00
Michael Eischer
650f658244
repository/index: ensure progress bar cancelation on early index load failure ( #21881 )
2026-06-14 13:56:24 +02:00
Michael Eischer
406dec29a7
repository: remove redundant mutex in checkForOtherLocks
...
forAllLocks already serializes the callback calls. Still has to create a
copy of checkedIDs to prevent a data race between forAllLocks and the
callback.
2026-06-13 21:37:24 +02:00
Michael Eischer
6fe10a72eb
repository: drop mutex from lockHandle
2026-06-13 21:37:06 +02:00