|
22 | 22 | class TestRunnerDBTestTask(FlavorBaseTask,
|
23 | 23 | SpawnTestEnvironmentParameter,
|
24 | 24 | RunDBTestsInTestConfigParameter):
|
25 |
| - # TODO execute tests only if the exported container is new build |
26 |
| - # - a pulled one is ok, |
27 |
| - # - needs change in image-info and export-info) |
28 |
| - # - add options force tests |
29 |
| - # - only possible if the hash of exaslc also goes into the image hashes |
30 |
| - |
31 | 25 | reuse_uploaded_container = luigi.BoolParameter(False, significant=False)
|
32 | 26 | release_goal = luigi.Parameter()
|
33 | 27 |
|
@@ -62,41 +56,42 @@ def run_task(self):
|
62 | 56 | export_info = export_infos[self.release_goal]
|
63 | 57 | self.test_environment_info = self.get_values_from_future(
|
64 | 58 | self._test_environment_info_future) # type: EnvironmentInfo
|
65 |
| - reuse_release_container = \ |
66 |
| - self.reuse_database and \ |
67 |
| - self.reuse_uploaded_container and \ |
68 |
| - not export_info.is_new |
69 | 59 | database_credentials = self.get_database_credentials()
|
70 | 60 | yield from self.upload_container(database_credentials,
|
71 |
| - export_info, |
72 |
| - reuse_release_container) |
| 61 | + export_info) |
73 | 62 | yield from self.populate_test_engine_data(self.test_environment_info, database_credentials)
|
74 | 63 | test_results = yield from self.run_test(self.test_environment_info, export_info)
|
75 | 64 | self.return_object(test_results)
|
76 | 65 |
|
77 |
| - def upload_container(self, database_credentials, export_info, reuse_release_container): |
| 66 | + def upload_container(self, database_credentials: DatabaseCredentials, export_info: ExportInfo): |
| 67 | + reuse = \ |
| 68 | + self.reuse_database and \ |
| 69 | + self.reuse_uploaded_container and \ |
| 70 | + not export_info.is_new |
78 | 71 | upload_task = self.create_child_task_with_common_params(
|
79 | 72 | UploadExportedContainer,
|
80 | 73 | export_info=export_info,
|
81 | 74 | environment_name=self.test_environment_info.name,
|
82 | 75 | test_environment_info=self.test_environment_info,
|
83 | 76 | release_name=export_info.name,
|
84 |
| - reuse_uploaded=reuse_release_container, |
| 77 | + reuse_uploaded=reuse, |
85 | 78 | bucketfs_write_password=database_credentials.bucketfs_write_password
|
86 | 79 | )
|
87 | 80 | yield from self.run_dependencies(upload_task)
|
88 | 81 |
|
89 | 82 | def populate_test_engine_data(self, test_environment_info: EnvironmentInfo,
|
90 | 83 | database_credentials: DatabaseCredentials) -> None:
|
91 |
| - task = self.create_child_task( |
92 |
| - PopulateTestEngine, |
93 |
| - test_environment_info=test_environment_info, |
94 |
| - environment_name=self.test_environment_info.name, |
95 |
| - db_user=database_credentials.db_user, |
96 |
| - db_password=database_credentials.db_password, |
97 |
| - bucketfs_write_password=database_credentials.bucketfs_write_password |
98 |
| - ) |
99 |
| - yield from self.run_dependencies(task) |
| 84 | + reuse = self.reuse_database_setup and self.test_environment_info.database_info.reused |
| 85 | + if not reuse: |
| 86 | + task = self.create_child_task( |
| 87 | + PopulateTestEngine, |
| 88 | + test_environment_info=test_environment_info, |
| 89 | + environment_name=self.test_environment_info.name, |
| 90 | + db_user=database_credentials.db_user, |
| 91 | + db_password=database_credentials.db_password, |
| 92 | + bucketfs_write_password=database_credentials.bucketfs_write_password |
| 93 | + ) |
| 94 | + yield from self.run_dependencies(task) |
100 | 95 |
|
101 | 96 | def get_database_credentials(self) -> DatabaseCredentials:
|
102 | 97 | if self.environment_type == EnvironmentType.external_db:
|
|
0 commit comments