ext,tests: Copy test's output files from /tmp to testing-results
When a test is complete, the output files are in a random folder in /tmp. This commit adds a procedure copying those files to testing-results/SuiteUID/TestUID/ folder, where SuiteUID and TestUID are the corresponding uid's of the test. This procedure is triggered after a test is complete and before the folder in /tmp being removed. Change-Id: Id960e7f2f1629769008ae99aff4c8bfafa9ca849 Signed-off-by: Hoa Nguyen <hoanguyen@ucdavis.edu> Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/33998 Tested-by: kokoro <noreply+kokoro@google.com> Reviewed-by: Jason Lowe-Power <power.jg@gmail.com> Maintainer: Jason Lowe-Power <power.jg@gmail.com>
This commit is contained in:
@@ -67,6 +67,23 @@ class TempdirFixture(Fixture):
|
||||
def setup(self, testitem):
|
||||
self.path = tempfile.mkdtemp(prefix='gem5out')
|
||||
|
||||
def post_test_procedure(self, testitem):
|
||||
suiteUID = testitem.metadata.uid.suite
|
||||
testUID = testitem.metadata.name
|
||||
testing_result_folder = os.path.join(config.result_path,
|
||||
"SuiteUID:" + suiteUID,
|
||||
"TestUID:" + testUID)
|
||||
|
||||
# Copy the output files of the run from /tmp to testing-results
|
||||
# We want to wipe the entire result folder for this test first. Why?
|
||||
# If the result folder exists (probably from the previous run), if
|
||||
# this run emits fewer files, there'll be files from the previous
|
||||
# run in this folder, which would cause confusion if one does not
|
||||
# check the timestamp of the file.
|
||||
if os.path.exists(testing_result_folder):
|
||||
shutil.rmtree(testing_result_folder)
|
||||
shutil.copytree(self.path, testing_result_folder)
|
||||
|
||||
def teardown(self, testitem):
|
||||
if testitem.result == Result.Passed:
|
||||
shutil.rmtree(self.path)
|
||||
|
||||
Reference in New Issue
Block a user