Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Prefix all "vendor" code bundled in PHAR distribution with "PHPUnit" namespace #3575

Conversation

sebastianfeldmann
Copy link
Sponsor

@sebastianfeldmann sebastianfeldmann commented Mar 26, 2019

This is a follow up pull request of #3086 where @kambo-1st and @theofidry layed the ground work to implement this feature.

What changed:
The ant phar task was manipulated the following way.

  • added phpscoper binary and necessary files to the tools directory
  • after copying all files to the build/phar directory php-scoper gets executed
  • php-scoper copies alle files from build/phar to build/phar-scoped and prefixes all classes with the PHPUnit namespace
  • then phpab gets executed using the new scoped-phar directory instead of the original phar one.

If you want to test the files php-scoper generated. You can comment the lines 393 and 394 in the ant configuration.

        <!-- <delete dir="${basedir}/build/phar"/> -->
        <!-- <delete dir="${basedir}/build/phar-scoped"/> -->

This way you can inspect the generated source code.

You can use the scoped code as is and not in phar by creating a custom autoloader like this.
build/php-scoper/autoload.php

<?php

require __DIR__ . '/myclabs-deep-copy/DeepCopy/DeepCopy.php';
require __DIR__ . '/myclabs-deep-copy/DeepCopy/Exception/CloneException.php';
require __DIR__ . '/myclabs-deep-copy/DeepCopy/Exception/PropertyException.php';
require __DIR__ . '/myclabs-deep-copy/DeepCopy/Filter/Filter.php';
require __DIR__ . '/myclabs-deep-copy/DeepCopy/Filter/Doctrine/DoctrineCollectionFilter.php';
require __DIR__ . '/myclabs-deep-copy/DeepCopy/Filter/Doctrine/DoctrineEmptyCollectionFilter.php';
require __DIR__ . '/myclabs-deep-copy/DeepCopy/Filter/Doctrine/DoctrineProxyFilter.php';
require __DIR__ . '/myclabs-deep-copy/DeepCopy/Filter/KeepFilter.php';
require __DIR__ . '/myclabs-deep-copy/DeepCopy/Filter/ReplaceFilter.php';
require __DIR__ . '/myclabs-deep-copy/DeepCopy/Filter/SetNullFilter.php';
require __DIR__ . '/myclabs-deep-copy/DeepCopy/Matcher/Matcher.php';
require __DIR__ . '/myclabs-deep-copy/DeepCopy/Matcher/Doctrine/DoctrineProxyMatcher.php';
require __DIR__ . '/myclabs-deep-copy/DeepCopy/Matcher/PropertyMatcher.php';
require __DIR__ . '/myclabs-deep-copy/DeepCopy/Matcher/PropertyNameMatcher.php';
require __DIR__ . '/myclabs-deep-copy/DeepCopy/Matcher/PropertyTypeMatcher.php';
require __DIR__ . '/myclabs-deep-copy/DeepCopy/Reflection/ReflectionHelper.php';
require __DIR__ . '/myclabs-deep-copy/DeepCopy/TypeFilter/TypeFilter.php';
require __DIR__ . '/myclabs-deep-copy/DeepCopy/TypeFilter/Date/DateIntervalFilter.php';
require __DIR__ . '/myclabs-deep-copy/DeepCopy/TypeFilter/ReplaceFilter.php';
require __DIR__ . '/myclabs-deep-copy/DeepCopy/TypeFilter/ShallowCopyFilter.php';
require __DIR__ . '/myclabs-deep-copy/DeepCopy/TypeFilter/Spl/SplDoublyLinkedListFilter.php';
require __DIR__ . '/myclabs-deep-copy/DeepCopy/TypeFilter/Spl/SplDoublyLinkedList.php';
require __DIR__ . '/myclabs-deep-copy/DeepCopy/TypeMatcher/TypeMatcher.php';
require __DIR__ . '/doctrine-instantiator/Doctrine/Instantiator/Exception/ExceptionInterface.php';
require __DIR__ . '/doctrine-instantiator/Doctrine/Instantiator/Exception/InvalidArgumentException.php';
require __DIR__ . '/doctrine-instantiator/Doctrine/Instantiator/Exception/UnexpectedValueException.php';
require __DIR__ . '/doctrine-instantiator/Doctrine/Instantiator/InstantiatorInterface.php';
require __DIR__ . '/doctrine-instantiator/Doctrine/Instantiator/Instantiator.php';
require __DIR__ . '/phpunit/Exception.php';
require __DIR__ . '/phpunit/Framework/Assert.php';
require __DIR__ . '/phpunit/Framework/SelfDescribing.php';
require __DIR__ . '/phpunit/Framework/Exception.php';
require __DIR__ . '/phpunit/Framework/AssertionFailedError.php';
require __DIR__ . '/phpunit/Framework/CodeCoverageException.php';
require __DIR__ . '/phpunit/Framework/Constraint/Constraint.php';
require __DIR__ . '/phpunit/Framework/Constraint/ArrayHasKey.php';
require __DIR__ . '/phpunit/Framework/Constraint/ArraySubset.php';
require __DIR__ . '/phpunit/Framework/Constraint/Composite.php';
require __DIR__ . '/phpunit/Framework/Constraint/Attribute.php';
require __DIR__ . '/phpunit/Framework/Constraint/Callback.php';
require __DIR__ . '/phpunit/Framework/Constraint/ClassHasAttribute.php';
require __DIR__ . '/phpunit/Framework/Constraint/ClassHasStaticAttribute.php';
require __DIR__ . '/phpunit/Framework/Constraint/Count.php';
require __DIR__ . '/phpunit/Framework/Constraint/DirectoryExists.php';
require __DIR__ . '/phpunit/Framework/Constraint/Exception.php';
require __DIR__ . '/phpunit/Framework/Constraint/ExceptionCode.php';
require __DIR__ . '/phpunit/Framework/Constraint/ExceptionMessage.php';
require __DIR__ . '/phpunit/Framework/Constraint/ExceptionMessageRegularExpression.php';
require __DIR__ . '/phpunit/Framework/Constraint/FileExists.php';
require __DIR__ . '/phpunit/Framework/Constraint/GreaterThan.php';
require __DIR__ . '/phpunit/Framework/Constraint/IsAnything.php';
require __DIR__ . '/phpunit/Framework/Constraint/IsEmpty.php';
require __DIR__ . '/phpunit/Framework/Constraint/IsEqual.php';
require __DIR__ . '/phpunit/Framework/Constraint/IsFalse.php';
require __DIR__ . '/phpunit/Framework/Constraint/IsFinite.php';
require __DIR__ . '/phpunit/Framework/Constraint/IsIdentical.php';
require __DIR__ . '/phpunit/Framework/Constraint/IsInfinite.php';
require __DIR__ . '/phpunit/Framework/Constraint/IsInstanceOf.php';
require __DIR__ . '/phpunit/Framework/Constraint/IsJson.php';
require __DIR__ . '/phpunit/Framework/Constraint/IsNan.php';
require __DIR__ . '/phpunit/Framework/Constraint/IsNull.php';
require __DIR__ . '/phpunit/Framework/Constraint/IsReadable.php';
require __DIR__ . '/phpunit/Framework/Constraint/IsTrue.php';
require __DIR__ . '/phpunit/Framework/Constraint/IsType.php';
require __DIR__ . '/phpunit/Framework/Constraint/IsWritable.php';
require __DIR__ . '/phpunit/Framework/Constraint/JsonMatches.php';
require __DIR__ . '/phpunit/Framework/Constraint/JsonMatchesErrorMessageProvider.php';
require __DIR__ . '/phpunit/Framework/Constraint/LessThan.php';
require __DIR__ . '/phpunit/Framework/Constraint/LogicalAnd.php';
require __DIR__ . '/phpunit/Framework/Constraint/LogicalNot.php';
require __DIR__ . '/phpunit/Framework/Constraint/LogicalOr.php';
require __DIR__ . '/phpunit/Framework/Constraint/LogicalXor.php';
require __DIR__ . '/phpunit/Framework/Constraint/ObjectHasAttribute.php';
require __DIR__ . '/phpunit/Framework/Constraint/RegularExpression.php';
require __DIR__ . '/phpunit/Framework/Constraint/SameSize.php';
require __DIR__ . '/phpunit/Framework/Constraint/StringContains.php';
require __DIR__ . '/phpunit/Framework/Constraint/StringEndsWith.php';
require __DIR__ . '/phpunit/Framework/Constraint/StringMatchesFormatDescription.php';
require __DIR__ . '/phpunit/Framework/Constraint/StringStartsWith.php';
require __DIR__ . '/phpunit/Framework/Constraint/TraversableContains.php';
require __DIR__ . '/phpunit/Framework/Constraint/TraversableContainsOnly.php';
require __DIR__ . '/phpunit/Framework/RiskyTest.php';
require __DIR__ . '/phpunit/Framework/RiskyTestError.php';
require __DIR__ . '/phpunit/Framework/CoveredCodeNotExecutedException.php';
require __DIR__ . '/phpunit/Framework/Test.php';
require __DIR__ . '/phpunit/Framework/TestSuite.php';
require __DIR__ . '/phpunit/Framework/DataProviderTestSuite.php';
require __DIR__ . '/phpunit/Framework/Error/Error.php';
require __DIR__ . '/phpunit/Framework/Error/Deprecated.php';
require __DIR__ . '/phpunit/Framework/Error/Notice.php';
require __DIR__ . '/phpunit/Framework/Error/Warning.php';
require __DIR__ . '/phpunit/Framework/ExceptionWrapper.php';
require __DIR__ . '/phpunit/Framework/ExpectationFailedException.php';
require __DIR__ . '/phpunit/Framework/IncompleteTest.php';
require __DIR__ . '/phpunit/Framework/TestCase.php';
require __DIR__ . '/phpunit/Framework/IncompleteTestCase.php';
require __DIR__ . '/phpunit/Framework/IncompleteTestError.php';
require __DIR__ . '/phpunit/Framework/InvalidCoversTargetException.php';
require __DIR__ . '/phpunit/Framework/InvalidDataProviderException.php';
require __DIR__ . '/phpunit/Framework/MissingCoversAnnotationException.php';
require __DIR__ . '/phpunit/Framework/MockObject/Exception/Exception.php';
require __DIR__ . '/phpunit/Framework/MockObject/Exception/BadMethodCallException.php';
require __DIR__ . '/phpunit/Framework/MockObject/Builder/Identity.php';
require __DIR__ . '/phpunit/Framework/MockObject/Builder/Stub.php';
require __DIR__ . '/phpunit/Framework/MockObject/Builder/Match.php';
require __DIR__ . '/phpunit/Framework/MockObject/Builder/ParametersMatch.php';
require __DIR__ . '/phpunit/Framework/MockObject/Builder/MethodNameMatch.php';
require __DIR__ . '/phpunit/Framework/MockObject/Builder/InvocationMocker.php';
require __DIR__ . '/phpunit/Framework/MockObject/Builder/NamespaceMatch.php';
require __DIR__ . '/phpunit/Framework/MockObject/Generator.php';
require __DIR__ . '/phpunit/Framework/MockObject/Invocation/Invocation.php';
require __DIR__ . '/phpunit/Framework/MockObject/Stub/MatcherCollection.php';
require __DIR__ . '/phpunit/Framework/MockObject/Verifiable.php';
require __DIR__ . '/phpunit/Framework/MockObject/Invokable.php';
require __DIR__ . '/phpunit/Framework/MockObject/InvocationMocker.php';
require __DIR__ . '/phpunit/Framework/MockObject/Invocation/StaticInvocation.php';
require __DIR__ . '/phpunit/Framework/MockObject/Invocation/ObjectInvocation.php';
require __DIR__ . '/phpunit/Framework/MockObject/Matcher/Invocation.php';
require __DIR__ . '/phpunit/Framework/MockObject/Matcher.php';
require __DIR__ . '/phpunit/Framework/MockObject/Matcher/InvokedRecorder.php';
require __DIR__ . '/phpunit/Framework/MockObject/Matcher/AnyInvokedCount.php';
require __DIR__ . '/phpunit/Framework/MockObject/Matcher/StatelessInvocation.php';
require __DIR__ . '/phpunit/Framework/MockObject/Matcher/AnyParameters.php';
require __DIR__ . '/phpunit/Framework/MockObject/Matcher/ConsecutiveParameters.php';
require __DIR__ . '/phpunit/Framework/MockObject/Matcher/DeferredError.php';
require __DIR__ . '/phpunit/Framework/MockObject/Matcher/InvokedAtIndex.php';
require __DIR__ . '/phpunit/Framework/MockObject/Matcher/InvokedAtLeastCount.php';
require __DIR__ . '/phpunit/Framework/MockObject/Matcher/InvokedAtLeastOnce.php';
require __DIR__ . '/phpunit/Framework/MockObject/Matcher/InvokedAtMostCount.php';
require __DIR__ . '/phpunit/Framework/MockObject/Matcher/InvokedCount.php';
require __DIR__ . '/phpunit/Framework/MockObject/Matcher/MethodName.php';
require __DIR__ . '/phpunit/Framework/MockObject/Matcher/Parameters.php';
require __DIR__ . '/phpunit/Framework/MockObject/MockBuilder.php';
require __DIR__ . '/phpunit/Framework/MockObject/MockMethod.php';
require __DIR__ . '/phpunit/Framework/MockObject/MockMethodSet.php';
require __DIR__ . '/phpunit/Framework/MockObject/MockObject.php';
require __DIR__ . '/phpunit/Framework/MockObject/Exception/RuntimeException.php';
require __DIR__ . '/phpunit/Framework/MockObject/Stub.php';
require __DIR__ . '/phpunit/Framework/MockObject/Stub/ConsecutiveCalls.php';
require __DIR__ . '/phpunit/Framework/MockObject/Stub/Exception.php';
require __DIR__ . '/phpunit/Framework/MockObject/Stub/ReturnArgument.php';
require __DIR__ . '/phpunit/Framework/MockObject/Stub/ReturnCallback.php';
require __DIR__ . '/phpunit/Framework/MockObject/Stub/ReturnReference.php';
require __DIR__ . '/phpunit/Framework/MockObject/Stub/ReturnSelf.php';
require __DIR__ . '/phpunit/Framework/MockObject/Stub/ReturnStub.php';
require __DIR__ . '/phpunit/Framework/MockObject/Stub/ReturnValueMap.php';
require __DIR__ . '/phpunit/Framework/OutputError.php';
require __DIR__ . '/phpunit/Framework/SyntheticError.php';
require __DIR__ . '/phpunit/Framework/PHPTAssertionFailedError.php';
require __DIR__ . '/phpunit/Framework/SkippedTest.php';
require __DIR__ . '/phpunit/Framework/SkippedTestCase.php';
require __DIR__ . '/phpunit/Framework/SkippedTestError.php';
require __DIR__ . '/phpunit/Framework/SkippedTestSuiteError.php';
require __DIR__ . '/phpunit/Framework/SyntheticSkippedError.php';
require __DIR__ . '/phpunit/Framework/TestFailure.php';
require __DIR__ . '/phpunit/Framework/TestListener.php';
require __DIR__ . '/phpunit/Framework/TestListenerDefaultImplementation.php';
require __DIR__ . '/phpunit/Framework/TestResult.php';
require __DIR__ . '/phpunit/Framework/TestSuiteIterator.php';
require __DIR__ . '/phpunit/Framework/UnintentionallyCoveredCodeError.php';
require __DIR__ . '/phpunit/Framework/Warning.php';
require __DIR__ . '/phpunit/Framework/WarningTestCase.php';
require __DIR__ . '/phpunit/Util/Help.php';
require __DIR__ . '/php-token-stream/Token.php';
require __DIR__ . '/php-token-stream/Token/Stream.php';
require __DIR__ . '/php-token-stream/Token/Stream/CachingFactory.php';
require __DIR__ . '/phpspec-prophecy/Prophecy/Argument.php';
require __DIR__ . '/phpspec-prophecy/Prophecy/Argument/ArgumentsWildcard.php';
require __DIR__ . '/phpspec-prophecy/Prophecy/Argument/Token/TokenInterface.php';
require __DIR__ . '/phpspec-prophecy/Prophecy/Argument/Token/AnyValueToken.php';
require __DIR__ . '/phpspec-prophecy/Prophecy/Argument/Token/AnyValuesToken.php';
require __DIR__ . '/phpspec-prophecy/Prophecy/Argument/Token/ApproximateValueToken.php';
require __DIR__ . '/phpspec-prophecy/Prophecy/Argument/Token/ArrayCountToken.php';
require __DIR__ . '/phpspec-prophecy/Prophecy/Argument/Token/ArrayEntryToken.php';
require __DIR__ . '/phpspec-prophecy/Prophecy/Argument/Token/ArrayEveryEntryToken.php';
require __DIR__ . '/phpspec-prophecy/Prophecy/Argument/Token/CallbackToken.php';
require __DIR__ . '/phpspec-prophecy/Prophecy/Argument/Token/ExactValueToken.php';
require __DIR__ . '/phpspec-prophecy/Prophecy/Argument/Token/IdenticalValueToken.php';
require __DIR__ . '/phpspec-prophecy/Prophecy/Argument/Token/LogicalAndToken.php';
require __DIR__ . '/phpspec-prophecy/Prophecy/Argument/Token/LogicalNotToken.php';
require __DIR__ . '/phpspec-prophecy/Prophecy/Argument/Token/ObjectStateToken.php';
require __DIR__ . '/phpspec-prophecy/Prophecy/Argument/Token/StringContainsToken.php';
require __DIR__ . '/phpspec-prophecy/Prophecy/Argument/Token/TypeToken.php';
require __DIR__ . '/phpspec-prophecy/Prophecy/Call/Call.php';
require __DIR__ . '/phpspec-prophecy/Prophecy/Call/CallCenter.php';
require __DIR__ . '/sebastian-comparator/Comparator.php';
require __DIR__ . '/phpspec-prophecy/Prophecy/Comparator/ClosureComparator.php';
require __DIR__ . '/sebastian-comparator/Factory.php';
require __DIR__ . '/phpspec-prophecy/Prophecy/Comparator/Factory.php';
require __DIR__ . '/sebastian-comparator/ArrayComparator.php';
require __DIR__ . '/sebastian-comparator/ObjectComparator.php';
require __DIR__ . '/phpspec-prophecy/Prophecy/Comparator/ProphecyComparator.php';
require __DIR__ . '/phpspec-prophecy/Prophecy/Doubler/Doubler.php';
require __DIR__ . '/phpspec-prophecy/Prophecy/Doubler/CachedDoubler.php';
require __DIR__ . '/phpspec-prophecy/Prophecy/Doubler/ClassPatch/ClassPatchInterface.php';
require __DIR__ . '/phpspec-prophecy/Prophecy/Doubler/ClassPatch/DisableConstructorPatch.php';
require __DIR__ . '/phpspec-prophecy/Prophecy/Doubler/ClassPatch/HhvmExceptionPatch.php';
require __DIR__ . '/phpspec-prophecy/Prophecy/Doubler/ClassPatch/KeywordPatch.php';
require __DIR__ . '/phpspec-prophecy/Prophecy/Doubler/ClassPatch/MagicCallPatch.php';
require __DIR__ . '/phpspec-prophecy/Prophecy/Doubler/ClassPatch/ProphecySubjectPatch.php';
require __DIR__ . '/phpspec-prophecy/Prophecy/Doubler/ClassPatch/ReflectionClassNewInstancePatch.php';
require __DIR__ . '/phpspec-prophecy/Prophecy/Doubler/ClassPatch/SplFileInfoPatch.php';
require __DIR__ . '/phpspec-prophecy/Prophecy/Doubler/ClassPatch/ThrowablePatch.php';
require __DIR__ . '/phpspec-prophecy/Prophecy/Doubler/ClassPatch/TraversablePatch.php';
require __DIR__ . '/phpspec-prophecy/Prophecy/Doubler/DoubleInterface.php';
require __DIR__ . '/phpspec-prophecy/Prophecy/Doubler/Generator/ClassCodeGenerator.php';
require __DIR__ . '/phpspec-prophecy/Prophecy/Doubler/Generator/ClassCreator.php';
require __DIR__ . '/phpspec-prophecy/Prophecy/Doubler/Generator/ClassMirror.php';
require __DIR__ . '/phpspec-prophecy/Prophecy/Doubler/Generator/Node/ArgumentNode.php';
require __DIR__ . '/phpspec-prophecy/Prophecy/Doubler/Generator/Node/ClassNode.php';
require __DIR__ . '/phpspec-prophecy/Prophecy/Doubler/Generator/Node/MethodNode.php';
require __DIR__ . '/phpspec-prophecy/Prophecy/Doubler/Generator/ReflectionInterface.php';
require __DIR__ . '/phpspec-prophecy/Prophecy/Doubler/Generator/TypeHintReference.php';
require __DIR__ . '/phpspec-prophecy/Prophecy/Doubler/LazyDouble.php';
require __DIR__ . '/phpspec-prophecy/Prophecy/Doubler/NameGenerator.php';
require __DIR__ . '/phpspec-prophecy/Prophecy/Exception/Exception.php';
require __DIR__ . '/phpspec-prophecy/Prophecy/Exception/Prophecy/ProphecyException.php';
require __DIR__ . '/phpspec-prophecy/Prophecy/Exception/Prophecy/ObjectProphecyException.php';
require __DIR__ . '/phpspec-prophecy/Prophecy/Exception/Call/UnexpectedCallException.php';
require __DIR__ . '/phpspec-prophecy/Prophecy/Exception/Doubler/DoublerException.php';
require __DIR__ . '/phpspec-prophecy/Prophecy/Exception/Doubler/ClassCreatorException.php';
require __DIR__ . '/phpspec-prophecy/Prophecy/Exception/Doubler/ClassMirrorException.php';
require __DIR__ . '/phpspec-prophecy/Prophecy/Exception/Doubler/DoubleException.php';
require __DIR__ . '/phpspec-prophecy/Prophecy/Exception/Doubler/ClassNotFoundException.php';
require __DIR__ . '/phpspec-prophecy/Prophecy/Exception/Doubler/InterfaceNotFoundException.php';
require __DIR__ . '/phpspec-prophecy/Prophecy/Exception/Doubler/MethodNotExtendableException.php';
require __DIR__ . '/phpspec-prophecy/Prophecy/Exception/Doubler/MethodNotFoundException.php';
require __DIR__ . '/phpspec-prophecy/Prophecy/Exception/Doubler/ReturnByReferenceException.php';
require __DIR__ . '/phpspec-prophecy/Prophecy/Exception/InvalidArgumentException.php';
require __DIR__ . '/phpspec-prophecy/Prophecy/Exception/Prediction/PredictionException.php';
require __DIR__ . '/phpspec-prophecy/Prophecy/Exception/Prediction/AggregateException.php';
require __DIR__ . '/phpspec-prophecy/Prophecy/Exception/Prediction/FailedPredictionException.php';
require __DIR__ . '/phpspec-prophecy/Prophecy/Exception/Prophecy/MethodProphecyException.php';
require __DIR__ . '/phpspec-prophecy/Prophecy/Exception/Prediction/NoCallsException.php';
require __DIR__ . '/phpspec-prophecy/Prophecy/Exception/Prediction/UnexpectedCallsException.php';
require __DIR__ . '/phpspec-prophecy/Prophecy/Exception/Prediction/UnexpectedCallsCountException.php';
require __DIR__ . '/phpspec-prophecy/Prophecy/PhpDocumentor/MethodTagRetrieverInterface.php';
require __DIR__ . '/phpspec-prophecy/Prophecy/PhpDocumentor/ClassAndInterfaceTagRetriever.php';
require __DIR__ . '/phpspec-prophecy/Prophecy/PhpDocumentor/ClassTagRetriever.php';
require __DIR__ . '/phpspec-prophecy/Prophecy/PhpDocumentor/LegacyClassTagRetriever.php';
require __DIR__ . '/phpspec-prophecy/Prophecy/Prediction/PredictionInterface.php';
require __DIR__ . '/phpspec-prophecy/Prophecy/Prediction/CallPrediction.php';
require __DIR__ . '/phpspec-prophecy/Prophecy/Prediction/CallTimesPrediction.php';
require __DIR__ . '/phpspec-prophecy/Prophecy/Prediction/CallbackPrediction.php';
require __DIR__ . '/phpspec-prophecy/Prophecy/Prediction/NoCallsPrediction.php';
require __DIR__ . '/phpspec-prophecy/Prophecy/Promise/PromiseInterface.php';
require __DIR__ . '/phpspec-prophecy/Prophecy/Promise/CallbackPromise.php';
require __DIR__ . '/phpspec-prophecy/Prophecy/Promise/ReturnArgumentPromise.php';
require __DIR__ . '/phpspec-prophecy/Prophecy/Promise/ReturnPromise.php';
require __DIR__ . '/phpspec-prophecy/Prophecy/Promise/ThrowPromise.php';
require __DIR__ . '/phpspec-prophecy/Prophecy/Prophecy/MethodProphecy.php';
require __DIR__ . '/phpspec-prophecy/Prophecy/Prophecy/ProphecyInterface.php';
require __DIR__ . '/phpspec-prophecy/Prophecy/Prophecy/ObjectProphecy.php';
require __DIR__ . '/phpspec-prophecy/Prophecy/Prophecy/ProphecySubjectInterface.php';
require __DIR__ . '/phpspec-prophecy/Prophecy/Prophecy/RevealerInterface.php';
require __DIR__ . '/phpspec-prophecy/Prophecy/Prophecy/Revealer.php';
require __DIR__ . '/phpspec-prophecy/Prophecy/Prophet.php';
require __DIR__ . '/phpspec-prophecy/Prophecy/Util/ExportUtil.php';
require __DIR__ . '/phpspec-prophecy/Prophecy/Util/StringUtil.php';
require __DIR__ . '/phpunit/Runner/Hook/Hook.php';
require __DIR__ . '/phpunit/Runner/Hook/TestHook.php';
require __DIR__ . '/phpunit/Runner/Hook/AfterIncompleteTestHook.php';
require __DIR__ . '/phpunit/Runner/Hook/AfterLastTestHook.php';
require __DIR__ . '/phpunit/Runner/Hook/AfterRiskyTestHook.php';
require __DIR__ . '/phpunit/Runner/Hook/AfterSkippedTestHook.php';
require __DIR__ . '/phpunit/Runner/Hook/AfterSuccessfulTestHook.php';
require __DIR__ . '/phpunit/Runner/Hook/AfterTestErrorHook.php';
require __DIR__ . '/phpunit/Runner/Hook/AfterTestFailureHook.php';
require __DIR__ . '/phpunit/Runner/Hook/AfterTestHook.php';
require __DIR__ . '/phpunit/Runner/Hook/AfterTestWarningHook.php';
require __DIR__ . '/phpunit/Runner/BaseTestRunner.php';
require __DIR__ . '/phpunit/Runner/Hook/BeforeFirstTestHook.php';
require __DIR__ . '/phpunit/Runner/Hook/BeforeTestHook.php';
require __DIR__ . '/phpunit/Runner/TestResultCache.php';
require __DIR__ . '/phpunit/Runner/DefaultTestResultCache.php';
require __DIR__ . '/phpunit/Runner/Exception.php';
require __DIR__ . '/phpunit/Runner/Filter/GroupFilterIterator.php';
require __DIR__ . '/phpunit/Runner/Filter/ExcludeGroupFilterIterator.php';
require __DIR__ . '/phpunit/Runner/Filter/Factory.php';
require __DIR__ . '/phpunit/Runner/Filter/IncludeGroupFilterIterator.php';
require __DIR__ . '/phpunit/Runner/Filter/NameFilterIterator.php';
require __DIR__ . '/phpunit/Util/NullTestResultCache.php';
require __DIR__ . '/phpunit/Runner/PhptTestCase.php';
require __DIR__ . '/phpunit/Runner/ResultCacheExtension.php';
require __DIR__ . '/phpunit/Runner/TestSuiteLoader.php';
require __DIR__ . '/phpunit/Runner/StandardTestSuiteLoader.php';
require __DIR__ . '/phpunit/Runner/Hook/TestListenerAdapter.php';
require __DIR__ . '/phpunit/Runner/TestSuiteSorter.php';
require __DIR__ . '/phpunit/Runner/Version.php';
require __DIR__ . '/sebastian-code-unit-reverse-lookup/Wizard.php';
require __DIR__ . '/sebastian-comparator/ComparisonFailure.php';
require __DIR__ . '/sebastian-comparator/DOMNodeComparator.php';
require __DIR__ . '/sebastian-comparator/DateTimeComparator.php';
require __DIR__ . '/sebastian-comparator/ScalarComparator.php';
require __DIR__ . '/sebastian-comparator/NumericComparator.php';
require __DIR__ . '/sebastian-comparator/DoubleComparator.php';
require __DIR__ . '/sebastian-comparator/ExceptionComparator.php';
require __DIR__ . '/sebastian-comparator/MockObjectComparator.php';
require __DIR__ . '/sebastian-comparator/ResourceComparator.php';
require __DIR__ . '/sebastian-comparator/SplObjectStorageComparator.php';
require __DIR__ . '/sebastian-comparator/TypeComparator.php';
require __DIR__ . '/sebastian-diff/Chunk.php';
require __DIR__ . '/sebastian-diff/Exception/Exception.php';
require __DIR__ . '/sebastian-diff/Exception/InvalidArgumentException.php';
require __DIR__ . '/sebastian-diff/Exception/ConfigurationException.php';
require __DIR__ . '/sebastian-diff/Diff.php';
require __DIR__ . '/sebastian-diff/Differ.php';
require __DIR__ . '/sebastian-diff/Line.php';
require __DIR__ . '/sebastian-diff/LongestCommonSubsequenceCalculator.php';
require __DIR__ . '/sebastian-diff/MemoryEfficientLongestCommonSubsequenceCalculator.php';
require __DIR__ . '/sebastian-diff/Output/DiffOutputBuilderInterface.php';
require __DIR__ . '/sebastian-diff/Output/AbstractChunkOutputBuilder.php';
require __DIR__ . '/sebastian-diff/Output/DiffOnlyOutputBuilder.php';
require __DIR__ . '/sebastian-diff/Output/StrictUnifiedDiffOutputBuilder.php';
require __DIR__ . '/sebastian-diff/Output/UnifiedDiffOutputBuilder.php';
require __DIR__ . '/sebastian-diff/Parser.php';
require __DIR__ . '/sebastian-diff/TimeEfficientLongestCommonSubsequenceCalculator.php';
require __DIR__ . '/sebastian-environment/Console.php';
require __DIR__ . '/sebastian-environment/OperatingSystem.php';
require __DIR__ . '/sebastian-environment/Runtime.php';
require __DIR__ . '/sebastian-exporter/Exporter.php';
require __DIR__ . '/php-file-iterator/Facade.php';
require __DIR__ . '/php-file-iterator/Factory.php';
require __DIR__ . '/php-file-iterator/Iterator.php';
require __DIR__ . '/sebastian-global-state/Blacklist.php';
require __DIR__ . '/sebastian-global-state/CodeExporter.php';
require __DIR__ . '/sebastian-global-state/exceptions/Exception.php';
require __DIR__ . '/sebastian-global-state/Restorer.php';
require __DIR__ . '/sebastian-global-state/exceptions/RuntimeException.php';
require __DIR__ . '/sebastian-global-state/Snapshot.php';
require __DIR__ . '/php-invoker/Exception.php';
require __DIR__ . '/php-invoker/Invoker.php';
require __DIR__ . '/php-invoker/TimeoutException.php';
require __DIR__ . '/sebastian-object-enumerator/Enumerator.php';
require __DIR__ . '/sebastian-object-enumerator/Exception.php';
require __DIR__ . '/sebastian-object-enumerator/InvalidArgumentException.php';
require __DIR__ . '/sebastian-object-reflector/Exception.php';
require __DIR__ . '/sebastian-object-reflector/InvalidArgumentException.php';
require __DIR__ . '/sebastian-object-reflector/ObjectReflector.php';
require __DIR__ . '/sebastian-recursion-context/Context.php';
require __DIR__ . '/sebastian-recursion-context/Exception.php';
require __DIR__ . '/sebastian-recursion-context/InvalidArgumentException.php';
require __DIR__ . '/sebastian-resource-operations/ResourceOperations.php';
require __DIR__ . '/php-timer/Exception.php';
require __DIR__ . '/php-timer/RuntimeException.php';
require __DIR__ . '/php-timer/Timer.php';
require __DIR__ . '/sebastian-version/Version.php';
require __DIR__ . '/phpunit/TextUI/Command.php';
require __DIR__ . '/phpunit/Util/Printer.php';
require __DIR__ . '/phpunit/TextUI/ResultPrinter.php';
require __DIR__ . '/phpunit/TextUI/TestRunner.php';
require __DIR__ . '/php-text-template/Template.php';
require __DIR__ . '/theseer-tokenizer/Exception.php';
require __DIR__ . '/theseer-tokenizer/NamespaceUri.php';
require __DIR__ . '/theseer-tokenizer/NamespaceUriException.php';
require __DIR__ . '/theseer-tokenizer/Token.php';
require __DIR__ . '/theseer-tokenizer/TokenCollection.php';
require __DIR__ . '/theseer-tokenizer/TokenCollectionException.php';
require __DIR__ . '/theseer-tokenizer/Tokenizer.php';
require __DIR__ . '/theseer-tokenizer/XMLSerializer.php';
require __DIR__ . '/phpunit/Util/Blacklist.php';
require __DIR__ . '/phpunit/Util/Color.php';
require __DIR__ . '/phpunit/Util/Configuration.php';
require __DIR__ . '/phpunit/Util/ConfigurationGenerator.php';
require __DIR__ . '/phpunit/Util/ErrorHandler.php';
require __DIR__ . '/phpunit/Util/FileLoader.php';
require __DIR__ . '/phpunit/Util/Filesystem.php';
require __DIR__ . '/phpunit/Util/Filter.php';
require __DIR__ . '/phpunit/Util/Getopt.php';
require __DIR__ . '/phpunit/Util/GlobalState.php';
require __DIR__ . '/phpunit/Util/InvalidArgumentHelper.php';
require __DIR__ . '/phpunit/Util/Json.php';
require __DIR__ . '/phpunit/Util/Log/JUnit.php';
require __DIR__ . '/phpunit/Util/Log/TeamCity.php';
require __DIR__ . '/phpunit/Util/PHP/AbstractPhpProcess.php';
require __DIR__ . '/phpunit/Util/PHP/DefaultPhpProcess.php';
require __DIR__ . '/phpunit/Util/PHP/WindowsPhpProcess.php';
require __DIR__ . '/phpunit/Util/RegularExpression.php';
require __DIR__ . '/phpunit/Util/Test.php';
require __DIR__ . '/phpunit/Util/TestDox/TestDoxPrinter.php';
require __DIR__ . '/phpunit/Util/TestDox/CliTestDoxPrinter.php';
require __DIR__ . '/phpunit/Util/TestDox/ResultPrinter.php';
require __DIR__ . '/phpunit/Util/TestDox/HtmlResultPrinter.php';
require __DIR__ . '/phpunit/Util/TestDox/NamePrettifier.php';
require __DIR__ . '/phpunit/Util/TestDox/TextResultPrinter.php';
require __DIR__ . '/phpunit/Util/TestDox/XmlResultPrinter.php';
require __DIR__ . '/phpunit/Util/TextTestListRenderer.php';
require __DIR__ . '/phpunit/Util/Type.php';
require __DIR__ . '/phpunit/Util/XdebugFilterScriptGenerator.php';
require __DIR__ . '/phpunit/Util/Xml.php';
require __DIR__ . '/phpunit/Util/XmlTestListRenderer.php';
require __DIR__ . '/webmozart-assert/Assert.php';
require __DIR__ . '/phpdocumentor-reflection-docblock/DocBlock.php';
require __DIR__ . '/phpdocumentor-reflection-docblock/DocBlockFactoryInterface.php';
require __DIR__ . '/phpdocumentor-reflection-docblock/DocBlockFactory.php';
require __DIR__ . '/phpdocumentor-reflection-docblock/DocBlock/Description.php';
require __DIR__ . '/phpdocumentor-reflection-docblock/DocBlock/DescriptionFactory.php';
require __DIR__ . '/phpdocumentor-reflection-docblock/DocBlock/ExampleFinder.php';
require __DIR__ . '/phpdocumentor-reflection-docblock/DocBlock/Serializer.php';
require __DIR__ . '/phpdocumentor-reflection-docblock/DocBlock/TagFactory.php';
require __DIR__ . '/phpdocumentor-reflection-docblock/DocBlock/StandardTagFactory.php';
require __DIR__ . '/phpdocumentor-reflection-docblock/DocBlock/Tag.php';
require __DIR__ . '/phpdocumentor-reflection-docblock/DocBlock/Tags/Factory/StaticMethod.php';
require __DIR__ . '/phpdocumentor-reflection-docblock/DocBlock/Tags/BaseTag.php';
require __DIR__ . '/phpdocumentor-reflection-docblock/DocBlock/Tags/Author.php';
require __DIR__ . '/phpdocumentor-reflection-docblock/DocBlock/Tags/Covers.php';
require __DIR__ . '/phpdocumentor-reflection-docblock/DocBlock/Tags/Deprecated.php';
require __DIR__ . '/phpdocumentor-reflection-docblock/DocBlock/Tags/Example.php';
require __DIR__ . '/phpdocumentor-reflection-docblock/DocBlock/Tags/Factory/Strategy.php';
require __DIR__ . '/phpdocumentor-reflection-docblock/DocBlock/Tags/Formatter.php';
require __DIR__ . '/phpdocumentor-reflection-docblock/DocBlock/Tags/Formatter/AlignFormatter.php';
require __DIR__ . '/phpdocumentor-reflection-docblock/DocBlock/Tags/Formatter/PassthroughFormatter.php';
require __DIR__ . '/phpdocumentor-reflection-docblock/DocBlock/Tags/Generic.php';
require __DIR__ . '/phpdocumentor-reflection-docblock/DocBlock/Tags/Link.php';
require __DIR__ . '/phpdocumentor-reflection-docblock/DocBlock/Tags/Method.php';
require __DIR__ . '/phpdocumentor-reflection-docblock/DocBlock/Tags/Param.php';
require __DIR__ . '/phpdocumentor-reflection-docblock/DocBlock/Tags/Property.php';
require __DIR__ . '/phpdocumentor-reflection-docblock/DocBlock/Tags/PropertyRead.php';
require __DIR__ . '/phpdocumentor-reflection-docblock/DocBlock/Tags/PropertyWrite.php';
require __DIR__ . '/phpdocumentor-reflection-docblock/DocBlock/Tags/Reference/Reference.php';
require __DIR__ . '/phpdocumentor-reflection-docblock/DocBlock/Tags/Reference/Fqsen.php';
require __DIR__ . '/phpdocumentor-reflection-docblock/DocBlock/Tags/Reference/Url.php';
require __DIR__ . '/phpdocumentor-reflection-docblock/DocBlock/Tags/Return_.php';
require __DIR__ . '/phpdocumentor-reflection-docblock/DocBlock/Tags/See.php';
require __DIR__ . '/phpdocumentor-reflection-docblock/DocBlock/Tags/Since.php';
require __DIR__ . '/phpdocumentor-reflection-docblock/DocBlock/Tags/Source.php';
require __DIR__ . '/phpdocumentor-reflection-docblock/DocBlock/Tags/Throws.php';
require __DIR__ . '/phpdocumentor-reflection-docblock/DocBlock/Tags/Uses.php';
require __DIR__ . '/phpdocumentor-reflection-docblock/DocBlock/Tags/Var_.php';
require __DIR__ . '/phpdocumentor-reflection-docblock/DocBlock/Tags/Version.php';
require __DIR__ . '/phpdocumentor-reflection-common/Element.php';
require __DIR__ . '/phpdocumentor-reflection-common/File.php';
require __DIR__ . '/phpdocumentor-reflection-common/Fqsen.php';
require __DIR__ . '/phpdocumentor-type-resolver/FqsenResolver.php';
require __DIR__ . '/phpdocumentor-reflection-common/Location.php';
require __DIR__ . '/phpdocumentor-reflection-common/Project.php';
require __DIR__ . '/phpdocumentor-reflection-common/ProjectFactory.php';
require __DIR__ . '/phpdocumentor-type-resolver/Type.php';
require __DIR__ . '/phpdocumentor-type-resolver/TypeResolver.php';
require __DIR__ . '/phpdocumentor-type-resolver/Types/Array_.php';
require __DIR__ . '/phpdocumentor-type-resolver/Types/Boolean.php';
require __DIR__ . '/phpdocumentor-type-resolver/Types/Callable_.php';
require __DIR__ . '/phpdocumentor-type-resolver/Types/Compound.php';
require __DIR__ . '/phpdocumentor-type-resolver/Types/Context.php';
require __DIR__ . '/phpdocumentor-type-resolver/Types/ContextFactory.php';
require __DIR__ . '/phpdocumentor-type-resolver/Types/Float_.php';
require __DIR__ . '/phpdocumentor-type-resolver/Types/Integer.php';
require __DIR__ . '/phpdocumentor-type-resolver/Types/Iterable_.php';
require __DIR__ . '/phpdocumentor-type-resolver/Types/Mixed_.php';
require __DIR__ . '/phpdocumentor-type-resolver/Types/Null_.php';
require __DIR__ . '/phpdocumentor-type-resolver/Types/Nullable.php';
require __DIR__ . '/phpdocumentor-type-resolver/Types/Object_.php';
require __DIR__ . '/phpdocumentor-type-resolver/Types/Parent_.php';
require __DIR__ . '/phpdocumentor-type-resolver/Types/Resource_.php';
require __DIR__ . '/phpdocumentor-type-resolver/Types/Scalar.php';
require __DIR__ . '/phpdocumentor-type-resolver/Types/Self_.php';
require __DIR__ . '/phpdocumentor-type-resolver/Types/Static_.php';
require __DIR__ . '/phpdocumentor-type-resolver/Types/String_.php';
require __DIR__ . '/phpdocumentor-type-resolver/Types/This.php';
require __DIR__ . '/phpdocumentor-type-resolver/Types/Void_.php';
require __DIR__ . '/phar-io-manifest/values/Type.php';
require __DIR__ . '/phar-io-manifest/values/Application.php';
require __DIR__ . '/phar-io-manifest/values/ApplicationName.php';
require __DIR__ . '/phar-io-manifest/values/Author.php';
require __DIR__ . '/phar-io-manifest/values/AuthorCollection.php';
require __DIR__ . '/phar-io-manifest/values/AuthorCollectionIterator.php';
require __DIR__ . '/phar-io-manifest/xml/ManifestElement.php';
require __DIR__ . '/phar-io-manifest/xml/AuthorElement.php';
require __DIR__ . '/phar-io-manifest/xml/ElementCollection.php';
require __DIR__ . '/phar-io-manifest/xml/AuthorElementCollection.php';
require __DIR__ . '/phar-io-manifest/values/BundledComponent.php';
require __DIR__ . '/phar-io-manifest/values/BundledComponentCollection.php';
require __DIR__ . '/phar-io-manifest/values/BundledComponentCollectionIterator.php';
require __DIR__ . '/phar-io-manifest/xml/BundlesElement.php';
require __DIR__ . '/phar-io-manifest/xml/ComponentElement.php';
require __DIR__ . '/phar-io-manifest/xml/ComponentElementCollection.php';
require __DIR__ . '/phar-io-manifest/xml/ContainsElement.php';
require __DIR__ . '/phar-io-manifest/xml/CopyrightElement.php';
require __DIR__ . '/phar-io-manifest/values/CopyrightInformation.php';
require __DIR__ . '/phar-io-manifest/values/Email.php';
require __DIR__ . '/phar-io-manifest/exceptions/Exception.php';
require __DIR__ . '/phar-io-manifest/xml/ExtElement.php';
require __DIR__ . '/phar-io-manifest/xml/ExtElementCollection.php';
require __DIR__ . '/phar-io-manifest/values/Extension.php';
require __DIR__ . '/phar-io-manifest/xml/ExtensionElement.php';
require __DIR__ . '/phar-io-manifest/exceptions/InvalidApplicationNameException.php';
require __DIR__ . '/phar-io-manifest/exceptions/InvalidEmailException.php';
require __DIR__ . '/phar-io-manifest/exceptions/InvalidUrlException.php';
require __DIR__ . '/phar-io-manifest/values/Library.php';
require __DIR__ . '/phar-io-manifest/values/License.php';
require __DIR__ . '/phar-io-manifest/xml/LicenseElement.php';
require __DIR__ . '/phar-io-manifest/values/Manifest.php';
require __DIR__ . '/phar-io-manifest/xml/ManifestDocument.php';
require __DIR__ . '/phar-io-manifest/exceptions/ManifestDocumentException.php';
require __DIR__ . '/phar-io-manifest/xml/ManifestDocumentLoadingException.php';
require __DIR__ . '/phar-io-manifest/ManifestDocumentMapper.php';
require __DIR__ . '/phar-io-manifest/exceptions/ManifestDocumentMapperException.php';
require __DIR__ . '/phar-io-manifest/exceptions/ManifestElementException.php';
require __DIR__ . '/phar-io-manifest/ManifestLoader.php';
require __DIR__ . '/phar-io-manifest/exceptions/ManifestLoaderException.php';
require __DIR__ . '/phar-io-manifest/ManifestSerializer.php';
require __DIR__ . '/phar-io-manifest/xml/PhpElement.php';
require __DIR__ . '/phar-io-manifest/values/Requirement.php';
require __DIR__ . '/phar-io-manifest/values/PhpExtensionRequirement.php';
require __DIR__ . '/phar-io-manifest/values/PhpVersionRequirement.php';
require __DIR__ . '/phar-io-manifest/values/RequirementCollection.php';
require __DIR__ . '/phar-io-manifest/values/RequirementCollectionIterator.php';
require __DIR__ . '/phar-io-manifest/xml/RequiresElement.php';
require __DIR__ . '/phar-io-manifest/values/Url.php';
require __DIR__ . '/phar-io-version/constraints/VersionConstraint.php';
require __DIR__ . '/phar-io-version/constraints/AbstractVersionConstraint.php';
require __DIR__ . '/phar-io-version/constraints/AndVersionConstraintGroup.php';
require __DIR__ . '/phar-io-version/constraints/AnyVersionConstraint.php';
require __DIR__ . '/phar-io-version/constraints/ExactVersionConstraint.php';
require __DIR__ . '/phar-io-version/exceptions/Exception.php';
require __DIR__ . '/phar-io-version/constraints/GreaterThanOrEqualToVersionConstraint.php';
require __DIR__ . '/phar-io-version/exceptions/InvalidPreReleaseSuffixException.php';
require __DIR__ . '/phar-io-version/exceptions/InvalidVersionException.php';
require __DIR__ . '/phar-io-version/constraints/OrVersionConstraintGroup.php';
require __DIR__ . '/phar-io-version/PreReleaseSuffix.php';
require __DIR__ . '/phar-io-version/constraints/SpecificMajorAndMinorVersionConstraint.php';
require __DIR__ . '/phar-io-version/constraints/SpecificMajorVersionConstraint.php';
require __DIR__ . '/phar-io-version/exceptions/UnsupportedVersionConstraintException.php';
require __DIR__ . '/phar-io-version/Version.php';
require __DIR__ . '/phar-io-version/VersionConstraintParser.php';
require __DIR__ . '/phar-io-version/VersionConstraintValue.php';
require __DIR__ . '/phar-io-version/VersionNumber.php';
require __DIR__ . '/php-code-coverage/CodeCoverage.php';
require __DIR__ . '/php-code-coverage/Exception/Exception.php';
require __DIR__ . '/php-code-coverage/Exception/RuntimeException.php';
require __DIR__ . '/php-code-coverage/Exception/CoveredCodeNotExecutedException.php';
require __DIR__ . '/php-code-coverage/Driver/Driver.php';
require __DIR__ . '/php-code-coverage/Driver/PCOV.php';
require __DIR__ . '/php-code-coverage/Driver/PHPDBG.php';
require __DIR__ . '/php-code-coverage/Driver/Xdebug.php';
require __DIR__ . '/php-code-coverage/Filter.php';
require __DIR__ . '/php-code-coverage/Exception/InvalidArgumentException.php';
require __DIR__ . '/php-code-coverage/Exception/MissingCoversAnnotationException.php';
require __DIR__ . '/php-code-coverage/Node/AbstractNode.php';
require __DIR__ . '/php-code-coverage/Node/Builder.php';
require __DIR__ . '/php-code-coverage/Node/Directory.php';
require __DIR__ . '/php-code-coverage/Node/File.php';
require __DIR__ . '/php-code-coverage/Node/Iterator.php';
require __DIR__ . '/php-code-coverage/Report/Clover.php';
require __DIR__ . '/php-code-coverage/Report/Crap4j.php';
require __DIR__ . '/php-code-coverage/Report/Html/Renderer.php';
require __DIR__ . '/php-code-coverage/Report/Html/Renderer/Dashboard.php';
require __DIR__ . '/php-code-coverage/Report/Html/Renderer/Directory.php';
require __DIR__ . '/php-code-coverage/Report/Html/Facade.php';
require __DIR__ . '/php-code-coverage/Report/Html/Renderer/File.php';
require __DIR__ . '/php-code-coverage/Report/PHP.php';
require __DIR__ . '/php-code-coverage/Report/Text.php';
require __DIR__ . '/php-code-coverage/Report/Xml/BuildInformation.php';
require __DIR__ . '/php-code-coverage/Report/Xml/Coverage.php';
require __DIR__ . '/php-code-coverage/Report/Xml/Node.php';
require __DIR__ . '/php-code-coverage/Report/Xml/Directory.php';
require __DIR__ . '/php-code-coverage/Report/Xml/Facade.php';
require __DIR__ . '/php-code-coverage/Report/Xml/File.php';
require __DIR__ . '/php-code-coverage/Report/Xml/Method.php';
require __DIR__ . '/php-code-coverage/Report/Xml/Project.php';
require __DIR__ . '/php-code-coverage/Report/Xml/Report.php';
require __DIR__ . '/php-code-coverage/Report/Xml/Source.php';
require __DIR__ . '/php-code-coverage/Report/Xml/Tests.php';
require __DIR__ . '/php-code-coverage/Report/Xml/Totals.php';
require __DIR__ . '/php-code-coverage/Report/Xml/Unit.php';
require __DIR__ . '/php-code-coverage/Exception/UnintentionallyCoveredCodeException.php';
require __DIR__ . '/php-code-coverage/Util.php';
require __DIR__ . '/php-code-coverage/Version.php';

But be aware that this file will be deleted after every ant run.

@sebastianfeldmann
Copy link
Sponsor Author

I used the created PHAR to run all phpunit 8 ready test suites on my machine (not much but some) and everything worked.

When I run the phpunit test suite with the created phar file I get one error.

There was 1 error:

1) PHPUnit\Framework\TestFailureTest::testExceptionToStringForExpectationFailedExceptionWithComparisonFailure
TypeError: Argument 2 passed to PHPUnit\Framework\ExpectationFailedException::__construct() must be an instance of PHPUnit\SebastianBergmann\Comparator\ComparisonFailure or null, instance of SebastianBergmann\Comparator\ComparisonFailure given, called in /github.com/forks/phpunit/tests/unit/Framework/TestFailureTest.php on line 69

phar:///usr/local/bin/phpunit-beta/phpunit/Framework/ExpectationFailedException.php:30
/github.com/forks/phpunit/tests/unit/Framework/TestFailureTest.php:69
phar:///usr/local/bin/phpunit-beta/phpunit/Framework/TestCase.php:938
phar:///usr/local/bin/phpunit-beta/phpunit/Framework/TestCase.php:680
phar:///usr/local/bin/phpunit-beta/phpunit/Framework/TestResult.php:559
phar:///usr/local/bin/phpunit-beta/phpunit/Framework/TestCase.php:646
phar:///usr/local/bin/phpunit-beta/phpunit/Framework/TestSuite.php:556
phar:///usr/local/bin/phpunit-beta/phpunit/Framework/TestSuite.php:556
phar:///usr/local/bin/phpunit-beta/phpunit/Framework/TestSuite.php:556
phar:///usr/local/bin/phpunit-beta/phpunit/TextUI/TestRunner.php:418
phar:///usr/local/bin/phpunit-beta/phpunit/TextUI/Command.php:101
phar:///usr/local/bin/phpunit-beta/phpunit/TextUI/Command.php:70

I'm not quite sure why exactly this one is crashing because the other tests in that class look quite similar.

You can check by creating your own scoped phar by:

$ git clone https://github.com/sebastianfeldmann/phpunit.git
$ git checkout feature/php-scoper
$ ant phar

@sebastianbergmann
Copy link
Owner

Thank you, @sebastianfeldmann. I will look into this later this week. My current plan is to distribute a scoped version of the PHAR in addition to the non-scoped PHAR to give users the opportunity to (easily) test their test suites with the scoped PHAR. Hopefully sooner rather than later we can then switch to only distributing the scoped PHAR.

@sebastianbergmann sebastianbergmann merged commit bf6c1c6 into sebastianbergmann:master Mar 26, 2019
@sebastianbergmann
Copy link
Owner

I have merged this into master now. Then I added two new build targets: scoped-phar and scoped-phar-nightly. These work just like the existing phar and phar-nightly targets and in addition use php-scoper to prefix all vendor/ code bundled in phpunit.phar and phpunit-library.phar with the PHPUnit namespace.

@sebastianbergmann
Copy link
Owner

Thank you so much, @sebastianfeldmann, for taking this on. Also thanks to @kambo-1st for his initial research and work.

The next step will be to offer nightly builds of master as a scoped PHAR and get more people to test this with their tests.

@sebastianbergmann
Copy link
Owner

I just cherry-picked the relevant commits from master into 8.0. No reason to hold back with distributing experimental scoped PHARs until PHPUnit 8.1.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type/enhancement A new idea that should be implemented
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants