summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/hashserv/tests.py
diff options
context:
space:
mode:
authorJoshua Watt <JPEWhacker@gmail.com>2023-11-03 08:26:26 -0600
committerRichard Purdie <richard.purdie@linuxfoundation.org>2023-11-09 17:33:02 +0000
commitcfbb1d2cc01565610ba06a755e10425ff2076d9b (patch)
tree0e703d7210246573d50e1b07fd505c0001a9ae17 /bitbake/lib/hashserv/tests.py
parentbaa3e5391daf41b6dd6e914a112abb00d3517da1 (diff)
downloadpoky-cfbb1d2cc01565610ba06a755e10425ff2076d9b.tar.gz
bitbake: hashserv: Add SQLalchemy backend
Adds an SQLAlchemy backend to the server. While this database backend is slower than the more direct sqlite backend, it easily supports just about any SQL server, which is useful for large scale deployments. (Bitbake rev: e0b73466dd7478c77c82f46879246c1b68b228c0) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib/hashserv/tests.py')
-rw-r--r--bitbake/lib/hashserv/tests.py19
1 files changed, 18 insertions, 1 deletions
diff --git a/bitbake/lib/hashserv/tests.py b/bitbake/lib/hashserv/tests.py
index 4c98a280a5..268b27006f 100644
--- a/bitbake/lib/hashserv/tests.py
+++ b/bitbake/lib/hashserv/tests.py
@@ -33,7 +33,7 @@ class HashEquivalenceTestSetup(object):
33 def start_server(self, dbpath=None, upstream=None, read_only=False, prefunc=server_prefunc): 33 def start_server(self, dbpath=None, upstream=None, read_only=False, prefunc=server_prefunc):
34 self.server_index += 1 34 self.server_index += 1
35 if dbpath is None: 35 if dbpath is None:
36 dbpath = os.path.join(self.temp_dir.name, "db%d.sqlite" % self.server_index) 36 dbpath = self.make_dbpath()
37 37
38 def cleanup_server(server): 38 def cleanup_server(server):
39 if server.process.exitcode is not None: 39 if server.process.exitcode is not None:
@@ -53,6 +53,9 @@ class HashEquivalenceTestSetup(object):
53 53
54 return server 54 return server
55 55
56 def make_dbpath(self):
57 return os.path.join(self.temp_dir.name, "db%d.sqlite" % self.server_index)
58
56 def start_client(self, server_address): 59 def start_client(self, server_address):
57 def cleanup_client(client): 60 def cleanup_client(client):
58 client.close() 61 client.close()
@@ -517,6 +520,20 @@ class TestHashEquivalenceWebsocketServer(HashEquivalenceTestSetup, HashEquivalen
517 return "ws://%s:0" % host 520 return "ws://%s:0" % host
518 521
519 522
523class TestHashEquivalenceWebsocketsSQLAlchemyServer(TestHashEquivalenceWebsocketServer):
524 def setUp(self):
525 try:
526 import sqlalchemy
527 import aiosqlite
528 except ImportError as e:
529 self.skipTest(str(e))
530
531 super().setUp()
532
533 def make_dbpath(self):
534 return "sqlite+aiosqlite:///%s" % os.path.join(self.temp_dir.name, "db%d.sqlite" % self.server_index)
535
536
520class TestHashEquivalenceExternalServer(HashEquivalenceTestSetup, HashEquivalenceCommonTests, unittest.TestCase): 537class TestHashEquivalenceExternalServer(HashEquivalenceTestSetup, HashEquivalenceCommonTests, unittest.TestCase):
521 def start_test_server(self): 538 def start_test_server(self):
522 if 'BB_TEST_HASHSERV' not in os.environ: 539 if 'BB_TEST_HASHSERV' not in os.environ: