Commits (17)
-
Jérome Perrin authored
/reviewed-on nexedi/zodbtools!10
7c5bb0b5 -
Jérome Perrin authored474a0559
-
Jérome Perrin authoredb4824ad5
-
Jérome Perrin authored7d24147b
-
Jérome Perrin authored55853615
-
Jérome Perrin authored
this also solves the following error on python3: AttributeError: 'dict_keys' object has no attribute 'sort'
79aa0c45 -
Jérome Perrin authored
and use six.moves for python3 compatibility. Previously we were using "anydbm" which selects dbhash, gdbm or dbm, but opening the db with the f flag that's only valid for gdm, so de-facto we were supporting only gdbm.
5e2ed5e7 -
Jérome Perrin authored
To keep a consistent output.
d37746c6 -
Jérome Perrin authored
Fix for this kind of errors: ``` (env)$ zodb analyze demo.fs ffffffffffffffff.. # ø Processed 0 records in 0 transactions Traceback (most recent call last): File "/srv/slapgrid/slappart8/srv/runner/project/zodbtools/env/bin/zodb", line 11, in <module> load_entry_point('zodbtools', 'console_scripts', 'zodb')() File "/srv/slapgrid/slappart8/srv/runner/project/zodbtools/zodbtools/zodb.py", line 130, in main return command_module.main(argv) File "/srv/slapgrid/slappart8/srv/runner/project/zodbtools/zodbtools/zodbanalyze.py", line 305, in main report(analyze(path, use_dbm, delta_fs, tidmin, tidmax), csv) File "/srv/slapgrid/slappart8/srv/runner/project/zodbtools/zodbtools/zodbanalyze.py", line 102, in report print "Average record size is %7.2f bytes" % (rep.DBYTES * 1.0 / rep.OIDS) ZeroDivisionError: float division by zero ``` and also small fixes for python3 compatibility /reviewed-on nexedi/zodbtools!9
8c76eae2 -
Kirill Smelkov authored
Currently we exercise zodbdump and zodbcommit+zodbdump with non-empty extensions, which works if ZODB is patched for txn.extension_bytes support, but fails on pristine ZODB. Support for txn.extension_bytes cannot get into upstream ZODB for more than a year: https://github.com/zopefoundation/ZODB/pull/183 https://github.com/zopefoundation/ZODB/pull/207 and even if it somehow will make it, it will likely be only in ZODB5, while we still care to support ZODB4 and ZODB3. Skipping zodbdump / zodbcommit tests, if a ZODB does not have txn.extension_bytes support, would result in significant reduction of zodbtools test coverage, because practically that is the current situation with all upstream ZODB{3,4,5}. Dropping test coverage for non-empty extensions is neither a good option. For those reason, let's rework the tests and test both zodbdump and zodbcommit with two scenarios: 1. on a test database where transactions extensions are always empty. This should work on all ZODB irregardless of whether txn.extension_bytes patch is there or not. 2. on a test database where transactions extensions are present. This should work if ZODB has txn.extension_bytes support, but if not, we can mark this case as xfail, since the failure is expected. This way we make the testsuite pass irregardless of whether txn.extension_bytes support is there, and we don't abandon dump/commit testing coverage. /helped-by Jérome Perrin <jerome@nexedi.com>
425e6656 -
Kirill Smelkov authored
IStorageTransactionMetaData is ZODB5-only interface. Bug introduced in dd959b28 (zodbdump += DumpReader - to read/parse zodbdump stream).
0e5d2f81 -
Kirill Smelkov authored
maxtid is in ZODB.utils starting only from ZODB5. ZODB{3,4} want txn._extension, while ZODB5 deprecate it in favour of txn.extension.
7a94e312 -
Kirill Smelkov authored
Use tox to test with all kinds of ZODB. With preceding 3 patches tests pass with all versions of upstream ZODB. TODO: test coverage for both py2 and py3.
8ff7020c -
Kirill Smelkov authored
Fixes to get all tests passing with all ZODB versions we care about. Organize testing coverage for all cases via tox, similarly to wendelin.core . /reviewed-on nexedi/zodbtools!11
25aeda62 -
Kirill Smelkov authored
-
Jérome Perrin authored3e35453c
-
Jérome Perrin authored81b566c4
Showing
tox.ini
0 → 100644
zodbtools/test/conftest.py
0 → 100644
File added
File added
File added
zodbtools/test/testutil.py
0 → 100644