- 15 Dec, 2016 2 commits
-
-
Kirill Smelkov authored
-
Kirill Smelkov authored
* origin/master: master,client: ignore notifications before complete initialization Update comment that was still showing UUIDs instead of node ids Remove dead code found by coverage Remove some useless unit tests
-
- 14 Dec, 2016 3 commits
-
-
Kirill Smelkov authored
-
Kirill Smelkov authored
-
Kirill Smelkov authored
-
- 12 Dec, 2016 3 commits
-
-
Kirill Smelkov authored
-
Kirill Smelkov authored
-
Kirill Smelkov authored
-
- 11 Dec, 2016 5 commits
-
-
Kirill Smelkov authored
-
Kirill Smelkov authored
-
Kirill Smelkov authored
-
Kirill Smelkov authored
-
Kirill Smelkov authored
-
- 09 Dec, 2016 2 commits
-
-
Kirill Smelkov authored
-
Kirill Smelkov authored
-
- 06 Dec, 2016 3 commits
-
-
Julien Muchembled authored
A backup master crashed with the following traceback after a reconnection: Traceback (most recent call last): File "neo/master/app.py", line 127, in run self._run() File "neo/master/app.py", line 147, in _run self.playPrimaryRole() File "neo/master/app.py", line 348, in playPrimaryRole self.backup_app.provideService()) File "neo/master/backup_app.py", line 123, in provideService poll(1) File "neo/lib/event.py", line 126, in poll to_process.process() File "neo/lib/connection.py", line 500, in process self._handlers.handle(self, self._queue.pop(0)) File "neo/lib/connection.py", line 110, in handle self._handle(connection, packet) File "neo/lib/connection.py", line 125, in _handle handler.packetReceived(connection, packet) File "neo/lib/handler.py", line 117, in packetReceived self.dispatch(*args) File "neo/lib/handler.py", line 66, in dispatch method(conn, *args, **kw) File "neo/master/handlers/backup.py", line 52, in invalidateObjects app.invalidatePartitions(tid, partition_set) File "neo/master/backup_app.py", line 257, in invalidatePartitions self.triggerBackup(node) File "neo/master/backup_app.py", line 281, in triggerBackup assert cell_list, offset AssertionError: 0
-
Julien Muchembled authored
-
Kirill Smelkov authored
-
- 05 Dec, 2016 1 commit
-
-
Kirill Smelkov authored
-
- 02 Dec, 2016 2 commits
-
-
Kirill Smelkov authored
-
Kirill Smelkov authored
* master: Enable coverage for neo.tests, which is useful to find dead code Remove unused imports, found by pylint TODO: tweak should be safer Various neoctl/neolog formatting improvements/fixes debug: extend 'pdb' example to optionally break on an arbitrary list of callables client: fix simultaneous (re)connections to the master
-
- 01 Dec, 2016 5 commits
-
-
Julien Muchembled authored
-
Julien Muchembled authored
Many "unit" tests (!= "threaded" tests) don't do more than checking implementation details, and increase coverage artificially. As with testEvent in commit 71e30fb9, most of these tests will either be removed or rewritten as threaded tests. The fact that the remaining unit tests actually cover code that other test don't gives motivation to maintain them. It will be also less code to update when switching to https://pypi.python.org/pypi/mock I proceeded as follows: 1. Measure coverage for all tests except unit tests. While checking my work, I found that coverage stats for threaded/functional/zodb tests are quite unstable, so I restarted from the beginning by doing this measure several times and only keeping the intersection of coverage data. 2. Measure coverage individually for each 'unit' tests, and substract the each result with the data in 1. 3. The candidates for deletion are those without any code covered. Tests I didn't delete: - neo.tests.master.testElectionHandler: I always do minimal changes about election, as long as there's no serious review. - neo.tests.master.testMasterPT.MasterPartitionTableTests.test_13_outdate - 4 tests in neo.tests.testPT: test_01_Cell, test_04_removeCell, test_06_clear, test_08_filled - neo.tests.storage.testStorage{MySQL,SQLite} - neo.tests.testUtil.UtilTests.testReadBufferRead In a way, this commit is actually quite conservative. There are still many useless tests that only check error paths and for simple tested methods, this is just duplicating thie tested code.
-
Julien Muchembled authored
-
Julien Muchembled authored
-
Julien Muchembled authored
-
- 30 Nov, 2016 6 commits
-
-
Kirill Smelkov authored
-
Julien Muchembled authored
- format IPv6 inside [] when followed by :<port> - unify rendering of node lists - neoctl: do not crash on empty DB (no PT id)
-
Julien Muchembled authored
-
Julien Muchembled authored
This fixes a reqression in commit c39d5c67, which could leads to failures like: 2016-11-29 09:56:58,756 ERROR ZODB.Connection Couldn't load state for 0x4843 Traceback (most recent call last): File "ZODB/Connection.py", line 860, in setstate self._setstate(obj) File "ZODB/Connection.py", line 901, in _setstate p, serial = self._storage.load(obj._p_oid, '') File "neo/client/Storage.py", line 82, in load return self.app.load(oid)[:2] File "neo/client/app.py", line 352, in load data, tid, next_tid, _ = self._loadFromStorage(oid, tid, before_tid) File "neo/client/app.py", line 372, in _loadFromStorage for node, conn in self.cp.iterateForObject(oid, readable=True): File "neo/client/pool.py", line 91, in iterateForObject pt = self.app.pt File "neo/client/app.py", line 146, in __getattr__ return self.__getattribute__(attr) AttributeError: 'Application' object has no attribute 'pt'
-
Kirill Smelkov authored
-
Kirill Smelkov authored
* master: storage: fix crash when a client loses connection to the master just before voting no change: only some code reindentation Enable branch coverage measurement by default coverage: add support for functional tests
-
- 29 Nov, 2016 1 commit
-
-
Kirill Smelkov authored
-
- 28 Nov, 2016 7 commits
-
-
Julien Muchembled authored
This is similar to commit 7aecdada and for completeness, we also protect unlock the same way.
-
Julien Muchembled authored
For 2 previous commits, we didn't reindent in order to keep the diff readable.
-
Julien Muchembled authored
-
Kirill Smelkov authored
-
Kirill Smelkov authored
-
Kirill Smelkov authored
-
Kirill Smelkov authored
See 9385706f (Fix identification issues, including a race condition causing id conflicts).
-