Changeset View
Changeset View
Standalone View
Standalone View
lilybuild/lilybuild/tests/ci_syntax/ci_file_test.py
| Show First 20 Lines • Show All 174 Lines • ▼ Show 20 Lines | def test_extends(self): | ||||
| 'script': ['make appimage'], | 'script': ['make appimage'], | ||||
| 'tags': ['aarch64'] | 'tags': ['aarch64'] | ||||
| }) | }) | ||||
| def test_variables(self): | def test_variables(self): | ||||
| r = CIFile(get_res('variables')) | r = CIFile(get_res('variables')) | ||||
| self.assertEqual(r.jobs['build-a'].get_predefined_ci_variables()['foo'], 'bar') | self.assertEqual(r.jobs['build-a'].get_predefined_ci_variables()['foo'], 'bar') | ||||
| def test_when_only_except(self): | |||||
| r = CIFile(get_res('when-only-except')) | |||||
| expected_if = r'''($CI_COMMIT_REF_NAME =~ /a/ || $CI_COMMIT_REF_NAME =~ /bb$/ || $CI_COMMIT_REF_NAME == "ccccccc" || $CI_COMMIT_REF_NAME == "ddd" || $CI_COMMIT_REF_NAME == "ff\\\\\"f" || $CI_COMMIT_REF_NAME == "ff\\'f" || $CI_COMMIT_REF_NAME == "ff\\\"") && !($CI_COMMIT_REF_NAME == "bbb" || $CI_COMMIT_REF_NAME =~ /^ba/ || $CI_COMMIT_REF_NAME =~ /ff\w/ || $CI_COMMIT_REF_NAME =~ /@@@/ || $CI_COMMIT_REF_NAME == "@@@")''' | |||||
| self.assertEqual(r.jobs['a'].rules, [{ | |||||
| 'when': 'manual', | |||||
| 'if': expected_if | |||||
| }]) | |||||
| self.assertEqual(r.jobs['b'].rules, [{ | |||||
| 'if': '($CI_COMMIT_REF_NAME == "servant")' | |||||
| }]) | |||||
| self.assertEqual(r.jobs['c'].rules, [{ | |||||
| 'if': '!($CI_COMMIT_REF_NAME == "servant")' | |||||
| }]) | |||||
| self.assertEqual(r.jobs['d'].rules, []) | |||||
| self.assertEqual(r.jobs['e'].rules, [{ | |||||
| 'when': 'always' | |||||
| }]) | |||||
| class GetJobExtendSeqTest(unittest.TestCase): | class GetJobExtendSeqTest(unittest.TestCase): | ||||
| def test_no_extends(self): | def test_no_extends(self): | ||||
| all_jobs = { | all_jobs = { | ||||
| 'nothing': {} | 'nothing': {} | ||||
| } | } | ||||
| self.assertEqual(get_job_extend_seq('nothing', all_jobs), ['nothing']) | self.assertEqual(get_job_extend_seq('nothing', all_jobs), ['nothing']) | ||||
| def test_multi_extends(self): | def test_multi_extends(self): | ||||
| ▲ Show 20 Lines • Show All 125 Lines • Show Last 20 Lines | |||||