Pull corpus_trigger to directory unique to each testcase.
Test: HAL Fuzzing Test
Bug: 64022625
Change-Id: I331eed775e2d1b18c4edf3e42a50702147b50af0
diff --git a/template/libfuzzer_test/libfuzzer_test.py b/template/libfuzzer_test/libfuzzer_test.py
index 239b2f1..d72f346 100644
--- a/template/libfuzzer_test/libfuzzer_test.py
+++ b/template/libfuzzer_test/libfuzzer_test.py
@@ -190,6 +190,15 @@
except adb.AdbError as e:
logging.exception(e)
+ corpus_trigger_dir = os.path.join(self._temp_dir,
+ test_case.GetCorpusTriggerDir())
+ os.makedirs(corpus_trigger_dir)
+ try:
+ self._dut.adb.pull(config.FUZZER_TEST_CRASH_REPORT, corpus_trigger_dir)
+ except adb.AdbError as e:
+ logging.exception(e)
+ logging.error('crash report was not created during test run.')
+
try:
self._dut.adb.pull(test_case.GetCorpusOutDir(), self._temp_dir)
self.AnalyzeGeneratedCorpus(test_case)
@@ -198,12 +207,6 @@
except adb.AdbError as e:
logging.exception(e)
- try:
- self._dut.adb.pull(config.FUZZER_TEST_CRASH_REPORT, self._temp_dir)
- except adb.AdbError as e:
- logging.exception(e)
- logging.error('crash report was not created during test run.')
-
self.EvaluateTestcase(test_case, result, inuse_seed)
self.AssertTestResult(test_case, result)
diff --git a/template/libfuzzer_test/libfuzzer_test_case.py b/template/libfuzzer_test/libfuzzer_test_case.py
index dd45001..13dd903 100644
--- a/template/libfuzzer_test/libfuzzer_test_case.py
+++ b/template/libfuzzer_test/libfuzzer_test_case.py
@@ -53,6 +53,10 @@
"""Returns corpus seed directory name on target."""
return self._GetCorpusDir() + '_seed'
+ def GetCorpusTriggerDir(self):
+ """Returns basename of corpus trigger directory."""
+ return '%s_corpus_trigger' % self._test_name
+
def CreateFuzzerFlags(self):
"""Creates flags for the fuzzer executable.