Skip to content

Commit 2647b91

Browse files
authored
Introduce reproducer for broken function autoloading (#773)
Related to #298
1 parent 310dee6 commit 2647b91

File tree

12 files changed

+1440
-1
lines changed

12 files changed

+1440
-1
lines changed

.github/workflows/e2e-tests.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,7 @@ jobs:
8383
- 'e2e_032'
8484
- 'e2e_033'
8585
- 'e2e_034'
86+
- 'e2e_035'
8687
php:
8788
- '8.1'
8889

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
/.php-cs-fixer.cache
88
/box.json
99
/build/
10+
!/build/.gitkeep
1011
/clover.xml
1112
/dist/
1213
/fixtures/set004/scoper.inc.php

Makefile

Lines changed: 34 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@ blackfire: vendor
155155

156156
.PHONY: e2e
157157
e2e: ## Runs end-to-end tests
158-
e2e: e2e_004 e2e_005 e2e_011 e2e_013 e2e_014 e2e_015 e2e_016 e2e_017 e2e_018 e2e_019 e2e_020 e2e_024 e2e_025 e2e_027 e2e_028 e2e_029 e2e_030 e2e_031 e2e_032 e2e_033 e2e_034
158+
e2e: e2e_004 e2e_005 e2e_011 e2e_013 e2e_014 e2e_015 e2e_016 e2e_017 e2e_018 e2e_019 e2e_020 e2e_024 e2e_025 e2e_027 e2e_028 e2e_029 e2e_030 e2e_031 e2e_032 e2e_033 e2e_034 e2e_035
159159

160160
.PHONY: e2e_004
161161
e2e_004: ## Runs end-to-end tests for the fixture set 004 — Minimalistic codebase
@@ -473,6 +473,25 @@ e2e_034: $(PHP_SCOPER_PHAR_BIN) fixtures/set034-installed-versions/vendor
473473

474474
diff fixtures/set034-installed-versions/expected-output build/set034-installed-versions/output
475475

476+
.PHONY: e2e_035
477+
e2e_035: ## Runs end-to-end tests for the fixture set 035 — Tests tha composer autoloaded files are working fine
478+
e2e_035: $(PHP_SCOPER_PHAR_BIN) fixtures/set035-composer-files-autoload/vendor fixtures/set035-composer-files-autoload/guzzle5-include/vendor
479+
rm -rf build/set035-composer-files-autoload || true
480+
cp -R fixtures/set035-composer-files-autoload build/set035-composer-files-autoload
481+
482+
$(PHP_SCOPER_PHAR) add-prefix \
483+
--working-dir=fixtures/set035-composer-files-autoload/guzzle5-include \
484+
--output-dir=../../../build/set035-composer-files-autoload/scoped-guzzle5-include \
485+
--force \
486+
--no-config \
487+
--no-interaction \
488+
--stop-on-failure
489+
composer --working-dir=build/set035-composer-files-autoload/scoped-guzzle5-include dump-autoload
490+
rm -rf build/set035-composer-files-autoload/guzzle5-include || true
491+
492+
php build/set035-composer-files-autoload/index.php &> build/set035-composer-files-autoload/output || true
493+
php build/set035-composer-files-autoload/test.php
494+
476495

477496
#
478497
# Rules from files
@@ -667,3 +686,17 @@ fixtures/set034-installed-versions/vendor: fixtures/set034-installed-versions/co
667686
fixtures/set034-installed-versions/composer.lock: fixtures/set034-installed-versions/composer.json
668687
@echo "$(@) is not up to date. You may want to run the following command:"
669688
@echo "$$ composer --working-dir=fixtures/set034-installed-versions update --lock && touch -c $(@)"
689+
690+
fixtures/set035-composer-files-autoload/vendor: fixtures/set035-composer-files-autoload/composer.lock
691+
composer --working-dir=fixtures/set035-composer-files-autoload install --no-dev --no-scripts
692+
touch -c $@
693+
fixtures/set035-composer-files-autoload/composer.lock: fixtures/set035-composer-files-autoload/composer.json
694+
@echo "$(@) is not up to date. You may want to run the following command:"
695+
@echo "$$ composer --working-dir=fixtures/set035-composer-files-autoload update --lock && touch -c $(@)"
696+
697+
fixtures/set035-composer-files-autoload/guzzle5-include/vendor: fixtures/set035-composer-files-autoload/guzzle5-include/composer.lock
698+
composer --working-dir=fixtures/set035-composer-files-autoload/guzzle5-include install --no-dev --no-scripts
699+
touch -c $@
700+
fixtures/set035-composer-files-autoload/guzzle5-include/composer.lock: fixtures/set035-composer-files-autoload/guzzle5-include/composer.json
701+
@echo "$(@) is not up to date. You may want to run the following command:"
702+
@echo "$$ composer --working-dir=fixtures/set035-composer-files-autoload/guzzle5-include update --lock && touch -c $(@)"

build/.gitkeep

Whitespace-only changes.
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
/vendor/
2+
/guzzle5-include/vendor/
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"bin": "index.php",
3+
"require": {
4+
"guzzlehttp/guzzle": "^6.0"
5+
}
6+
}

0 commit comments

Comments
 (0)