diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2019-08-02 15:32:27 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2019-08-06 11:21:07 +0100 |
commit | 477321d0780df177c1582db119c2bb6795912fc6 (patch) | |
tree | 2cf62eed91f6f61500eeaee6dead987453f9dc0a /lib/bb/siggen.py | |
parent | cfeffb602dd5319f071cd6bcf84139ec77f2d170 (diff) | |
download | bitbake-477321d0780df177c1582db119c2bb6795912fc6.tar.gz |
tests/runqueue: Add hashserv+runqueue test
Add a test which tests the runqueue adaptations for hash equivalency.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'lib/bb/siggen.py')
-rw-r--r-- | lib/bb/siggen.py | 23 |
1 files changed, 19 insertions, 4 deletions
diff --git a/lib/bb/siggen.py b/lib/bb/siggen.py index 912c92c8b..b50355930 100644 --- a/lib/bb/siggen.py +++ b/lib/bb/siggen.py @@ -12,6 +12,7 @@ import bb.data import difflib import simplediff from bb.checksum import FileChecksumCache +from bb import runqueue logger = logging.getLogger('BitBake.SigGen') @@ -473,10 +474,12 @@ class SignatureGeneratorUniHashMixIn(object): locs = {'path': path, 'sigfile': sigfile, 'task': task, 'd': d} - (module, method) = self.method.rsplit('.', 1) - locs['method'] = getattr(importlib.import_module(module), method) - - outhash = bb.utils.better_eval('method(path, sigfile, task, d)', locs) + if "." in self.method: + (module, method) = self.method.rsplit('.', 1) + locs['method'] = getattr(importlib.import_module(module), method) + outhash = bb.utils.better_eval('method(path, sigfile, task, d)', locs) + else: + outhash = bb.utils.better_eval(self.method + '(path, sigfile, task, d)', locs) try: url = '%s/v1/equivalent' % self.server @@ -527,6 +530,18 @@ class SignatureGeneratorUniHashMixIn(object): except OSError: pass + +# +# Dummy class used for bitbake-selftest +# +class SignatureGeneratorTestEquivHash(SignatureGeneratorUniHashMixIn, SignatureGeneratorBasicHash): + name = "TestEquivHash" + def init_rundepcheck(self, data): + super().init_rundepcheck(data) + self.server = "http://" + data.getVar('BB_HASHSERVE') + self.method = "sstate_output_hash" + + def dump_this_task(outfile, d): import bb.parse fn = d.getVar("BB_FILENAME") |