summaryrefslogtreecommitdiffstats
path: root/phpunit8-rpm.patch
blob: 07bbbb6cdf574ceb66b31c7c227727ef971186cb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
diff -up ./phpunit.rpm ./phpunit
--- ./phpunit.rpm	2024-03-06 09:33:13.000000000 +0100
+++ ./phpunit	2024-04-05 08:00:14.044636630 +0200
@@ -62,27 +62,11 @@ if (isset($GLOBALS['_composer_autoload_p
     define('PHPUNIT_COMPOSER_INSTALL', $GLOBALS['_composer_autoload_path']);
 
     unset($GLOBALS['_composer_autoload_path']);
+} else if (file_exists('./vendor/phpunit/phpunit/phpunit') && file_exists('./vendor/autoload.php')) {
+    echo "\n==== Redirecting to composer installed version in vendor/phpunit ====\n\n";
+    define ('PHPUNIT_COMPOSER_INSTALL', realpath('./vendor/autoload.php'));
 } else {
-    foreach (array(__DIR__ . '/../../autoload.php', __DIR__ . '/../vendor/autoload.php', __DIR__ . '/vendor/autoload.php') as $file) {
-        if (file_exists($file)) {
-            define('PHPUNIT_COMPOSER_INSTALL', $file);
-
-            break;
-        }
-    }
-
-    unset($file);
-}
-
-if (!defined('PHPUNIT_COMPOSER_INSTALL')) {
-    fwrite(
-        STDERR,
-        'You need to set up the project dependencies using Composer:' . PHP_EOL . PHP_EOL .
-        '    composer install' . PHP_EOL . PHP_EOL .
-        'You can learn all about Composer on https://getcomposer.org/.' . PHP_EOL
-    );
-
-    die(1);
+    define ('PHPUNIT_COMPOSER_INSTALL', '/usr/share/php/PHPUnit8/autoload.php');
 }
 
 $options = getopt('', array('prepend:'));
@@ -95,4 +79,13 @@ unset($options);
 
 require PHPUNIT_COMPOSER_INSTALL;
 
-PHPUnit\TextUI\Command::main();
+if (class_exists('PHPUnit\\TextUI\\Application')) {
+    // PHPUnit v10 or newer
+    exit((new PHPUnit\TextUI\Application)->run($_SERVER['argv']));
+} else if (class_exists('PHPUnit_TextUI_Command')) {
+    // PHPUnit v5 or older
+    PHPUnit_TextUI_Command::main();
+} else {
+    // PHPUnit v6 to v9
+    PHPUnit\TextUI\Command::main();
+}
diff -up ./src/TextUI/Command.php.rpm ./src/TextUI/Command.php
--- ./src/TextUI/Command.php.rpm	2024-03-06 09:33:13.000000000 +0100
+++ ./src/TextUI/Command.php	2024-04-05 08:01:23.626251144 +0200
@@ -1144,13 +1144,13 @@ class Command
         $this->printVersionString();
 
         $latestVersion           = file_get_contents('https://phar.phpunit.de/latest-version-of/phpunit');
-        $latestCompatibleVersion = file_get_contents('https://phar.phpunit.de/latest-version-of/phpunit-' . explode('.', Version::series())[0]);
+        $latestCompatibleVersion = file_get_contents('https://phar.phpunit.de/latest-version-of/phpunit-' . $major=explode('.', Version::series())[0]);
 
         $notLatest           = version_compare($latestVersion, Version::id(), '>');
         $notLatestCompatible = version_compare($latestCompatibleVersion, Version::id(), '>');
 
         if ($notLatest || $notLatestCompatible) {
-            print 'You are not using the latest version of PHPUnit.' . PHP_EOL;
+            print 'You are not using the latest version of PHPUnit.' . PHP_EOL . PHP_EOL;
         } else {
             print 'You are using the latest version of PHPUnit.' . PHP_EOL;
         }
@@ -1161,6 +1161,7 @@ class Command
                 Version::id(),
                 $latestCompatibleVersion
             );
+            printf('Try a system update for new phpunit%s package.' . PHP_EOL . PHP_EOL, $major);
         }
 
         if ($notLatest) {
@@ -1168,6 +1169,7 @@ class Command
                 'The latest version is PHPUnit %s.' . PHP_EOL,
                 $latestVersion
             );
+            printf('Try to install and use the phpunit%s command.' . PHP_EOL . PHP_EOL, explode('.', $latestVersion)[0]);
         }
 
         exit(TestRunner::SUCCESS_EXIT);
diff -up ./src/Util/Configuration.php.rpm ./src/Util/Configuration.php
--- ./src/Util/Configuration.php.rpm	2024-03-06 09:33:13.000000000 +0100
+++ ./src/Util/Configuration.php	2024-04-05 08:00:14.044636630 +0200
@@ -932,7 +932,7 @@ final class Configuration
     private function validateConfigurationAgainstSchema(): void
     {
         $original    = libxml_use_internal_errors(true);
-        $xsdFilename = __DIR__ . '/../../phpunit.xsd';
+        $xsdFilename = __DIR__ . '/../phpunit.xsd';
 
         if (defined('__PHPUNIT_PHAR_ROOT__')) {
             $xsdFilename = __PHPUNIT_PHAR_ROOT__ . '/phpunit.xsd';
diff -up ./tests/bootstrap.php.rpm ./tests/bootstrap.php
--- ./tests/bootstrap.php.rpm	2024-03-06 09:33:13.000000000 +0100
+++ ./tests/bootstrap.php	2024-04-05 08:00:14.044636630 +0200
@@ -9,8 +9,8 @@
  */
 const TEST_FILES_PATH = __DIR__ . DIRECTORY_SEPARATOR . '_files' . DIRECTORY_SEPARATOR;
 
-$composer = file_exists(__DIR__ . '/../vendor/autoload.php');
-$phar     = file_exists(__DIR__ . '/autoload.php');
+$composer = true;
+$phar     = false;
 
 if ($composer && $phar) {
     print 'More than one test fixture autoloader is available, exiting.' . PHP_EOL;
@@ -26,10 +26,15 @@ if (!$composer && !$phar) {
 
 if ($composer) {
     if (!defined('PHPUNIT_COMPOSER_INSTALL')) {
-        define('PHPUNIT_COMPOSER_INSTALL', dirname(__DIR__) . '/vendor/autoload.php');
+        define('PHPUNIT_COMPOSER_INSTALL', '@PATH@/autoload.php');
     }
 
-    require_once __DIR__ . '/../vendor/autoload.php';
+    require_once PHPUNIT_COMPOSER_INSTALL;
+    require_once __DIR__ . '/_files/CoverageNamespacedFunctionTest.php';
+    require_once __DIR__ . '/_files/CoveredFunction.php';
+    require_once __DIR__ . '/_files/NamespaceCoveredFunction.php';
+    require_once '@PATH@//Framework/Assert/Functions.php';
+    require_once __DIR__ . '/autoload.php';
 }
 
 if ($phar) {