From d480e2bc12c4d590602c27693c2a20d27c24bd24 Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Tue, 8 Dec 2020 10:06:59 +0100 Subject: [PATCH] enable upstream test suite --- .gitignore | 1 + makesrc.sh | 83 ++++++++++++++++++-------- php-phpunitgoodpractices-polyfill.spec | 70 ++++++++++++++++++---- sources | 5 +- 4 files changed, 122 insertions(+), 37 deletions(-) diff --git a/.gitignore b/.gitignore index 2839766..5a2aeed 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ clog /php-phpunitgoodpractices-traits-1.9.1-1f56f64.tgz /php-phpunitgoodpractices-polyfill-1.5.0-b87c59f.tgz +/php-sanmai-phpunit-legacy-adapter-8.1-464c750.tgz diff --git a/makesrc.sh b/makesrc.sh index 62e19db..47d26f4 100755 --- a/makesrc.sh +++ b/makesrc.sh @@ -8,21 +8,24 @@ COMMIT=$(sed -n '/^%global gh_commit/{s/.* //;p}' $NAME.spec) SHORT=${COMMIT:0:7} echo -e "\nCreate git snapshot\nName=$NAME, Owner=$OWNER, Project=$PROJECT, Version=$VERSION\n" +if [ -f $NAME-$VERSION-$SHORT.tgz ]; then + echo "$PROJECT Skipped" +else + echo "Cloning..." + git clone https://github.com/$OWNER/$PROJECT.git $PROJECT-$COMMIT -echo "Cloning..." -git clone https://github.com/$OWNER/$PROJECT.git $PROJECT-$COMMIT + echo "Getting commit..." + pushd $PROJECT-$COMMIT + git checkout $COMMIT || exit 1 + cp composer.json ../composer-polyfill.json + popd -echo "Getting commit..." -pushd $PROJECT-$COMMIT -git checkout $COMMIT -cp composer.json ../composer-polyfill.json -popd + echo "Archiving..." + tar czf $NAME-$VERSION-$SHORT.tgz --exclude .git $PROJECT-$COMMIT -echo "Archiving..." -tar czf $NAME-$VERSION-$SHORT.tgz --exclude .git $PROJECT-$COMMIT - -echo "Cleaning..." -rm -rf $PROJECT-$COMMIT + echo "Cleaning..." + rm -rf $PROJECT-$COMMIT +fi PROJECT=Traits VERSION=$(sed -n '/^%global tr_version/{s/.* //;p}' $NAME.spec) @@ -30,22 +33,54 @@ COMMIT=$(sed -n '/^%global tr_commit/{s/.* //;p}' $NAME.spec) SHORT=${COMMIT:0:7} NAME=php-phpunitgoodpractices-traits -echo -e "\nCreate git snapshot\nName=$NAME, Owner=$OWNER, Project=$PROJECT, Version=$VERSION\n" +if [ -f $NAME-$VERSION-$SHORT.tgz ]; then + echo "$PROJECT Skipped" +else + echo -e "\nCreate git snapshot\nName=$NAME, Owner=$OWNER, Project=$PROJECT, Version=$VERSION\n" -echo "Cloning..." -git clone https://github.com/$OWNER/$PROJECT.git $PROJECT-$COMMIT + echo "Cloning..." + git clone https://github.com/$OWNER/$PROJECT.git $PROJECT-$COMMIT -echo "Getting commit..." -pushd $PROJECT-$COMMIT -git checkout $COMMIT -cp composer.json ../composer-traits.json -popd + echo "Getting commit..." + pushd $PROJECT-$COMMIT + git checkout $COMMIT || exit 1 + cp composer.json ../composer-traits.json + popd -echo "Archiving..." -tar czf $NAME-$VERSION-$SHORT.tgz --exclude .git $PROJECT-$COMMIT + echo "Archiving..." + tar czf $NAME-$VERSION-$SHORT.tgz --exclude .git $PROJECT-$COMMIT -echo "Cleaning..." -rm -rf $PROJECT-$COMMIT + echo "Cleaning..." + rm -rf $PROJECT-$COMMIT +fi +NAME=$(basename $PWD) +OWNER=$(sed -n '/^%global lg_owner/{s/.* //;p}' $NAME.spec) +PROJECT=$(sed -n '/^%global lg_project/{s/.* //;p}' $NAME.spec) +VERSION=$(sed -n '/^%global lg_version/{s/.* //;p}' $NAME.spec) +COMMIT=$(sed -n '/^%global lg_commit/{s/.* //;p}' $NAME.spec) +SHORT=${COMMIT:0:7} +NAME=php-$OWNER-$PROJECT + +if [ -f $NAME-$VERSION-$SHORT.tgz ]; then + echo "$PROJECT Skipped" +else + echo -e "\nCreate git snapshot\nName=$NAME, Owner=$OWNER, Project=$PROJECT, Version=$VERSION\n" + + echo "Cloning..." + git clone https://github.com/$OWNER/$PROJECT.git $PROJECT-$COMMIT + + echo "Getting commit..." + pushd $PROJECT-$COMMIT + git checkout $COMMIT || exit 1 + cp composer.json ../composer-legacy.json + popd + + echo "Archiving..." + tar czf $NAME-$VERSION-$SHORT.tgz --exclude .git $PROJECT-$COMMIT + + echo "Cleaning..." + rm -rf $PROJECT-$COMMIT +fi echo "Done." diff --git a/php-phpunitgoodpractices-polyfill.spec b/php-phpunitgoodpractices-polyfill.spec index 76f0f59..fd2925b 100644 --- a/php-phpunitgoodpractices-polyfill.spec +++ b/php-phpunitgoodpractices-polyfill.spec @@ -7,6 +7,8 @@ # Please, preserve the changelog entries # +%bcond_without tests + # Polyfill # https://github.com/PHPUnitGoodPractices/polyfill/releases %global gh_commit b87c59f0d3df764d0dcf8154e18be69fe6cb5cba @@ -20,16 +22,22 @@ %global ns_vendor PHPUnitGoodPractices %global ns_project Polyfill %global php_home %{_datadir}/php -%global with_tests 0%{!?_without_tests:1} # Traits # https://github.com/PHPUnitGoodPractices/Traits/releases %global tr_commit 1f56f643aaa3e98f22acf71129109479afb9ef33 %global tr_short %(c=%{tr_commit}; echo ${c:0:7}) %global tr_version 1.9.1 +# Legacy +# https://github.com/sanmai/phpunit-legacy-adapter/releases +%global lg_owner sanmai +%global lg_project phpunit-legacy-adapter +%global lg_commit 464c7505c15c487239ac696a82097c765f38a2a1 +%global lg_short %(c=%{lg_commit}; echo ${c:0:7}) +%global lg_version 8.1 Name: php-%{pk_vendor}-%{pk_project} Version: 1.5.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Lacking future-compat polyfills for PHPUnit License: MIT @@ -37,26 +45,39 @@ URL: https://github.com/%{gh_owner}/%{gh_project} # git snapshot to get upstream test suite (none for now) Source0: %{name}-%{version}-%{gh_short}.tgz Source1: php-%{pk_vendor}-traits-%{tr_version}-%{tr_short}.tgz -Source2: makesrc.sh +Source2: php-%{lg_owner}-%{lg_project}-%{lg_version}-%{lg_short}.tgz +Source3: makesrc.sh BuildArch: noarch -%if %{with_tests} +%if %{with tests} # For tests BuildRequires: php(language) >= 5.5 -BuildRequires: %{_bindir}/phpunit -# From composer.json, "require-dev": { +%if 0%{?fedora} >= 32 || 0%{?rhel} >= 9 +%global phpunit %{_bindir}/phpunit9 +%else +%global phpunit %{_bindir}/phpunit8 +%endif +BuildRequires: %{phpunit} +# From polyfill, composer.json, "require-dev": { # "friendsofphp/php-cs-fixer": "^2", # "php-coveralls/php-coveralls": "^2.4" +# From traits, composer.json, "require-dev": { +# "phpunitgoodpractices/polyfill": "^1.1", +# "sanmai/phpunit-legacy-adapter": "^6.1 || ^8.0" +%endif +BuildRequires: php-cli # Autoloader BuildRequires: php-fedora-autoloader-devel -%endif -# From composer.json, "require": { +# From polyfill, composer.json, "require": { # "php": "^5.5 || ^7.0 || ^8.0", # "phpunit/phpunit": "^4.8.36 || ^5.7.27 || ^6.5.14 || ^7.5.20 || ^8.0 || ^9.0" +# From traits, composer.json, "require": { +# "php": "^5.5 || ^7.0 || ^8.0", +# "phpunit/phpunit": "^4.8.36 || ^5.7.27 || ^6.5.14 || ^7.5.20 || ~8.5 || ~9.4" Requires: php(language) >= 5.5 Requires: (phpunit9 or phpunit8 or phpunit7 or phpunit6 or php-phpunit-PHPUnit) -# From phpcompatinfo report for version polyfill 1.4.0 and traits1.9.1 +# From phpcompatinfo report for version polyfill 1.5.0 and traits 1.9.1 # nothing # Autoloader Requires: php-composer(fedora/autoloader) @@ -73,13 +94,15 @@ Autoloader: %{php_home}/%{ns_vendor}/%{ns_project}/autoload.php %prep -%setup -q -n %{gh_project}-%{gh_commit} -a 1 +%setup -q -n %{gh_project}-%{gh_commit} -a 1 -a 2 mv composer.json composer-polyfill.json mv LICENSE LICENSE-polyfill mv Traits-%{tr_commit}/src src2 mv Traits-%{tr_commit}/composer.json composer-traits.json mv Traits-%{tr_commit}/LICENSE LICENSE-traits +mv Traits-%{tr_commit}/tests tests/Traits +mv %{lg_project}-%{lg_commit}/src src3 cat << 'EOF' | tee src/autoload.php - 1.5.0-2 +- enable upstream test suite + * Tue Dec 8 2020 Remi Collet - 1.5.0-1 - update phpunitgoodpractices/polyfill to 1.5.0 diff --git a/sources b/sources index f7fbaf3..abdb984 100644 --- a/sources +++ b/sources @@ -1,2 +1,3 @@ -SHA512 (php-phpunitgoodpractices-polyfill-1.5.0-b87c59f.tgz) = 30bd3cbae013af3de7bb11d1dbcd327aba1bbb64a9742538fe476748a6fdfe786c4fae3851cea034ca2f754f0b0bb606009b93a4bf87140f67332b9f5c881704 -SHA512 (php-phpunitgoodpractices-traits-1.9.1-1f56f64.tgz) = 934b3c1a53dc0997d1084d0858771215ddd0926fd715ec5dcefdb9951c1f0827186d44e642a5266dbd56562a0b2514a64f39fa8438b271b0e395585e4a4069f8 +SHA512 (php-phpunitgoodpractices-polyfill-1.5.0-b87c59f.tgz) = 4f5ba02c41ea6c9bb0865e1103280b6c73d34b67fcc0b74debd24ed95aad7735f6d53fcd2c165f3c8e462e25d695580d250a9525103ad796942ee44ba1e773fd +SHA512 (php-phpunitgoodpractices-traits-1.9.1-1f56f64.tgz) = f80bd879abf7d9a474241cd43c30e817ef1c2db7f9669f02c57b7d9ac8e971ad7a0c05dafa59932b27d8d03a0a345794cfedfac1504985eed047611b8eb6291a +SHA512 (php-sanmai-phpunit-legacy-adapter-8.1-464c750.tgz) = 4f5704608294fdecdbc5345fba88471d13cd33156f0c5c27287413087fce74a2ebc7dbb6f0ad67563e950312f315012597ae03fda8cdad2396dd50905002f688