cleanup
This commit is contained in:
parent
66908ece8f
commit
bf52342678
|
@ -1,8 +1,8 @@
|
|||
name: PhpStorm Stubs PECL Test
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
push:
|
||||
workflow_dispatch:
|
||||
schedule:
|
||||
- cron: '* * 1 * *'
|
||||
|
||||
|
@ -38,4 +38,4 @@ jobs:
|
|||
run: docker-compose -f docker-compose.yml run -e PECL=true test_runner /opt/project/phpstorm-stubs/vendor/bin/phpunit /opt/project/phpstorm-stubs/tests/
|
||||
env:
|
||||
PHP_VERSION: '8.0'
|
||||
PECL: true
|
||||
PECL: true
|
||||
|
|
|
@ -11,4 +11,4 @@ services:
|
|||
pecl_extensions:
|
||||
build: tests/DockerImages/peclExtensions
|
||||
volumes:
|
||||
- .:/opt/project/phpstorm-stubs
|
||||
- .:/opt/project/phpstorm-stubs
|
||||
|
|
|
@ -22,6 +22,7 @@ use Reflector;
|
|||
use RuntimeException;
|
||||
use stdClass;
|
||||
use StubTests\Parsers\ParserUtils;
|
||||
use StubTests\TestData\Providers\ReflectionStubsSingleton;
|
||||
|
||||
abstract class BasePHPElement
|
||||
{
|
||||
|
@ -212,4 +213,15 @@ abstract class BasePHPElement
|
|||
{
|
||||
return in_array(doubleval(getenv('PHP_VERSION')), ParserUtils::getAvailableInVersions($element));
|
||||
}
|
||||
|
||||
/**
|
||||
* @param PHPInterface|PHPClass $class
|
||||
* @return bool
|
||||
* @throws RuntimeException
|
||||
*/
|
||||
public static function classExistInCoreReflection($class): bool
|
||||
{
|
||||
return !empty(ReflectionStubsSingleton::getReflectionStubsNoPecl()->getClass($class->name)) ||
|
||||
!empty(ReflectionStubsSingleton::getReflectionStubsNoPecl()->getInterface($class->name));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4,6 +4,7 @@ declare(strict_types=1);
|
|||
namespace StubTests\TestData\Providers\Reflection;
|
||||
|
||||
use Generator;
|
||||
use StubTests\Model\BasePHPElement;
|
||||
use StubTests\Model\PHPClass;
|
||||
use StubTests\Model\StubProblemType;
|
||||
use StubTests\TestData\Providers\EntitiesFilter;
|
||||
|
@ -16,10 +17,7 @@ class ReflectionClassesTestDataProviders
|
|||
$allClassesAndInterfaces = ReflectionStubsSingleton::getReflectionStubs()->getClasses() +
|
||||
ReflectionStubsSingleton::getReflectionStubs()->getInterfaces();
|
||||
foreach (EntitiesFilter::getFiltered($allClassesAndInterfaces) as $class) {
|
||||
if (!empty(getenv('PECL')) &&
|
||||
(!empty(ReflectionStubsSingleton::getReflectionStubsNoPecl()->getClass($class->name)) ||
|
||||
!empty(ReflectionStubsSingleton::getReflectionStubsNoPecl()->getInterface($class->name)))
|
||||
) {
|
||||
if (!empty(getenv('PECL')) && BasePHPElement::classExistInCoreReflection($class)) {
|
||||
continue;
|
||||
}
|
||||
//exclude classes from PHPReflectionParser
|
||||
|
@ -36,10 +34,7 @@ class ReflectionClassesTestDataProviders
|
|||
fn (PHPClass $class) => empty($class->interfaces),
|
||||
StubProblemType::WRONG_INTERFACE
|
||||
) as $class) {
|
||||
if (!empty(getenv('PECL')) &&
|
||||
(!empty(ReflectionStubsSingleton::getReflectionStubsNoPecl()->getClass($class->name)) ||
|
||||
!empty(ReflectionStubsSingleton::getReflectionStubsNoPecl()->getInterface($class->name)))
|
||||
) {
|
||||
if (!empty(getenv('PECL')) && BasePHPElement::classExistInCoreReflection($class)) {
|
||||
continue;
|
||||
}
|
||||
//exclude classes from PHPReflectionParser
|
||||
|
@ -59,10 +54,7 @@ class ReflectionClassesTestDataProviders
|
|||
StubProblemType::WRONG_PARENT
|
||||
);
|
||||
foreach ($filtered as $class) {
|
||||
if (!empty(getenv('PECL')) &&
|
||||
(!empty(ReflectionStubsSingleton::getReflectionStubsNoPecl()->getClass($class->name)) ||
|
||||
!empty(ReflectionStubsSingleton::getReflectionStubsNoPecl()->getInterface($class->name)))
|
||||
) {
|
||||
if (!empty(getenv('PECL')) && BasePHPElement::classExistInCoreReflection($class)) {
|
||||
continue;
|
||||
}
|
||||
yield "class $class->name" => [$class];
|
||||
|
|
|
@ -4,6 +4,7 @@ declare(strict_types=1);
|
|||
namespace StubTests\TestData\Providers\Reflection;
|
||||
|
||||
use Generator;
|
||||
use StubTests\Model\BasePHPElement;
|
||||
use StubTests\Model\PHPClass;
|
||||
use StubTests\Model\PHPConst;
|
||||
use StubTests\Model\PHPInterface;
|
||||
|
@ -38,10 +39,7 @@ class ReflectionConstantsProvider
|
|||
$classesAndInterfaces = ReflectionStubsSingleton::getReflectionStubs()->getClasses() +
|
||||
ReflectionStubsSingleton::getReflectionStubs()->getInterfaces();
|
||||
foreach (EntitiesFilter::getFiltered($classesAndInterfaces) as $class) {
|
||||
if (!empty(getenv('PECL')) &&
|
||||
(!empty(ReflectionStubsSingleton::getReflectionStubsNoPecl()->getClass($class->name)) ||
|
||||
!empty(ReflectionStubsSingleton::getReflectionStubsNoPecl()->getInterface($class->name)))
|
||||
) {
|
||||
if (!empty(getenv('PECL')) && BasePHPElement::classExistInCoreReflection($class)) {
|
||||
continue;
|
||||
}
|
||||
foreach (EntitiesFilter::getFiltered($class->constants) as $constant) {
|
||||
|
@ -55,7 +53,7 @@ class ReflectionConstantsProvider
|
|||
$classesAndInterfaces = ReflectionStubsSingleton::getReflectionStubs()->getClasses() +
|
||||
ReflectionStubsSingleton::getReflectionStubs()->getInterfaces();
|
||||
foreach (EntitiesFilter::getFiltered($classesAndInterfaces) as $class) {
|
||||
if (!empty(getenv('PECL')) && !empty(ReflectionStubsSingleton::getReflectionStubsNoPecl()->getClass($class->name))) {
|
||||
if (!empty(getenv('PECL')) && BasePHPElement::classExistInCoreReflection($class)) {
|
||||
continue;
|
||||
}
|
||||
foreach (self::getFilteredConstants($class) as $constant) {
|
||||
|
|
|
@ -4,6 +4,7 @@ declare(strict_types=1);
|
|||
namespace StubTests\TestData\Providers\Reflection;
|
||||
|
||||
use Generator;
|
||||
use StubTests\Model\BasePHPElement;
|
||||
use StubTests\Model\StubProblemType;
|
||||
use StubTests\TestData\Providers\EntitiesFilter;
|
||||
use StubTests\TestData\Providers\ReflectionStubsSingleton;
|
||||
|
@ -48,9 +49,7 @@ class ReflectionMethodsProvider
|
|||
$classesAndInterfaces = ReflectionStubsSingleton::getReflectionStubs()->getClasses() +
|
||||
ReflectionStubsSingleton::getReflectionStubs()->getInterfaces();
|
||||
foreach (EntitiesFilter::getFiltered($classesAndInterfaces) as $class) {
|
||||
if (!empty(getenv('PECL')) &&
|
||||
(!empty(ReflectionStubsSingleton::getReflectionStubsNoPecl()->getClass($class->name))) ||
|
||||
!empty(ReflectionStubsSingleton::getReflectionStubsNoPecl()->getInterface($class->name))) {
|
||||
if (!empty(getenv('PECL')) && BasePHPElement::classExistInCoreReflection($class)) {
|
||||
continue;
|
||||
}
|
||||
foreach (EntitiesFilter::getFiltered($class->methods, null, ...$problemTypes) as $method) {
|
||||
|
|
|
@ -4,6 +4,7 @@ declare(strict_types=1);
|
|||
namespace StubTests\TestData\Providers\Reflection;
|
||||
|
||||
use Generator;
|
||||
use StubTests\Model\BasePHPElement;
|
||||
use StubTests\Model\PHPParameter;
|
||||
use StubTests\Model\StubProblemType;
|
||||
use StubTests\TestData\Providers\EntitiesFilter;
|
||||
|
@ -81,9 +82,7 @@ class ReflectionParametersProvider
|
|||
$classesAndInterfaces = ReflectionStubsSingleton::getReflectionStubs()->getClasses() +
|
||||
ReflectionStubsSingleton::getReflectionStubs()->getInterfaces();
|
||||
foreach (EntitiesFilter::getFiltered($classesAndInterfaces) as $class) {
|
||||
if (!empty(getenv('PECL')) &&
|
||||
(!empty(ReflectionStubsSingleton::getReflectionStubsNoPecl()->getClass($class->name)) ||
|
||||
!empty(ReflectionStubsSingleton::getReflectionStubsNoPecl()->getInterface($class->name)))) {
|
||||
if (!empty(getenv('PECL')) && BasePHPElement::classExistInCoreReflection($class)) {
|
||||
continue;
|
||||
}
|
||||
//exclude classes from PHPReflectionParser
|
||||
|
@ -102,9 +101,7 @@ class ReflectionParametersProvider
|
|||
$classesAndInterfaces = ReflectionStubsSingleton::getReflectionStubs()->getClasses() +
|
||||
ReflectionStubsSingleton::getReflectionStubs()->getInterfaces();
|
||||
foreach (EntitiesFilter::getFiltered($classesAndInterfaces) as $class) {
|
||||
if (!empty(getenv('PECL')) &&
|
||||
(!empty(ReflectionStubsSingleton::getReflectionStubsNoPecl()->getClass($class->name)) ||
|
||||
!empty(ReflectionStubsSingleton::getReflectionStubsNoPecl()->getInterface($class->name)))) {
|
||||
if (!empty(getenv('PECL')) && BasePHPElement::classExistInCoreReflection($class)) {
|
||||
continue;
|
||||
}
|
||||
//exclude classes from PHPReflectionParser
|
||||
|
@ -127,8 +124,7 @@ class ReflectionParametersProvider
|
|||
$classesAndInterfaces = ReflectionStubsSingleton::getReflectionStubs()->getClasses() +
|
||||
ReflectionStubsSingleton::getReflectionStubs()->getInterfaces();
|
||||
foreach (EntitiesFilter::getFiltered($classesAndInterfaces) as $class) {
|
||||
if (!empty(getenv('PECL')) && (!empty(ReflectionStubsSingleton::getReflectionStubsNoPecl()->getClass($class->name))) ||
|
||||
!empty(ReflectionStubsSingleton::getReflectionStubsNoPecl()->getInterface($class->name))) {
|
||||
if (!empty(getenv('PECL')) && BasePHPElement::classExistInCoreReflection($class)) {
|
||||
continue;
|
||||
}
|
||||
//exclude classes from PHPReflectionParser
|
||||
|
|
|
@ -4,6 +4,7 @@ declare(strict_types=1);
|
|||
namespace StubTests\TestData\Providers\Reflection;
|
||||
|
||||
use Generator;
|
||||
use StubTests\Model\BasePHPElement;
|
||||
use StubTests\Model\PHPProperty;
|
||||
use StubTests\Model\StubProblemType;
|
||||
use StubTests\TestData\Providers\EntitiesFilter;
|
||||
|
@ -35,8 +36,7 @@ class ReflectionPropertiesProvider
|
|||
{
|
||||
$classesAndInterfaces = ReflectionStubsSingleton::getReflectionStubs()->getClasses();
|
||||
foreach (EntitiesFilter::getFiltered($classesAndInterfaces) as $class) {
|
||||
if (!empty(getenv('PECL')) && (!empty(ReflectionStubsSingleton::getReflectionStubsNoPecl()->getClass($class->name)) ||
|
||||
!empty(ReflectionStubsSingleton::getReflectionStubsNoPecl()->getInterface($class->name)))) {
|
||||
if (!empty(getenv('PECL')) && BasePHPElement::classExistInCoreReflection($class)) {
|
||||
continue;
|
||||
}
|
||||
foreach (EntitiesFilter::getFiltered(
|
||||
|
|
|
@ -16,7 +16,7 @@ class ReflectionStubsSingleton
|
|||
/**
|
||||
* @var StubsContainer|null
|
||||
*/
|
||||
private static $peclReflectionStubs = null;
|
||||
private static $reflectionStubsNoPecl = null;
|
||||
|
||||
public static function getReflectionStubs(): StubsContainer
|
||||
{
|
||||
|
@ -28,11 +28,11 @@ class ReflectionStubsSingleton
|
|||
|
||||
public static function getReflectionStubsNoPecl(): StubsContainer
|
||||
{
|
||||
if (self::$peclReflectionStubs === null) {
|
||||
if (file_exists(__DIR__ . '/../../ReflectionDataNoPecl.json')) {
|
||||
self::$reflectionStubs = unserialize(file_get_contents(__DIR__ . '/../../../ReflectionDataNoPecl.json'));
|
||||
if (self::$reflectionStubsNoPecl === null) {
|
||||
if (file_exists(__DIR__ . '/../../../ReflectionDataNoPecl.json')) {
|
||||
self::$reflectionStubsNoPecl = unserialize(file_get_contents(__DIR__ . '/../../../ReflectionDataNoPecl.json'));
|
||||
}
|
||||
}
|
||||
return self::$reflectionStubs;
|
||||
return self::$reflectionStubsNoPecl;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -5,11 +5,11 @@ namespace StubTests\TestData\Providers\Stubs;
|
|||
|
||||
use Generator;
|
||||
use RuntimeException;
|
||||
use StubTests\Model\BasePHPElement;
|
||||
use StubTests\Model\StubProblemType;
|
||||
use StubTests\Parsers\ParserUtils;
|
||||
use StubTests\TestData\Providers\EntitiesFilter;
|
||||
use StubTests\TestData\Providers\PhpStormStubsSingleton;
|
||||
use StubTests\TestData\Providers\ReflectionStubsSingleton;
|
||||
|
||||
class StubsParametersProvider
|
||||
{
|
||||
|
@ -75,10 +75,7 @@ class StubsParametersProvider
|
|||
$coreClassesAndInterfaces = PhpStormStubsSingleton::getPhpStormStubs()->getCoreClasses() +
|
||||
PhpStormStubsSingleton::getPhpStormStubs()->getCoreInterfaces();
|
||||
foreach (EntitiesFilter::getFiltered($coreClassesAndInterfaces) as $class) {
|
||||
if (!empty(getenv('PECL')) &&
|
||||
(!empty(ReflectionStubsSingleton::getReflectionStubsNoPecl()->getClass($class->name)) ||
|
||||
!empty(ReflectionStubsSingleton::getReflectionStubsNoPecl()->getInterface($class->name)))
|
||||
) {
|
||||
if (!empty(getenv('PECL')) && BasePHPElement::classExistInCoreReflection($class)) {
|
||||
continue;
|
||||
}
|
||||
foreach (EntitiesFilter::getFilteredFunctions($class, false) as $method) {
|
||||
|
|
Loading…
Reference in New Issue