diff options
author | Joshua Watt <JPEWhacker@gmail.com> | 2023-11-03 08:26:26 -0600 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2023-11-09 17:33:02 +0000 |
commit | cfbb1d2cc01565610ba06a755e10425ff2076d9b (patch) | |
tree | 0e703d7210246573d50e1b07fd505c0001a9ae17 /bitbake/lib/hashserv/tests.py | |
parent | baa3e5391daf41b6dd6e914a112abb00d3517da1 (diff) | |
download | poky-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.py | 19 |
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 | ||
523 | class 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 | |||
520 | class TestHashEquivalenceExternalServer(HashEquivalenceTestSetup, HashEquivalenceCommonTests, unittest.TestCase): | 537 | class 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: |