summaryrefslogtreecommitdiffstats
path: root/php-mock-phpunit2.spec
diff options
context:
space:
mode:
Diffstat (limited to 'php-mock-phpunit2.spec')
-rw-r--r--php-mock-phpunit2.spec65
1 files changed, 48 insertions, 17 deletions
diff --git a/php-mock-phpunit2.spec b/php-mock-phpunit2.spec
index 4f1e6af..2ac8823 100644
--- a/php-mock-phpunit2.spec
+++ b/php-mock-phpunit2.spec
@@ -1,12 +1,12 @@
# remirepo/fedora spec file for php-mock-phpunit2
#
-# Copyright (c) 2016-2017 Remi Collet
+# Copyright (c) 2016-2018 Remi Collet
# License: CC-BY-SA
# http://creativecommons.org/licenses/by-sa/4.0/
#
# Please, preserve the changelog entries
#
-%global gh_commit b42fc41ecb7538564067527f6c30b8854f149d32
+%global gh_commit a7e7a51511095ad160d78e98f0e878002ddfe5f2
%global gh_short %(c=%{gh_commit}; echo ${c:0:7})
%global gh_owner php-mock
%global gh_project php-mock-phpunit
@@ -14,11 +14,10 @@
%global major 2
Name: php-mock-phpunit%{major}
-Version: 2.0.1
+Version: 2.1.0
Release: 1%{?dist}
Summary: Mock built-in PHP functions with PHPUnit.
-Group: Development/Libraries
License: WTFPL
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
@@ -26,24 +25,32 @@ Source0: https://github.com/%{gh_owner}/%{gh_project}/archive/%{gh_commit
BuildArch: noarch
BuildRequires: php(language) >= 7
%if %{with_tests}
-BuildRequires: php-composer(php-mock/php-mock-integration) < 3
-BuildRequires: php-composer(php-mock/php-mock-integration) >= 2
+%if 0%{?fedora} >= 27 || 0%{?rhel} >= 8
+BuildRequires: (php-composer(php-mock/php-mock-integration) >= 2 with php-composer(php-mock/php-mock-integration) < 3)
+%else
+BuildRequires: php-mock-integration2
+%endif
BuildRequires: phpunit6
+BuildRequires: phpunit7
# For autoloader
BuildRequires: php-composer(fedora/autoloader)
%endif
# from composer.json, "require": {
# "php": ">=7",
-# "phpunit/phpunit": "^6 <6.5",
+# "phpunit/phpunit": "^6 || ^7",
# "php-mock/php-mock-integration": "^2"
# "conflict": {
# "phpunit/phpunit-mock-objects": "3.2.0"
Requires: php(language) >= 7
+%if 0%{?fedora} >= 27 || 0%{?rhel} >= 8
+Requires: (phpunit6 or phpunit7)
+Requires: (php-composer(php-mock/php-mock-integration) >= 2 with php-composer(php-mock/php-mock-integration) < 3)
+%else
Requires: phpunit6
-Requires: php-composer(php-mock/php-mock-integration) < 3
-Requires: php-composer(php-mock/php-mock-integration) >= 2
-# From phpcompatinfo report from version 1.1.1
+Requires: php-mock-integration2
+%endif
+# From phpcompatinfo report from version 2.1.0
# only Core
Provides: php-composer(%{gh_owner}/%{gh_project}) = %{version}
@@ -58,7 +65,18 @@ No further extension is needed.
%prep
%setup -q -n %{gh_project}-%{gh_commit}
-# Same namespace than php-mock, not specific autoloader needed
+: Create autoloader
+cat << 'AUTOLOAD' | tee rpm.php
+<?php
+/* Autoloader for %{name} and its dependencies */
+require_once '%{_datadir}/php/Fedora/Autoloader/autoload.php';
+
+\Fedora\Autoloader\Autoload::addPsr4('phpmock\\phpunit\\', __DIR__);
+\Fedora\Autoloader\Dependencies::required(array(
+ __DIR__ . '/compatibility.php',
+ '%{_datadir}/php/phpmock2/autoload.php',
+));
+AUTOLOAD
%build
@@ -66,27 +84,35 @@ No further extension is needed.
%install
-mkdir -p %{buildroot}%{_datadir}/php/
-mkdir -p %{buildroot}%{_datadir}/php/phpmock%{major}
-cp -pr classes %{buildroot}%{_datadir}/php/phpmock%{major}/phpunit
-
+mkdir -p %{buildroot}%{_datadir}/php/
+mkdir -p %{buildroot}%{_datadir}/php/phpmock%{major}
+cp -pr classes %{buildroot}%{_datadir}/php/phpmock%{major}/phpunit
+cp -pr compatibility %{buildroot}%{_datadir}/php/phpmock%{major}/phpunit/compatibility
+cp -p autoload.php %{buildroot}%{_datadir}/php/phpmock%{major}/phpunit/compatibility.php
+cp -p rpm.php %{buildroot}%{_datadir}/php/phpmock%{major}/phpunit/autoload.php
%check
%if %{with_tests}
mkdir vendor
cat << 'EOF' | tee vendor/autoload.php
<?php
-require_once '%{_datadir}/php/Fedora/Autoloader/autoload.php';
+require_once '%{buildroot}%{_datadir}/php/phpmock%{major}/phpunit/autoload.php';
require_once '%{_datadir}/tests/phpmock%{major}/autoload.php';
-\Fedora\Autoloader\Autoload::addPsr4('phpmock\\', '%{buildroot}%{_datadir}/php/phpmock%{major}');
EOF
ret=0
+: Run upstream test suite with phpunit6
for cmd in php php70 php71 php72; do
if which $cmd; then
$cmd %{_bindir}/phpunit6 --verbose || ret=1
fi
done
+: Run upstream test suite with phpunit7
+for cmd in php php71 php72; do
+ if which $cmd; then
+ $cmd %{_bindir}/phpunit7 --verbose || ret=1
+ fi
+done
exit $ret
%else
: bootstrap build with test suite disabled
@@ -102,6 +128,11 @@ exit $ret
%changelog
+* Fri Mar 23 2018 Remi Collet <remi@remirepo.net> - 2.1.0-1
+- update to 2.1.0
+- add autoloader
+- allow phpunit6 and phpunit7
+
* Tue Dec 5 2017 Remi Collet <remi@remirepo.net> - 2.0.1-1
- rename to php-mock-phpunit2
- Update to 2.0.1