# # Copyright OpenEmbedded Contributors # # SPDX-License-Identifier: MIT # import os import sys import subprocess import shutil from oeqa.selftest.case import OESelftestTestCase from yocto_testresults_query import get_sha1, create_workdir basepath = os.path.abspath(os.path.dirname(__file__) + '/../../../../../') lib_path = basepath + '/scripts/lib' sys.path = sys.path + [lib_path] class TestResultsQueryTests(OESelftestTestCase): def test_get_sha1(self): test_data_get_sha1 = [ {"input": "yocto-4.0", "expected": "00cfdde791a0176c134f31e5a09eff725e75b905"}, {"input": "4.1_M1", "expected": "95066dde6861ee08fdb505ab3e0422156cc24fae"}, ] for data in test_data_get_sha1: test_name = data["input"] with self.subTest(f"Test SHA1 from {test_name}"): self.assertEqual( get_sha1(basepath, data["input"]), data["expected"]) def test_create_workdir(self): workdir = create_workdir() try: url = subprocess.check_output( ["git", "-C", workdir, "remote", "get-url", "origin"]).strip().decode("utf-8") except: shutil.rmtree(workdir, ignore_errors=True) self.fail(f"Can not execute git commands in {workdir}") shutil.rmtree(workdir) self.assertEqual(url, "git://git.yoctoproject.org/yocto-testresults")