diff --git a/nilmdb/fsck/fsck.py b/nilmdb/fsck/fsck.py index ac96db8..af14e67 100644 --- a/nilmdb/fsck/fsck.py +++ b/nilmdb/fsck/fsck.py @@ -274,7 +274,7 @@ class Fsck(object): # B -------- D # Then we can try changing the first interval to go from # A to B instead. - msg = (f"{path}: overlap in file offests:\n" + msg = (f"{path}: overlap in file offsets:\n" f"existing ranges: {existing}\n" f"overlapping interval: {new}") if not self.fix: diff --git a/tests/fsck-data/test2x1/data.sql b/tests/fsck-data/test2x1/data.sql new file mode 100644 index 0000000..21c3f35 Binary files /dev/null and b/tests/fsck-data/test2x1/data.sql differ diff --git a/tests/fsck-data/test2x1/data.sql-shm b/tests/fsck-data/test2x1/data.sql-shm new file mode 100644 index 0000000..2fe5fc6 Binary files /dev/null and b/tests/fsck-data/test2x1/data.sql-shm differ diff --git a/tests/fsck-data/test2x1/data.sql-wal b/tests/fsck-data/test2x1/data.sql-wal new file mode 100644 index 0000000..f70ca56 Binary files /dev/null and b/tests/fsck-data/test2x1/data.sql-wal differ diff --git a/tests/fsck-data/test2x1/data/a/b/0000/0000 b/tests/fsck-data/test2x1/data/a/b/0000/0000 new file mode 100644 index 0000000..c0605f5 Binary files /dev/null and b/tests/fsck-data/test2x1/data/a/b/0000/0000 differ diff --git a/tests/fsck-data/test2x1/data/a/b/_format b/tests/fsck-data/test2x1/data/a/b/_format new file mode 100644 index 0000000..ca49cc2 Binary files /dev/null and b/tests/fsck-data/test2x1/data/a/b/_format differ diff --git a/tests/fsck-data/test2x2/data.sql b/tests/fsck-data/test2x2/data.sql new file mode 100644 index 0000000..21c3f35 Binary files /dev/null and b/tests/fsck-data/test2x2/data.sql differ diff --git a/tests/fsck-data/test2x2/data.sql-shm b/tests/fsck-data/test2x2/data.sql-shm new file mode 100644 index 0000000..256b034 Binary files /dev/null and b/tests/fsck-data/test2x2/data.sql-shm differ diff --git a/tests/fsck-data/test2x2/data.sql-wal b/tests/fsck-data/test2x2/data.sql-wal new file mode 100644 index 0000000..a2876a7 Binary files /dev/null and b/tests/fsck-data/test2x2/data.sql-wal differ diff --git a/tests/fsck-data/test2x2/data/a/b/0000/0000 b/tests/fsck-data/test2x2/data/a/b/0000/0000 new file mode 100644 index 0000000..c0605f5 Binary files /dev/null and b/tests/fsck-data/test2x2/data/a/b/0000/0000 differ diff --git a/tests/fsck-data/test2x2/data/a/b/_format b/tests/fsck-data/test2x2/data/a/b/_format new file mode 100644 index 0000000..ca49cc2 Binary files /dev/null and b/tests/fsck-data/test2x2/data/a/b/_format differ diff --git a/tests/fsck-data/test2x3/data.sql b/tests/fsck-data/test2x3/data.sql new file mode 100644 index 0000000..21c3f35 Binary files /dev/null and b/tests/fsck-data/test2x3/data.sql differ diff --git a/tests/fsck-data/test2x3/data.sql-shm b/tests/fsck-data/test2x3/data.sql-shm new file mode 100644 index 0000000..d254b72 Binary files /dev/null and b/tests/fsck-data/test2x3/data.sql-shm differ diff --git a/tests/fsck-data/test2x3/data.sql-wal b/tests/fsck-data/test2x3/data.sql-wal new file mode 100644 index 0000000..61a591e Binary files /dev/null and b/tests/fsck-data/test2x3/data.sql-wal differ diff --git a/tests/fsck-data/test2x3/data/a/b/0000/0000 b/tests/fsck-data/test2x3/data/a/b/0000/0000 new file mode 100644 index 0000000..c0605f5 Binary files /dev/null and b/tests/fsck-data/test2x3/data/a/b/0000/0000 differ diff --git a/tests/fsck-data/test2x3/data/a/b/_format b/tests/fsck-data/test2x3/data/a/b/_format new file mode 100644 index 0000000..ca49cc2 Binary files /dev/null and b/tests/fsck-data/test2x3/data/a/b/_format differ diff --git a/tests/test_fsck.py b/tests/test_fsck.py index 7088057..30bb70e 100644 --- a/tests/test_fsck.py +++ b/tests/test_fsck.py @@ -123,7 +123,7 @@ class TestFsck(object): self.failmsg("test2h", "missing bulkdata dir") self.failmsg("test2i", "bad bulkdata table") self.failmsg("test2j", "overlap in intervals") - self.failmsg("test2k", "overlap in file offsets") + self.failmsg("test2k", "overlap in file offsets", fix=False) self.ok("test2k1") self.failmsg("test2l", "unsupported bulkdata version") self.failmsg("test2m", "bad rows_per_file") @@ -176,3 +176,9 @@ class TestFsck(object): self.failmsg("test2w2", "non-monotonic, and zero", fix=False) self.okmsg("test2w2", "Will try truncating table") self.contain("new end: time 237000001, pos 238") + + self.failmsg("test2x1", "overlap in file offsets", fix=False) + self.okmsg("test2x1", "truncating") + + self.failmsg("test2x2", "unfixable overlap") + self.failmsg("test2x3", "unfixable overlap")