@@ -805,30 +805,39 @@ public function run(TestResult $result = null): TestResult
805
805
$ phar = '\'\'' ;
806
806
}
807
807
808
- $ codeCoverage = $ result ->getCodeCoverage ();
809
- $ codeCoverageFilter = null ;
810
- $ driverMethod = 'forLineCoverage ' ;
808
+ $ codeCoverage = $ result ->getCodeCoverage ();
809
+ $ codeCoverageFilter = null ;
810
+ $ cachesStaticAnalysis = 'false ' ;
811
+ $ codeCoverageCacheDirectory = null ;
812
+ $ driverMethod = 'forLineCoverage ' ;
811
813
812
814
if ($ codeCoverage ) {
813
815
$ codeCoverageFilter = $ codeCoverage ->filter ();
814
816
815
817
if ($ codeCoverage ->collectsBranchAndPathCoverage ()) {
816
818
$ driverMethod = 'forLineAndPathCoverage ' ;
817
819
}
820
+
821
+ if ($ codeCoverage ->cachesStaticAnalysis ()) {
822
+ $ cachesStaticAnalysis = 'true ' ;
823
+ $ codeCoverageCacheDirectory = $ codeCoverage ->cacheDirectory ();
824
+ }
818
825
}
819
826
820
- $ data = var_export (serialize ($ this ->data ), true );
821
- $ dataName = var_export ($ this ->dataName , true );
822
- $ dependencyInput = var_export (serialize ($ this ->dependencyInput ), true );
823
- $ includePath = var_export (get_include_path (), true );
824
- $ codeCoverageFilter = var_export (serialize ($ codeCoverageFilter ), true );
827
+ $ data = var_export (serialize ($ this ->data ), true );
828
+ $ dataName = var_export ($ this ->dataName , true );
829
+ $ dependencyInput = var_export (serialize ($ this ->dependencyInput ), true );
830
+ $ includePath = var_export (get_include_path (), true );
831
+ $ codeCoverageFilter = var_export (serialize ($ codeCoverageFilter ), true );
832
+ $ codeCoverageCacheDirectory = var_export (serialize ($ codeCoverageCacheDirectory ), true );
825
833
// must do these fixes because TestCaseMethod.tpl has unserialize('{data}') in it, and we can't break BC
826
834
// the lines above used to use addcslashes() rather than var_export(), which breaks null byte escape sequences
827
- $ data = "'. " . $ data . ".' " ;
828
- $ dataName = "'.( " . $ dataName . ").' " ;
829
- $ dependencyInput = "'. " . $ dependencyInput . ".' " ;
830
- $ includePath = "'. " . $ includePath . ".' " ;
831
- $ codeCoverageFilter = "'. " . $ codeCoverageFilter . ".' " ;
835
+ $ data = "'. " . $ data . ".' " ;
836
+ $ dataName = "'.( " . $ dataName . ").' " ;
837
+ $ dependencyInput = "'. " . $ dependencyInput . ".' " ;
838
+ $ includePath = "'. " . $ includePath . ".' " ;
839
+ $ codeCoverageFilter = "'. " . $ codeCoverageFilter . ".' " ;
840
+ $ codeCoverageCacheDirectory = "'. " . $ codeCoverageCacheDirectory . ".' " ;
832
841
833
842
$ configurationFilePath = $ GLOBALS ['__PHPUNIT_CONFIGURATION_FILE ' ] ?? '' ;
834
843
@@ -838,6 +847,8 @@ public function run(TestResult $result = null): TestResult
838
847
'filename ' => $ class ->getFileName (),
839
848
'className ' => $ class ->getName (),
840
849
'collectCodeCoverageInformation ' => $ coverage ,
850
+ 'cachesStaticAnalysis ' => $ cachesStaticAnalysis ,
851
+ 'codeCoverageCacheDirectory ' => $ codeCoverageCacheDirectory ,
841
852
'driverMethod ' => $ driverMethod ,
842
853
'data ' => $ data ,
843
854
'dataName ' => $ dataName ,
0 commit comments