mirror of https://github.com/FriendsOfTYPO3/tea.git synced 2024-11-25 05:16:13 +01:00

Compare commits

..

2 commits

Author SHA1 Message Date
Oliver Klee
c5d9e1d08e
[TASK] Drop .phpstorm.meta.php (#1448)
With modern PHPDoc annotations and modern PhpStorm versions, this
file is not needed anymore.
2024-09-06 07:24:49 +02:00
Oliver Klee
a0fa00564c
[TASK] Unify the coverage-related directories (#1450)
As we'll need to have `build/logs/` for the merged coverage data
anyway, there is no point to have the separate coverage files
in `.Build/coverage/` instead of in `build/coverage/`.

Now the setup is more consistent.

Please note that this only affects the CI builds as we usually
only collect coverage data there for the pull requests.
2024-09-06 07:23:29 +02:00
4 changed files with 6 additions and 175 deletions

1
.gitattributes vendored
View file

@ -8,7 +8,6 @@
/.npmrc export-ignore /.npmrc export-ignore
/.nvmrc export-ignore /.nvmrc export-ignore
/.php-cs-fixer.php export-ignore /.php-cs-fixer.php export-ignore
/.phpstorm.meta.php export-ignore
/.prettierrc.js export-ignore /.prettierrc.js export-ignore
/Build/ export-ignore /Build/ export-ignore
/Configuration/FunctionalTests.xml export-ignore /Configuration/FunctionalTests.xml export-ignore

View file

@ -63,7 +63,7 @@ jobs:
- name: "Run unit tests with coverage" - name: "Run unit tests with coverage"
run: composer ci:coverage:unit run: composer ci:coverage:unit
- name: "Show generated coverage files" - name: "Show generated coverage files"
run: "ls -lahR .Build/coverage/" run: "ls -lahR build/coverage/"
- name: "Run functional tests with coverage" - name: "Run functional tests with coverage"
run: | run: |
export typo3DatabaseName="$DB_DATABASE"; export typo3DatabaseName="$DB_DATABASE";
@ -72,7 +72,7 @@ jobs:
export typo3DatabasePassword="$DB_PASSWORD"; export typo3DatabasePassword="$DB_PASSWORD";
composer ci:coverage:functional composer ci:coverage:functional
- name: "Show generated coverage files" - name: "Show generated coverage files"
run: "ls -lahR .Build/coverage/" run: "ls -lahR build/coverage/"
- name: "Merge coverage results" - name: "Merge coverage results"
run: composer ci:coverage:merge run: composer ci:coverage:merge
- name: "Show combined coverage files" - name: "Show combined coverage files"

View file

@ -1,168 +0,0 @@
<?php
declare(strict_types=1);
/**
* @see https://www.jetbrains.com/help/phpstorm/ide-advanced-metadata.html
*/
namespace PHPSTORM_META {
override(\TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(0), type(0));
// TYPO3 testing framework
// The accesible mock will be of type `self` as well as `MockObject` and `AccessibleObjectInterface`.
override(
\TYPO3\TestingFramework\Core\BaseTestCase::getAccessibleMock(0),
map(
[
'' => '@|\\PHPUnit\\Framework\\MockObject\\MockObject'
. '|\\TYPO3\\TestingFramework\\Core\\AccessibleObjectInterface',
]
)
);
override(
\TYPO3\TestingFramework\Core\BaseTestCase::getAccessibleMockForAbstractClass(0),
map(
[
'' => '@|\\PHPUnit\\Framework\\MockObject\\MockObject'
. '|\\TYPO3\TestingFramework\\Core\\AccessibleObjectInterface',
]
)
);
// Contexts
// @see https://docs.typo3.org/c/typo3/cms-core/master/en-us/Changelog/9.4/Feature-85389-ContextAPIForConsistentDataHandling.html
expectedArguments(
\TYPO3\CMS\Core\Context\Context::getAspect(),
0,
'date',
'visibility',
'backend.user',
'frontend.user',
'workspace',
'language',
'typoscript'
);
override(\TYPO3\CMS\Core\Context\Context::getAspect(), map([
'date' => \TYPO3\CMS\Core\Context\DateTimeAspect::class,
'visibility' => \TYPO3\CMS\Core\Context\VisibilityAspect::class,
'backend.user' => \TYPO3\CMS\Core\Context\UserAspect::class,
'frontend.user' => \TYPO3\CMS\Core\Context\UserAspect::class,
'workspace' => \TYPO3\CMS\Core\Context\WorkspaceAspect::class,
'language' => \TYPO3\CMS\Core\Context\LanguageAspect::class,
'typoscript' => \TYPO3\CMS\Core\Context\TypoScriptAspect::class,
]));
expectedArguments(
\TYPO3\CMS\Core\Context\DateTimeAspect::get(),
0,
'timestamp',
'iso',
'timezone',
'full',
'accessTime'
);
expectedArguments(
\TYPO3\CMS\Core\Context\VisibilityAspect::get(),
0,
'includeHiddenPages',
'includeHiddenContent',
'includeDeletedRecords'
);
expectedArguments(
\TYPO3\CMS\Core\Context\UserAspect::get(),
0,
'id',
'username',
'isLoggedIn',
'isAdmin',
'groupIds',
'groupNames'
);
expectedArguments(
\TYPO3\CMS\Core\Context\WorkspaceAspect::get(),
0,
'id',
'isLive',
'isOffline'
);
expectedArguments(
\TYPO3\CMS\Core\Context\LanguageAspect::get(),
0,
'id',
'contentId',
'fallbackChain',
'overlayType',
'legacyLanguageMode',
'legacyOverlayType'
);
expectedArguments(
\TYPO3\CMS\Core\Context\TypoScriptAspect::get(),
0,
'forcedTemplateParsing'
);
expectedArguments(
\Psr\Http\Message\ServerRequestInterface::getAttribute(),
0,
'backend.user',
'frontend.user',
'normalizedParams',
'site',
'language',
'routing',
'module',
'moduleData'
);
override(\Psr\Http\Message\ServerRequestInterface::getAttribute(), map([
'backend.user' => \TYPO3\CMS\Backend\FrontendBackendUserAuthentication::class,
'frontend.user' => \TYPO3\CMS\Frontend\Authentication\FrontendUserAuthentication::class,
'normalizedParams' => \TYPO3\CMS\Core\Http\NormalizedParams::class,
'site' => \TYPO3\CMS\Core\Site\Entity\SiteInterface::class,
'language' => \TYPO3\CMS\Core\Site\Entity\SiteLanguage::class,
'routing' => '\TYPO3\CMS\Core\Routing\SiteRouteResult|\TYPO3\CMS\Core\Routing\PageArguments',
'module' => \TYPO3\CMS\Backend\Module\ModuleInterface::class,
'moduleData' => \TYPO3\CMS\Backend\Module\ModuleData::class,
]));
expectedArguments(
\TYPO3\CMS\Core\Http\ServerRequest::getAttribute(),
0,
'backend.user',
'frontend.user',
'normalizedParams',
'site',
'language',
'routing',
'module',
'moduleData'
);
override(\TYPO3\CMS\Core\Http\ServerRequest::getAttribute(), map([
'backend.user' => \TYPO3\CMS\Backend\FrontendBackendUserAuthentication::class,
'frontend.user' => \TYPO3\CMS\Frontend\Authentication\FrontendUserAuthentication::class,
'normalizedParams' => \TYPO3\CMS\Core\Http\NormalizedParams::class,
'site' => \TYPO3\CMS\Core\Site\Entity\SiteInterface::class,
'language' => \TYPO3\CMS\Core\Site\Entity\SiteLanguage::class,
'routing' => '\TYPO3\CMS\Core\Routing\SiteRouteResult|\TYPO3\CMS\Core\Routing\PageArguments',
'module' => \TYPO3\CMS\Backend\Module\ModuleInterface::class,
'moduleData' => \TYPO3\CMS\Backend\Module\ModuleData::class,
]));
override(\TYPO3\CMS\Core\Routing\SiteMatcher::matchRequest(), type(
\TYPO3\CMS\Core\Routing\SiteRouteResult::class,
\TYPO3\CMS\Core\Routing\RouteResultInterface::class
)
);
override(\TYPO3\CMS\Core\Routing\PageRouter::matchRequest(), type(
\TYPO3\CMS\Core\Routing\PageArguments::class,
\TYPO3\CMS\Core\Routing\RouteResultInterface::class
));
}

View file

@ -127,15 +127,15 @@
"ci:coverage:functional": [ "ci:coverage:functional": [
"@ci:tests:create-directories", "@ci:tests:create-directories",
"@coverage:create-directories", "@coverage:create-directories",
"phpunit -c Build/phpunit/FunctionalTests.xml --whitelist Classes --coverage-php=.Build/coverage/functional.cov Tests/Functional" "phpunit -c Build/phpunit/FunctionalTests.xml --whitelist Classes --coverage-php=build/coverage/functional.cov Tests/Functional"
], ],
"ci:coverage:merge": [ "ci:coverage:merge": [
"@coverage:create-directories", "@coverage:create-directories",
"@php tools/phpcov merge --clover=build/logs/clover.xml .Build/coverage/" "@php tools/phpcov merge --clover=build/logs/clover.xml build/coverage/"
], ],
"ci:coverage:unit": [ "ci:coverage:unit": [
"@coverage:create-directories", "@coverage:create-directories",
"phpunit -c Build/phpunit/UnitTests.xml --whitelist Classes --coverage-php=.Build/coverage/unit.cov Tests/Unit" "phpunit -c Build/phpunit/UnitTests.xml --whitelist Classes --coverage-php=build/coverage/unit.cov Tests/Unit"
], ],
"ci:json:lint": "find . ! -path '*/.cache/*' ! -path '*/.Build/*' ! -path '*/node_modules/*' -name '*.json' | xargs -r php .Build/bin/jsonlint -q", "ci:json:lint": "find . ! -path '*/.cache/*' ! -path '*/.Build/*' ! -path '*/node_modules/*' -name '*.json' | xargs -r php .Build/bin/jsonlint -q",
"ci:php": [ "ci:php": [
@ -170,7 +170,7 @@
"ci:typoscript:lint": "typoscript-lint -c Configuration/TsLint.yml --ansi -n --fail-on-warnings -vvv Configuration/TypoScript", "ci:typoscript:lint": "typoscript-lint -c Configuration/TsLint.yml --ansi -n --fail-on-warnings -vvv Configuration/TypoScript",
"ci:xliff:lint": "php Build/xliff/xliff-lint lint:xliff Resources/Private/Language", "ci:xliff:lint": "php Build/xliff/xliff-lint lint:xliff Resources/Private/Language",
"ci:yaml:lint": "find . ! -path '*.Build/*' ! -path '*node_modules/*' \\( -name '*.yaml' -o -name '*.yml' \\) | xargs -r php ./.Build/bin/yaml-lint", "ci:yaml:lint": "find . ! -path '*.Build/*' ! -path '*node_modules/*' \\( -name '*.yaml' -o -name '*.yml' \\) | xargs -r php ./.Build/bin/yaml-lint",
"coverage:create-directories": "mkdir -p .Build/coverage build/logs", "coverage:create-directories": "mkdir -p build/coverage build/logs",
"docs:generate": "docker run --rm --pull always -v $(pwd):/project -it ghcr.io/typo3-documentation/render-guides:latest --config=Documentation", "docs:generate": "docker run --rm --pull always -v $(pwd):/project -it ghcr.io/typo3-documentation/render-guides:latest --config=Documentation",
"fix:composer:normalize": "@composer normalize --no-check-lock", "fix:composer:normalize": "@composer normalize --no-check-lock",
"fix:php": [ "fix:php": [