summaryrefslogtreecommitdiffstats
path: root/phpunit9-rpm.patch
blob: e9698bf08dc2d92245f76bd4a267146ae72fa030 (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
diff -up ./phpunit.rpm ./phpunit
--- ./phpunit.rpm	2024-02-26 09:34:48.000000000 +0100
+++ ./phpunit	2024-03-06 10:19:22.109376592 +0100
@@ -71,27 +71,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/PHPUnit9/autoload.php');
 }
 
 $options = getopt('', array('prepend:'));
@@ -104,4 +88,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 10:19:26.914560422 +0100
+++ ./src/TextUI/Command.php	2024-03-06 10:19:32.787785106 +0100
@@ -600,7 +600,7 @@ 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(), '>');
@@ -617,6 +617,7 @@ class Command
                 Version::id(),
                 $latestCompatibleVersion,
             );
+            printf('Try a system update for new phpunit%s package.' . PHP_EOL, $major);
         }
 
         if ($notLatest) {
@@ -624,6 +625,7 @@ class Command
                 'The latest version is PHPUnit %s.' . PHP_EOL,
                 $latestVersion,
             );
+            printf('Try to install and use the phpunit%s command.' . PHP_EOL, explode('.', $latestVersion)[0]);
         }
 
         exit(TestRunner::SUCCESS_EXIT);
diff -up ./src/Util/Xml/SchemaFinder.php.rpm ./src/Util/Xml/SchemaFinder.php
--- ./src/Util/Xml/SchemaFinder.php.rpm	2024-02-26 09:34:48.000000000 +0100
+++ ./src/Util/Xml/SchemaFinder.php	2024-03-06 10:19:22.109376592 +0100
@@ -75,6 +75,6 @@ final class SchemaFinder
             return __PHPUNIT_PHAR_ROOT__ . '/';
         }
 
-        return __DIR__ . '/../../../';
+        return __DIR__ . '/../../';
     }
 }
diff -up ./tests/bootstrap.php.rpm ./tests/bootstrap.php
--- ./tests/bootstrap.php.rpm	2024-02-26 09:34:48.000000000 +0100
+++ ./tests/bootstrap.php	2024-03-06 10:19:22.109376592 +0100
@@ -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,14 @@ 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 __DIR__ . '/autoload.php';
 }
 
 if ($phar) {