1
0
Fork 0

More robust load test

master
Philip O'Toole 8 months ago
parent e7ca1ed220
commit 7397486fb9

@ -192,20 +192,28 @@ class TestSingleNode(unittest.TestCase):
class TestSingleNodeLoadRestart(unittest.TestCase):
''' Test that a node can load a SQLite data set in binary format'''
def poll_query(self, node, query, exp):
deadline = time.time() + 3
while time.time() < deadline:
j = node.query(query, level='none')
if j == exp:
return
time.sleep(0.1)
raise Exception('timeout waiting for node %s to have all data' % node.node_id)
def test_load_binary(self):
self.n = Node(RQLITED_PATH, '0', raft_snap_threshold=8192, raft_snap_int="30s")
self.n.start()
n = self.n.wait_for_leader()
j = self.n.restore('system_test/e2e/testdata/1000-numbers.db', fmt='binary')
j = self.n.query('SELECT COUNT(*) from test')
self.assertEqual(j, d_("{'results': [{'values': [[1000]], 'types': ['integer'], 'columns': ['COUNT(*)']}]}"))
self.n.restore('system_test/e2e/testdata/1000-numbers.db', fmt='binary')
self.poll_query(self.n, 'SELECT COUNT(*) from test', d_("{'results': [{'values': [[1000]], 'types': ['integer'], 'columns': ['COUNT(*)']}]}"))
# Ensure node can restart after loading and that the data is correct.
self.n.stop()
self.n.start()
self.n.wait_for_leader()
j = self.n.query('SELECT COUNT(*) from test')
self.assertEqual(j, d_("{'results': [{'values': [[1000]], 'types': ['integer'], 'columns': ['COUNT(*)']}]}"))
self.n.restore('system_test/e2e/testdata/1000-numbers.db', fmt='binary')
self.poll_query(self.n, 'SELECT COUNT(*) from test', d_("{'results': [{'values': [[1000]], 'types': ['integer'], 'columns': ['COUNT(*)']}]}"))
def tearDown(self):
deprovision_node(self.n)

Loading…
Cancel
Save