Commit: cfbda5e1297236fc74c183d96422f277d26f0915 Author: Allen Truong <v-alt...@microsoft.com> Wed, 1 May 2019 12:07:04 -0700 Committer: Anatol Belski <a...@php.net> Tue, 7 May 2019 21:34:32 +0200 Parents: b1704f17dd71abd5d4b8064019f5ecd9fcd9e9d5 Branches: master
Link: http://git.php.net/?p=pftt2.git;a=commitdiff;h=cfbda5e1297236fc74c183d96422f277d26f0915 Log: Issue #19: Have pftt delete the files created to run the test if the test passes. Bugs: https://bugs.php.net/19 Changed paths: M .classpath M src/com/mostc/pftt/model/core/PhptSourceTestPack.java M src/com/mostc/pftt/runner/AbstractPhptTestCaseRunner.java M src/com/mostc/pftt/runner/PhptTestPreparer.java Diff: diff --git a/.classpath b/.classpath index 75579dd..4d802ae 100644 --- a/.classpath +++ b/.classpath @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <classpath> - <classpathentry excluding="com/mostc/pftt/scenario/AzureWebsitesScenario.java|com/mostc/pftt/scenario/AzureKuduVFSScenario.java" kind="src" path="src"/> + <classpathentry excluding="com/mostc/pftt/scenario/AzureWebsitesScenario.java" kind="src" path="src"/> <classpathentry exported="true" kind="lib" path="lib/htmlcleaner-2.2.jar"/> <classpathentry exported="true" kind="lib" path="lib/icu4j-49_1.jar"/> <classpathentry exported="true" kind="lib" path="lib/icudata.jar"/> diff --git a/src/com/mostc/pftt/model/core/PhptSourceTestPack.java b/src/com/mostc/pftt/model/core/PhptSourceTestPack.java index 693ad8d..aeca356 100644 --- a/src/com/mostc/pftt/model/core/PhptSourceTestPack.java +++ b/src/com/mostc/pftt/model/core/PhptSourceTestPack.java @@ -142,6 +142,7 @@ public class PhptSourceTestPack extends SourceTestPack<PhptActiveTestPack, PhptT fs.deleteFileExtension(test_pack, ".skip.php"); fs.deleteFileExtension(test_pack, ".cmd"); fs.deleteFileExtension(test_pack, ".sh"); + fs.deleteFileExtension(test_pack, ".clean.php"); fs.deleteFileExtension(test_pack, ".tmp"); // don't delete .php (specifically run-test.php) in root of test-pack (user may want it later) IFileChooser PHP_CHOOSER = new IFileChooser() { diff --git a/src/com/mostc/pftt/runner/AbstractPhptTestCaseRunner.java b/src/com/mostc/pftt/runner/AbstractPhptTestCaseRunner.java index 5c2bf4b..657c143 100644 --- a/src/com/mostc/pftt/runner/AbstractPhptTestCaseRunner.java +++ b/src/com/mostc/pftt/runner/AbstractPhptTestCaseRunner.java @@ -210,21 +210,25 @@ public abstract class AbstractPhptTestCaseRunner extends AbstractTestCaseRunner< // some tests create files/dirs which, which will cause the test to fail again // if its run in-place from the same test-pack - if (!cm.isPhptNotInPlace()&&prep.test_clean!=null&&!host.isBusy()) { + if (!cm.isPhptNotInPlace()&&prep.test_clean!=null) { current_section = EPhptSection.CLEAN; // @see #getSAPIOutput - executeClean(); // #executeClean != #doRunTestClean + executeClean(); // clean based on test file + } + + // if test passed, remove files created to run the test + if(result.status.name() == EPhptTestStatus.PASS.toString()) { + removeTempFiles(); } } - - if (!host.isBusy()) - doRunTestClean(cm); } protected void redoCrashedTest() throws Exception { } - protected void doRunTestClean(ConsoleManager cm) throws IllegalStateException, IOException { - + protected void removeTempFiles() throws IllegalStateException, IOException { + fs.deleteIfExists(prep.test_clean); + fs.deleteIfExists(prep.test_file); + fs.deleteIfExists(prep.test_dir + "\\" + prep.base_file_name + ".php.cmd"); } /** prepares to execute the test case up to executing the SKIPIF section diff --git a/src/com/mostc/pftt/runner/PhptTestPreparer.java b/src/com/mostc/pftt/runner/PhptTestPreparer.java index a38328d..73440f5 100644 --- a/src/com/mostc/pftt/runner/PhptTestPreparer.java +++ b/src/com/mostc/pftt/runner/PhptTestPreparer.java @@ -9,6 +9,7 @@ import com.mostc.pftt.model.core.EPhptSection; import com.mostc.pftt.model.core.PhptActiveTestPack; import com.mostc.pftt.model.core.PhptSourceTestPack; import com.mostc.pftt.model.core.PhptTestCase; +import com.mostc.pftt.scenario.AzureKuduVFSScenario; // TODO import com.mostc.pftt.scenario.AzureWebsitesScenario; import com.mostc.pftt.scenario.FileSystemScenario; @@ -56,9 +57,9 @@ public class PhptTestPreparer { if (test_case.containsSection(EPhptSection.CLEAN)) { prep.test_clean = host.joinIntoOnePath(prep.test_dir, prep.base_file_name + ".clean.php"); - /* TODO if (!AzureWebsitesScenario.check(fs)) { + if (!(fs instanceof AzureKuduVFSScenario)) { fs.saveTextFile(prep.test_clean, test_case.get(EPhptSection.CLEAN)); - } */ + } } // else test_clean = null; return prep;