summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--composer.json14
-rw-r--r--php-mock2.spec134
2 files changed, 110 insertions, 38 deletions
diff --git a/composer.json b/composer.json
index 5500e4e..f2d926e 100644
--- a/composer.json
+++ b/composer.json
@@ -2,7 +2,7 @@
"name": "php-mock/php-mock",
"type": "library",
"description": "PHP-Mock can mock built-in PHP functions (e.g. time()). PHP-Mock relies on PHP's namespace fallback policy. No further extension is needed.",
- "keywords": ["mock", "stub", "test double", "function", "test", "TDD", "BDD"],
+ "keywords": ["mock", "stub", "test double", "function", "test", "testing", "TDD", "BDD"],
"homepage": "https://github.com/php-mock/php-mock",
"license": "WTFPL",
"authors": [
@@ -14,25 +14,27 @@
}
],
"autoload": {
+ "files": ["autoload.php"],
"psr-4": {
"phpmock\\": ["classes/", "tests/"]
}
},
"autoload-dev": {
- "files": ["autoload.php"]
+ "files": ["tests/autoload.php"]
},
"require": {
- "php": "^5.6 || ^7.0",
- "phpunit/php-text-template": "^1"
+ "php": "^5.6 || ^7.0 || ^8.0",
+ "phpunit/php-text-template": "^1 || ^2 || ^3 || ^4"
},
"require-dev": {
- "phpunit/phpunit": "^5.7 || ^6.5 || ^7.5 || ^8.0"
+ "phpunit/phpunit": "^5.7 || ^6.5 || ^7.5 || ^8.0 || ^9.0 || ^10.0 || ^11.0",
+ "squizlabs/php_codesniffer": "^3.8"
},
"replace": {
"malkusch/php-mock": "*"
},
"suggest": {
- "php-mock/php-mock-phpunit": "Allows integration into PHPUnit testcase with the trait PHPMock."
+ "php-mock/php-mock-phpunit": "Allows integration into PHPUnit testcase with the trait PHPMock."
},
"archive": {
"exclude": ["/tests"]
diff --git a/php-mock2.spec b/php-mock2.spec
index fd20d39..e297023 100644
--- a/php-mock2.spec
+++ b/php-mock2.spec
@@ -1,20 +1,21 @@
# remirepo/fedora spec file for php-mock2
#
-# Copyright (c) 2016-2019 Remi Collet
-# License: CC-BY-SA
+# Copyright (c) 2016-2024 Remi Collet
+# License: CC-BY-SA-4.0
# http://creativecommons.org/licenses/by-sa/4.0/
#
# Please, preserve the changelog entries
#
-%global gh_commit 35379d7b382b787215617f124662d9ead72c15e3
+%global gh_commit fff1a621ebe54100fa3bd852e7be57773a0c0127
%global gh_short %(c=%{gh_commit}; echo ${c:0:7})
+%global gh_date 2024-02-10
%global gh_owner php-mock
%global gh_project php-mock
%global with_tests 0%{!?_without_tests:1}
%global major 2
Name: php-mock%{major}
-Version: 2.1.2
+Version: 2.5.0
Release: 1%{?dist}
Summary: PHP-Mock can mock built-in PHP functions
@@ -23,32 +24,27 @@ URL: https://github.com/%{gh_owner}/%{gh_project}
Source0: https://github.com/%{gh_owner}/%{gh_project}/archive/%{gh_commit}/%{gh_project}-%{version}-%{gh_short}.tar.gz
BuildArch: noarch
-BuildRequires: php(language) >= 5.6
+# 7.4 because of phpunit9
+BuildRequires: php(language) >= 7.4
%if %{with_tests}
# from composer.json, "require-dev": {
-# "phpunit/phpunit": "^5.7 || ^6.5 || ^7.5 || ^8.0"
-# remirepo:1
-%if 0%{?fedora} >= 27 || 0%{?rhel} >= 8
-BuildRequires: (php-composer(phpunit/php-text-template) >= 1 with php-composer(phpunit/php-text-template) < 2)
-BuildRequires: phpunit7
-%global phpunit %{_bindir}/phpunit7
-# remirepo:5
-%else
-BuildRequires: php-phpunit-Text-Template
-BuildRequires: php-phpunit-PHPUnit >= 5.7
-%global phpunit %{_bindir}/phpunit
-%endif
+# "phpunit/phpunit": "^5.7 || ^6.5 || ^7.5 || ^8.0 || ^9.0 || ^10.0|| ^11.0",
+# "squizlabs/php_codesniffer": "^3.5"
+BuildRequires: phpunit8
+BuildRequires: phpunit9
+BuildRequires: phpunit10
+# TODO phpunit11 but requires php 8.2
%endif
# For autoloader
BuildRequires: php-composer(fedora/autoloader)
# from composer.json, "require": {
-# "php": "^5.6 || ^7.0",
-# "phpunit/php-text-template": "^1"
+# "php": "^5.6 || ^7.0 || ^8.0",
+# "phpunit/php-text-template": "^1 || ^2 || ^3 || ^4")
Requires: php(language) >= 5.6
# remirepo:1
%if 0%{?fedora} >= 27 || 0%{?rhel} >= 8
-Requires: (php-composer(phpunit/php-text-template) >= 1 with php-composer(phpunit/php-text-template) < 2)
+Requires: (php-composer(phpunit/php-text-template) >= 1 with php-composer(phpunit/php-text-template) < 5)
# remirepo:3
%else
Requires: php-phpunit-Text-Template
@@ -82,6 +78,7 @@ Autoloader: %{_datadir}/php/phpmock%{major}/autoload.php
%setup -q -n %{gh_project}-%{gh_commit}
: Prepare the layout
+mv tests/autoload.php testload.php
mkdir -p rpm/tests rpm/php
mv classes rpm/php/phpmock%{major}
mv tests rpm/tests/phpmock%{major}
@@ -94,11 +91,26 @@ require_once '%{_datadir}/php/Fedora/Autoloader/autoload.php';
\Fedora\Autoloader\Autoload::addPsr4('phpmock\\', __DIR__);
\Fedora\Autoloader\Autoload::addPsr4('phpmock\\', dirname(dirname(__DIR__)) . '/tests/phpmock%{major}');
-\Fedora\Autoloader\Dependencies::required(array(
- '%{_datadir}/php/Text/Template/Autoload.php',
-));
+if (PHP_VERSION_ID >= 80200) {
+ $deps = [
+ '%{_datadir}/php/SebastianBergmann/Template4/autoload.php',
+ '%{_datadir}/php/SebastianBergmann/Template3/autoload.php',
+ '%{_datadir}/php/SebastianBergmann/Template2/autoload.php',
+ '%{_datadir}/php/Text/Template/Autoload.php',
+ ];
+} else {
+ $deps = [
+ '%{_datadir}/php/SebastianBergmann/Template3/autoload.php',
+ '%{_datadir}/php/SebastianBergmann/Template2/autoload.php',
+ '%{_datadir}/php/Text/Template/Autoload.php',
+ ];
+}
+\Fedora\Autoloader\Dependencies::required([
+ $deps,
+]);
AUTOLOAD
grep -v '<?php' autoload.php >>rpm/php/phpmock%{major}/autoload.php
+grep -v '<?php' testload.php >>rpm/php/phpmock%{major}/autoload.php
ln -s ../../php/phpmock%{major}/autoload.php rpm/tests/phpmock%{major}/autoload.php
@@ -120,16 +132,48 @@ cp -pr rpm/tests %{buildroot}%{_datadir}/tests
%check
%if %{with_tests}
-# TODO: local build fails, build in mock is ok
-# TODO: php 7.4: There was 1 failure:
-# see https://github.com/php-mock/php-mock/issues/28
ret=0
-for cmdarg in "php %{phpunit}" "php71 %{_bindir}/phpunit7" "php72 %{_bindir}/phpunit8" "php73 %{_bindir}/phpunit8"; do
- if which $cmdarg; then
- set $cmdarg
- $1 $2 --bootstrap %{buildroot}%{_datadir}/tests/phpmock2/autoload.php --verbose rpm/tests|| ret=1
- fi
-done
+# testDefiningAfterCallingUnqualified and testEnable may fail locally (ok in mock)
+
+if [ -x %{_bindir}/phpunit8 ]; then
+ for cmd in php php80 php81 php82;do
+ if which $cmd; then
+ $cmd %{_bindir}/phpunit8 \
+ --filter '^((?!(testDefiningAfterCallingUnqualified|testEnable)).)*$' \
+ --bootstrap %{buildroot}%{_datadir}/tests/phpmock2/autoload.php --verbose rpm/tests || ret=1
+ fi
+ done
+fi
+
+if [ -x %{_bindir}/phpunit9 ]; then
+ for cmd in php php80 php81 php82 php83;do
+ if which $cmd; then
+ $cmd %{_bindir}/phpunit9 \
+ --filter '^((?!(testDefiningAfterCallingUnqualified|testEnable)).)*$' \
+ --bootstrap %{buildroot}%{_datadir}/tests/phpmock2/autoload.php --verbose rpm/tests || ret=1
+ fi
+ done
+fi
+
+if [ -x %{_bindir}/phpunit10 ]; then
+ for cmd in php php81 php82 php83;do
+ if which $cmd; then
+ $cmd %{_bindir}/phpunit10 \
+ --filter '^((?!(testDefiningAfterCallingUnqualified|testEnable)).)*$' \
+ --bootstrap %{buildroot}%{_datadir}/tests/phpmock2/autoload.php rpm/tests || ret=1
+ fi
+ done
+fi
+
+if [ -x %{_bindir}/phpunit11 ]; then
+ for cmd in php php82 php83;do
+ if which $cmd; then
+ $cmd %{_bindir}/phpunit11 \
+ --filter '^((?!(testDefiningAfterCallingUnqualified|testEnable)).)*$' \
+ --bootstrap %{buildroot}%{_datadir}/tests/phpmock2/autoload.php rpm/tests || ret=1
+ fi
+ done
+fi
exit $ret
%else
: bootstrap build with test suite disabled
@@ -137,6 +181,7 @@ exit $ret
%files
+# remirepo:1
%{!?_licensedir:%global license %%doc}
%license LICENSE
%doc composer.json
@@ -146,6 +191,31 @@ exit $ret
%changelog
+* Mon Feb 12 2024 Remi Collet <remi@remirepo.net> - 2.5.0-1
+- update to 2.5.0
+- allow phpunit10
+
+* Tue Jun 13 2023 Remi Collet <remi@remirepo.net> - 2.4.1-1
+- update to 2.4.1 (no change)
+
+* Mon Feb 13 2023 Remi Collet <remi@remirepo.net> - 2.4.0-1
+- update to 2.4.0
+- allow phpunit10
+
+* Tue Feb 8 2022 Remi Collet <remi@remirepo.net> - 2.3.1-1
+- update to 2.3.1
+
+* Mon Dec 14 2020 Remi Collet <remi@remirepo.net> - 2.3.0-1
+- update to 2.3.0
+- switch to phpunit9
+
+* Mon Apr 20 2020 Remi Collet <remi@remirepo.net> - 2.2.2-1
+- update to 2.2.2
+
+* Mon Feb 10 2020 Remi Collet <remi@remirepo.net> - 2.2.1-1
+- update to 2.2.1
+- allow phpunit9 and phpunit/php-text-template v2
+
* Thu Jun 6 2019 Remi Collet <remi@remirepo.net> - 2.1.2-1
- update to 2.1.2