Skip to content
Snippets Groups Projects
Commit ab87ab6a authored by Jelle van der Waa's avatar Jelle van der Waa Committed by Chris Lamb
Browse files

Support Berkeley DB 6

parent 44ebd188
No related branches found
No related tags found
1 merge request!111Support Berkeley DB 6
Pipeline #476704 passed with warnings
......@@ -16,18 +16,31 @@
# You should have received a copy of the GNU General Public License
# along with diffoscope. If not, see <https://www.gnu.org/licenses/>.
import subprocess
import pytest
from diffoscope.comparators.berkeley_db import BerkeleyDBFile
from ..utils.data import load_fixture, assert_diff
from ..utils.tools import skip_unless_tools_exist
from ..utils.tools import (
skip_unless_tools_exist,
skip_unless_tool_is_at_least,
skip_unless_tool_is_at_most,
)
from ..utils.nonexisting import assert_non_existing
db1 = load_fixture("test1.db")
db2 = load_fixture("test2.db")
def db_version():
try:
out = subprocess.check_output(["db_dump", "-V"])
except subprocess.CalledProcessError as e:
out = e.output
return out.decode("UTF-8").split()[2].replace(":", "")
def test_identification(db1):
assert isinstance(db1, BerkeleyDBFile)
......@@ -43,10 +56,17 @@ def test_no_differences(db1):
@skip_unless_tools_exist("db_dump")
@skip_unless_tool_is_at_most("db_dump", db_version, "6.0")
def test_diff(differences):
assert_diff(differences[0], "berkeley_db_expected_diff")
@skip_unless_tools_exist("db_dump")
@skip_unless_tool_is_at_least("db_dump", db_version, "6.0")
def test_diff6(differences):
assert_diff(differences[0], "berkeley6_db_expected_diff")
@skip_unless_tools_exist("db_dump")
def test_compare_non_existing(monkeypatch, db1):
assert_non_existing(monkeypatch, db1, has_null_source=False)
@@ -9,31 +9,27 @@
magic: 0x53162
version: 9
pagesize: 4096
type: 9
metaflags 0
keys: 0 records: 0
free list: 0
- last_pgno: 7
+ last_pgno: 3
flags: 0x20 (multiple-databases)
minkey: 2
root: 1
blob_threshold: 0
blob_file_lo: 0
blob_file_hi: 0
blob_sdb_lo: 0
blob_sdb_hi: 0
page 1: btree leaf: LSN [0][1]: level 1
- prev: 0 next: 0 entries: 6 offset: 4000
- [000] 4040 len: 19 data: unstable|main|amd64
- [001] 4032 len: 4 data: 00000004
- [002] 4072 len: 18 data: unstable|main|i386
- [003] 4064 len: 4 data: 00000002
- [004] 4008 len: 20 data: unstable|main|source
- [005] 4000 len: 4 data: 00000006
+ prev: 0 next: 0 entries: 2 offset: 4064
+ [000] 4072 len: 19 data: compressedfilelists
+ [001] 4064 len: 4 data: 00000002
page 2: btree metadata: LSN [0][1]: level 0
magic: 0x53162
version: 9
pagesize: 4096
type: 9
metaflags 0
keys: 0 records: 0
@@ -45,45 +41,7 @@
blob_threshold: 0
blob_file_lo: 0
blob_file_hi: 0
blob_sdb_lo: 0
blob_sdb_hi: 0
page 3: btree leaf: LSN [0][1]: level 1
prev: 0 next: 0 entries: 0 offset: 4096
-page 4: btree metadata: LSN [0][1]: level 0
- magic: 0x53162
- version: 9
- pagesize: 4096
- type: 9
- metaflags 0
- keys: 0 records: 0
- free list: 0
- last_pgno: 4
- flags: 0x20 (multiple-databases)
- minkey: 2
- root: 5
- blob_threshold: 0
- blob_file_lo: 0
- blob_file_hi: 0
- blob_sdb_lo: 0
- blob_sdb_hi: 0
-page 5: btree leaf: LSN [0][1]: level 1
- prev: 0 next: 0 entries: 0 offset: 4096
-page 6: btree metadata: LSN [0][1]: level 0
- magic: 0x53162
- version: 9
- pagesize: 4096
- type: 9
- metaflags 0
- keys: 0 records: 0
- free list: 0
- last_pgno: 6
- flags: 0x20 (multiple-databases)
- minkey: 2
- root: 7
- blob_threshold: 0
- blob_file_lo: 0
- blob_file_hi: 0
- blob_sdb_lo: 0
- blob_sdb_hi: 0
-page 7: btree leaf: LSN [0][1]: level 1
- prev: 0 next: 0 entries: 0 offset: 4096
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment