From e514f4391edf7eda9406d4f2739ace30c2153e77 Mon Sep 17 00:00:00 2001
From: Christian Kuhn <lolli@schwarzbu.ch>
Date: Tue, 13 Feb 2018 15:32:21 +0100
Subject: [PATCH] [!!!][TASK] Handle E_NOTICE free unit tests

Raise typo3/testing-framework from 2.0.4 to 3.0.0:
composer require --dev typo3/testing-framework ^3.0

The new typo3/testing-framework version comes with a change
that no longer suppresses E_NOTICE PHP errors by default and lets
tests fail that raise them.

The static property $suppressNotices in unit test files is set to
true for all test cases that currently raise E_NOTICE errors to
suppress them on a by-file basis.

Further patches should remove this property one-by-one again by
fixing the system under test the unit test case handles.

Change-Id: I7d44fe3723ce5820a37051ae31f16b2f142ffba6
Resolves: #83889
Related: #83888
Releases: master
Reviewed-on: https://review.typo3.org/55697
Reviewed-by: Tymoteusz Motylewski <t.motylewski@gmail.com>
Tested-by: Tymoteusz Motylewski <t.motylewski@gmail.com>
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Markus Klein <markus.klein@typo3.org>
Tested-by: Markus Klein <markus.klein@typo3.org>
---
 composer.json                                 |  2 +-
 composer.lock                                 | 24 +++----
 .../FormInlineAjaxControllerTest.php          |  5 ++
 .../Wizard/SuggestWizardControllerTest.php    |  5 ++
 .../Container/ListOfFieldsContainerTest.php   |  5 ++
 .../PaletteAndSingleContainerTest.php         |  5 ++
 .../Form/Element/AbstractFormElementTest.php  |  5 ++
 .../Form/Element/InputDateTimeElementTest.php |  5 ++
 .../DatabaseDefaultLanguagePageRowTest.php    |  5 ++
 .../DatabaseRecordTypeValueTest.php           |  5 ++
 .../DatabaseRowInitializeNewTest.php          |  5 ++
 .../DatabaseSystemLanguageRowsTest.php        |  5 ++
 .../DatabaseUserPermissionCheckTest.php       |  5 ++
 .../EvaluateDisplayConditionsTest.php         |  5 ++
 .../FormDataProvider/TcaCheckboxItemsTest.php |  5 ++
 .../TcaColumnsProcessCommonTest.php           |  5 ++
 .../TcaColumnsProcessFieldLabelsTest.php      |  5 ++
 .../TcaColumnsProcessRecordTitleTest.php      |  5 ++
 .../TcaColumnsProcessShowitemTest.php         |  5 ++
 .../FormDataProvider/TcaFlexPrepareTest.php   |  5 ++
 .../FormDataProvider/TcaFlexProcessTest.php   |  5 ++
 .../Form/FormDataProvider/TcaGroupTest.php    |  5 ++
 .../TcaInlineConfigurationTest.php            |  5 ++
 .../TcaInlineExpandCollapseStateTest.php      |  5 ++
 .../Form/FormDataProvider/TcaInlineTest.php   |  5 ++
 .../TcaInputPlaceholdersTest.php              |  5 ++
 .../FormDataProvider/TcaRadioItemsTest.php    |  5 ++
 .../FormDataProvider/TcaRecordTitleTest.php   |  5 ++
 .../FormDataProvider/TcaSelectItemsTest.php   |  5 ++
 .../TcaSelectTreeItemsTest.php                |  5 ++
 .../Unit/Form/InlineStackProcessorTest.php    |  4 ++
 .../Tests/Unit/Form/NodeFactoryTest.php       |  5 ++
 .../Tests/Unit/Utility/BackendUtilityTest.php |  5 ++
 .../FormDataProvider/TcaFlexPrepareTest.php   |  5 ++
 ...Breaking-83889-E_NOTICEFreeUnitTesting.rst | 54 +++++++++++++++
 .../AbstractUserAuthenticationTest.php        |  5 ++
 .../AuthenticationServiceTest.php             |  5 ++
 .../BackendUserAuthenticationTest.php         |  5 ++
 .../Unit/Cache/Backend/FileBackendTest.php    |  5 ++
 .../Unit/Cache/Backend/PdoBackendTest.php     |  5 ++
 .../Backend/Typo3DatabaseBackendTest.php      |  5 ++
 .../Unit/Category/CategoryRegistryTest.php    |  5 ++
 .../Unit/Charset/CharsetConverterTest.php     |  5 ++
 .../ConfigurationManagerTest.php              |  5 ++
 .../FlexForm/FlexFormToolsTest.php            |  5 ++
 .../AbstractConditionMatcherTest.php          |  5 ++
 .../Unit/DataHandling/DataHandlerTest.php     |  5 ++
 .../Unit/Database/Query/QueryBuilderTest.php  |  5 ++
 .../Unit/Database/Query/QueryHelperTest.php   |  5 ++
 .../FrontendWorkspaceRestrictionTest.php      |  6 +-
 .../Unit/Database/QueryGeneratorTest.php      |  5 ++
 .../SchemaColumnDefinitionListenerTest.php    |  5 ++
 .../Schema/Parser/TableBuilderTest.php        |  5 ++
 .../Unit/Database/Schema/SqlReaderTest.php    |  5 ++
 .../core/Tests/Unit/FileStreamWrapperTest.php |  5 ++
 .../AbstractFormProtectionTest.php            |  5 ++
 .../core/Tests/Unit/Html/HtmlParserTest.php   |  5 ++
 .../Tests/Unit/Html/RteHtmlParserTest.php     |  5 ++
 .../Unit/Http/ServerRequestFactoryTest.php    |  5 ++
 .../Tests/Unit/Imaging/IconFactoryTest.php    |  5 ++
 .../Imaging/ImageManipulation/AreaTest.php    |  5 ++
 .../Unit/LinkHandling/FileLinkHandlerTest.php |  4 ++
 .../LegacyLinkNotationConverterTest.php       |  5 ++
 .../Unit/LinkHandling/LinkServiceTest.php     |  5 ++
 .../Localization/LocalizationFactoryTest.php  |  5 ++
 .../Parser/LocallangXmlParserTest.php         |  5 ++
 .../core/Tests/Unit/Log/LogManagerTest.php    |  5 ++
 .../core/Tests/Unit/Log/LogRecordTest.php     |  5 ++
 .../Unit/Log/Processor/WebProcessorTest.php   |  5 ++
 .../Tests/Unit/Log/Writer/FileWriterTest.php  |  5 ++
 .../core/Tests/Unit/Mail/MailerTest.php       |  5 ++
 .../Tests/Unit/Mail/TransportFactoryTest.php  |  7 +-
 .../Unit/Migrations/TcaMigrationTest.php      |  5 ++
 .../Tests/Unit/Package/PackageManagerTest.php |  5 ++
 .../Tests/Unit/Resource/AbstractFileTest.php  |  5 ++
 .../Resource/Driver/DriverRegistryTest.php    |  5 ++
 .../Unit/Resource/Driver/LocalDriverTest.php  |  5 ++
 .../core/Tests/Unit/Resource/FileTest.php     |  5 ++
 .../Tests/Unit/Resource/ProcessedFileTest.php |  5 ++
 .../Rendering/AudioTagRendererTest.php        |  5 ++
 .../Rendering/VideoTagRendererTest.php        |  5 ++
 .../Resource/Rendering/VimeoRendererTest.php  |  5 ++
 .../Rendering/YouTubeRendererTest.php         |  5 ++
 .../ResourceCompressorIntegrationTest.php     |  4 ++
 .../Unit/Resource/ResourceCompressorTest.php  |  5 ++
 .../Unit/Resource/ResourceStorageTest.php     |  5 ++
 .../MarkerBasedTemplateServiceTest.php        |  5 ++
 .../TreeDataProviderFactoryTest.php           |  5 ++
 .../core/Tests/Unit/Type/EnumerationTest.php  |  5 ++
 .../Parser/TypoScriptParserTest.php           |  5 ++
 .../Unit/TypoScript/TemplateServiceTest.php   |  5 ++
 .../Unit/TypoScript/TypoScriptServiceTest.php |  5 ++
 .../Tests/Unit/Utility/ArrayUtilityTest.php   |  5 ++
 .../Unit/Utility/ClassNamingUtilityTest.php   |  5 ++
 .../ExtensionManagementUtilityTest.php        |  5 ++
 .../Tests/Unit/Utility/GeneralUtilityTest.php |  6 ++
 .../Unit/Utility/RootlineUtilityTest.php      |  5 ++
 .../Tests/Unit/Utility/StringUtilityTest.php  |  5 ++
 .../Unit/ViewHelpers/IconViewHelperTest.php   |  5 ++
 .../UnitDeprecated/Html/RteHtmlParserTest.php |  5 ++
 .../Utility/ClientUtilityTest.php             |  5 ++
 .../AbstractConfigurationManagerTest.php      |  5 ++
 .../FrontendConfigurationManagerTest.php      |  5 ++
 .../Mvc/Controller/ActionControllerTest.php   |  5 ++
 .../Tests/Unit/Mvc/Web/RequestBuilderTest.php |  5 ++
 .../Unit/Mvc/Web/Routing/UriBuilderTest.php   |  5 ++
 .../Unit/Persistence/Generic/BackendTest.php  |  5 ++
 .../Generic/Mapper/DataMapFactoryTest.php     |  5 ++
 .../Generic/Mapper/DataMapperTest.php         |  5 ++
 .../Generic/PersistenceManagerTest.php        |  5 ++
 .../Unit/Persistence/Generic/SessionTest.php  |  5 ++
 .../Generic/Storage/Typo3DbBackendTest.php    |  5 ++
 .../Storage/Typo3DbQueryParserTest.php        |  7 +-
 .../Tests/Unit/Persistence/RepositoryTest.php |  5 ++
 .../Unit/Reflection/ReflectionServiceTest.php |  5 ++
 .../extbase/Tests/Unit/Scheduler/TaskTest.php |  5 ++
 .../Unit/Service/ExtensionServiceTest.php     |  5 ++
 .../Unit/Service/ImageScriptServiceTest.php   |  5 ++
 .../Tests/Unit/SignalSlot/DispatcherTest.php  |  5 ++
 .../Unit/Utility/ExtensionUtilityTest.php     |  5 ++
 .../Unit/Utility/LocalizationUtilityTest.php  |  5 ++
 .../Tests/Unit/Report/ExtensionStatusTest.php |  5 ++
 .../ExtensionManagementServiceTest.php        |  5 ++
 .../Tests/Unit/Utility/EmConfUtilityTest.php  |  5 ++
 .../Unit/Utility/FileHandlingUtilityTest.php  |  5 ++
 .../Tests/Unit/Utility/InstallUtilityTest.php |  5 ++
 .../Tests/Unit/Utility/ListUtilityTest.php    |  5 ++
 .../FrontendLoginControllerTest.php           |  5 ++
 .../Widget/AbstractWidgetViewHelperTest.php   |  5 ++
 .../Core/Widget/WidgetRequestBuilderTest.php  |  5 ++
 .../Tests/Unit/View/StandaloneViewTest.php    |  5 ++
 .../IfAuthenticatedViewHelperTest.php         |  5 ++
 .../ViewHelpers/CObjectViewHelperTest.php     |  5 ++
 .../FlashMessagesViewHelperTest.php           |  5 ++
 .../ViewHelpers/Form/SelectViewHelperTest.php |  5 ++
 .../Form/TextareaViewHelperTest.php           |  5 ++
 .../Form/TextfieldViewHelperTest.php          |  5 ++
 .../Unit/ViewHelpers/FormViewHelperTest.php   |  5 ++
 .../ViewHelpers/Link/PageViewHelperTest.php   |  5 ++
 .../Link/TypolinkViewHelperTest.php           |  5 ++
 .../Controller/FormEditorControllerTest.php   |  4 ++
 .../Controller/FormManagerControllerTest.php  |  4 ++
 .../Domain/Finishers/AbstractFinisherTest.php |  5 ++
 .../FormElements/AbstractFormElementTest.php  |  5 ++
 .../Unit/Domain/FormElements/SectionTest.php  |  5 ++
 .../Hooks/DataStructureIdentifierHookTest.php |  5 ++
 .../InheritancesResolverServiceTest.php       |  5 ++
 .../FormPersistenceManagerTest.php            |  4 ++
 .../PropertyMappingConfigurationTest.php      |  5 ++
 .../Mvc/Validation/FileSizeValidatorTest.php  |  4 ++
 .../Mvc/Validation/MimeTypeValidatorTest.php  |  4 ++
 .../Unit/Service/TranslationServiceTest.php   |  4 ++
 .../FrontendUserAuthenticationTest.php        |  5 ++
 .../ConditionMatcherTest.php                  |  5 ++
 .../ContentObject/CaseContentObjectTest.php   |  5 ++
 .../ContentObjectRendererTest.php             |  4 ++
 .../ContentObject/FilesContentObjectTest.php  |  5 ++
 .../FluidTemplateContentObjectTest.php        |  5 ++
 .../Menu/AbstractMenuContentObjectTest.php    |  5 ++
 .../TypoScriptFrontendControllerTest.php      |  5 ++
 .../Unit/Page/CacheHashCalculatorTest.php     |  5 ++
 .../Tests/Unit/Page/PageGeneratorTest.php     |  5 ++
 .../Tests/Unit/Page/PageRepositoryTest.php    |  5 ++
 .../Tests/Unit/Plugin/AbstractPluginTest.php  |  5 ++
 .../Unit/Processor/GalleryProcessorTest.php   |  5 ++
 .../Typolink/AbstractTypolinkBuilderTest.php  |  5 ++
 .../Tests/Unit/View/AdminPanelViewTest.php    |  5 ++
 .../indexed_search/Tests/Unit/IndexerTest.php |  5 ++
 .../Classes/Controller/UpgradeController.php  |  5 ++
 .../Matcher/PropertyExistsStaticMatcher.php   | 62 ++++++++++++++++++
 .../Php/PropertyExistsStaticMatcher.php       |  9 +++
 .../Php/Matcher/AbstractCoreMatcherTest.php   |  5 ++
 .../Php/Matcher/ArrayDimensionMatcherTest.php |  5 ++
 .../PropertyExistsStaticMatcherFixture.php    | 65 +++++++++++++++++++
 .../MethodArgumentDroppedMatcherTest.php      |  5 ++
 ...MethodArgumentDroppedStaticMatcherTest.php |  5 ++
 .../MethodArgumentRequiredMatcherTest.php     |  5 ++
 ...ethodArgumentRequiredStaticMatcherTest.php |  5 ++
 .../MethodArgumentUnusedMatcherTest.php       |  5 ++
 .../Php/Matcher/MethodCallMatcherTest.php     |  5 ++
 .../Matcher/MethodCallStaticMatcherTest.php   |  5 ++
 .../PropertyExistsStaticMatcherTest.php       | 61 +++++++++++++++++
 .../Unit/FolderStructure/AbstractNodeTest.php |  5 ++
 .../FolderStructure/DirectoryNodeTest.php     |  5 ++
 .../Unit/FolderStructure/FileNodeTest.php     |  5 ++
 .../Unit/FolderStructure/LinkNodeTest.php     |  5 ++
 .../SilentConfigurationUpgradeServiceTest.php |  5 ++
 .../RowUpdater/L10nModeUpdaterTest.php        |  5 ++
 .../AbstractDatabaseRecordListTest.php        |  5 ++
 .../Unit/Service/RedirectServiceTest.php      |  5 ++
 .../Unit/Backend/CommandLineBackendTest.php   |  5 ++
 .../Unit/CronCommand/NormalizeCommandTest.php |  5 ++
 192 files changed, 1179 insertions(+), 19 deletions(-)
 create mode 100644 typo3/sysext/core/Documentation/Changelog/master/Breaking-83889-E_NOTICEFreeUnitTesting.rst
 create mode 100644 typo3/sysext/install/Classes/ExtensionScanner/Php/Matcher/PropertyExistsStaticMatcher.php
 create mode 100644 typo3/sysext/install/Configuration/ExtensionScanner/Php/PropertyExistsStaticMatcher.php
 create mode 100644 typo3/sysext/install/Tests/Unit/ExtensionScanner/Php/Matcher/Fixtures/PropertyExistsStaticMatcherFixture.php
 create mode 100644 typo3/sysext/install/Tests/Unit/ExtensionScanner/Php/Matcher/PropertyExistsStaticMatcherTest.php

diff --git a/composer.json b/composer.json
index b82b14e24ca7..d9c4cee07c96 100644
--- a/composer.json
+++ b/composer.json
@@ -62,7 +62,7 @@
 		"friendsofphp/php-cs-fixer": "^2.0",
 		"fiunchinho/phpunit-randomizer": "~3.0.0",
 		"typo3/cms-styleguide": "~9.0.1",
-		"typo3/testing-framework": "^2.0.3"
+		"typo3/testing-framework": "^3.0"
 	},
 	"suggest": {
 		"ext-gd": "GDlib/Freetype is required for building images with text (GIFBUILDER) and can also be used to scale images",
diff --git a/composer.lock b/composer.lock
index e99f7ffc5ee6..bf81400b1a09 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,7 +4,7 @@
         "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
         "This file is @generated automatically"
     ],
-    "content-hash": "404f780d81028713a93bcb93bdfc3d69",
+    "content-hash": "2bd96e5071eb99b24b31261e2e03e4aa",
     "packages": [
         {
             "name": "cogpowered/finediff",
@@ -4414,31 +4414,31 @@
         },
         {
             "name": "typo3/testing-framework",
-            "version": "2.0.4",
+            "version": "3.0.0",
             "source": {
                 "type": "git",
                 "url": "https://github.com/TYPO3/testing-framework.git",
-                "reference": "602e59f8d80f83c006566ade6037875ecba30353"
+                "reference": "0793e458c801f746c8da55453d8c98744d477ede"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/TYPO3/testing-framework/zipball/602e59f8d80f83c006566ade6037875ecba30353",
-                "reference": "602e59f8d80f83c006566ade6037875ecba30353",
+                "url": "https://api.github.com/repos/TYPO3/testing-framework/zipball/0793e458c801f746c8da55453d8c98744d477ede",
+                "reference": "0793e458c801f746c8da55453d8c98744d477ede",
                 "shasum": ""
             },
             "require": {
                 "mikey179/vfsstream": "~1.6.0",
                 "phpunit/phpunit": "^6.2",
-                "typo3/cms-backend": "^8.5 || ^9",
-                "typo3/cms-core": "^8.5 || ^9",
-                "typo3/cms-extbase": "^8.5 || ^9",
-                "typo3/cms-fluid": "^8.5 || ^9",
-                "typo3/cms-frontend": "^8.5 || ^9",
+                "typo3/cms-backend": "^9",
+                "typo3/cms-core": "^9",
+                "typo3/cms-extbase": "^9",
+                "typo3/cms-fluid": "^9",
+                "typo3/cms-frontend": "^9",
                 "typo3fluid/fluid": "^2.2"
             },
             "suggest": {
                 "codeception/codeception": "^2.2",
-                "typo3/cms-saltedpasswords": "^8.5",
+                "typo3/cms-saltedpasswords": "^9",
                 "typo3/cms-styleguide": "~8.0.8"
             },
             "type": "library",
@@ -4472,7 +4472,7 @@
                 "tests",
                 "typo3"
             ],
-            "time": "2018-02-13T16:14:26+00:00"
+            "time": "2018-02-13T22:48:10+00:00"
         },
         {
             "name": "webmozart/assert",
diff --git a/typo3/sysext/backend/Tests/Unit/Controller/FormInlineAjaxControllerTest.php b/typo3/sysext/backend/Tests/Unit/Controller/FormInlineAjaxControllerTest.php
index 0b025b305358..ead320561c5c 100644
--- a/typo3/sysext/backend/Tests/Unit/Controller/FormInlineAjaxControllerTest.php
+++ b/typo3/sysext/backend/Tests/Unit/Controller/FormInlineAjaxControllerTest.php
@@ -24,6 +24,11 @@ use TYPO3\CMS\Core\Authentication\BackendUserAuthentication;
  */
 class FormInlineAjaxControllerTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @test
      */
diff --git a/typo3/sysext/backend/Tests/Unit/Controller/Wizard/SuggestWizardControllerTest.php b/typo3/sysext/backend/Tests/Unit/Controller/Wizard/SuggestWizardControllerTest.php
index c8f75a14d021..2b724c62b38e 100644
--- a/typo3/sysext/backend/Tests/Unit/Controller/Wizard/SuggestWizardControllerTest.php
+++ b/typo3/sysext/backend/Tests/Unit/Controller/Wizard/SuggestWizardControllerTest.php
@@ -25,6 +25,11 @@ use TYPO3\CMS\Core\Utility\GeneralUtility;
  */
 class SuggestWizardControllerTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @test
      */
diff --git a/typo3/sysext/backend/Tests/Unit/Form/Container/ListOfFieldsContainerTest.php b/typo3/sysext/backend/Tests/Unit/Form/Container/ListOfFieldsContainerTest.php
index 16368f019532..106ee1152fe9 100644
--- a/typo3/sysext/backend/Tests/Unit/Form/Container/ListOfFieldsContainerTest.php
+++ b/typo3/sysext/backend/Tests/Unit/Form/Container/ListOfFieldsContainerTest.php
@@ -26,6 +26,11 @@ use TYPO3\TestingFramework\Core\Unit\UnitTestCase;
  */
 class ListOfFieldsContainerTest extends UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @test
      */
diff --git a/typo3/sysext/backend/Tests/Unit/Form/Container/PaletteAndSingleContainerTest.php b/typo3/sysext/backend/Tests/Unit/Form/Container/PaletteAndSingleContainerTest.php
index 8f3209767d08..4987aa2d233e 100644
--- a/typo3/sysext/backend/Tests/Unit/Form/Container/PaletteAndSingleContainerTest.php
+++ b/typo3/sysext/backend/Tests/Unit/Form/Container/PaletteAndSingleContainerTest.php
@@ -28,6 +28,11 @@ use TYPO3\TestingFramework\Core\Unit\UnitTestCase;
  */
 class PaletteAndSingleContainerTest extends UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @test
      */
diff --git a/typo3/sysext/backend/Tests/Unit/Form/Element/AbstractFormElementTest.php b/typo3/sysext/backend/Tests/Unit/Form/Element/AbstractFormElementTest.php
index f9e9cd892013..4d4493df9f6d 100644
--- a/typo3/sysext/backend/Tests/Unit/Form/Element/AbstractFormElementTest.php
+++ b/typo3/sysext/backend/Tests/Unit/Form/Element/AbstractFormElementTest.php
@@ -21,6 +21,11 @@ use TYPO3\CMS\Backend\Form\Element\AbstractFormElement;
  */
 class AbstractFormElementTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @return array
      */
diff --git a/typo3/sysext/backend/Tests/Unit/Form/Element/InputDateTimeElementTest.php b/typo3/sysext/backend/Tests/Unit/Form/Element/InputDateTimeElementTest.php
index 71f11f223a80..92a26280f9e3 100644
--- a/typo3/sysext/backend/Tests/Unit/Form/Element/InputDateTimeElementTest.php
+++ b/typo3/sysext/backend/Tests/Unit/Form/Element/InputDateTimeElementTest.php
@@ -25,6 +25,11 @@ use TYPO3\CMS\Core\Localization\LanguageService;
  */
 class InputDateTimeElementTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @var string Selected timezone backup
      */
diff --git a/typo3/sysext/backend/Tests/Unit/Form/FormDataProvider/DatabaseDefaultLanguagePageRowTest.php b/typo3/sysext/backend/Tests/Unit/Form/FormDataProvider/DatabaseDefaultLanguagePageRowTest.php
index 42c8dfdca90a..bb30e3bdc6cc 100644
--- a/typo3/sysext/backend/Tests/Unit/Form/FormDataProvider/DatabaseDefaultLanguagePageRowTest.php
+++ b/typo3/sysext/backend/Tests/Unit/Form/FormDataProvider/DatabaseDefaultLanguagePageRowTest.php
@@ -22,6 +22,11 @@ use TYPO3\CMS\Backend\Form\FormDataProvider\DatabaseDefaultLanguagePageRow;
  */
 class DatabaseDefaultLanguagePageRowTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @var DatabaseDefaultLanguagePageRow|\PHPUnit_Framework_MockObject_MockObject
      */
diff --git a/typo3/sysext/backend/Tests/Unit/Form/FormDataProvider/DatabaseRecordTypeValueTest.php b/typo3/sysext/backend/Tests/Unit/Form/FormDataProvider/DatabaseRecordTypeValueTest.php
index 19b9dcf7332e..a02dc9199f0d 100644
--- a/typo3/sysext/backend/Tests/Unit/Form/FormDataProvider/DatabaseRecordTypeValueTest.php
+++ b/typo3/sysext/backend/Tests/Unit/Form/FormDataProvider/DatabaseRecordTypeValueTest.php
@@ -21,6 +21,11 @@ use TYPO3\CMS\Backend\Form\FormDataProvider\DatabaseRecordTypeValue;
  */
 class DatabaseRecordTypeValueTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @var DatabaseRecordTypeValue|\PHPUnit_Framework_MockObject_MockObject
      */
diff --git a/typo3/sysext/backend/Tests/Unit/Form/FormDataProvider/DatabaseRowInitializeNewTest.php b/typo3/sysext/backend/Tests/Unit/Form/FormDataProvider/DatabaseRowInitializeNewTest.php
index 8916bdab6690..56f10996a6ff 100644
--- a/typo3/sysext/backend/Tests/Unit/Form/FormDataProvider/DatabaseRowInitializeNewTest.php
+++ b/typo3/sysext/backend/Tests/Unit/Form/FormDataProvider/DatabaseRowInitializeNewTest.php
@@ -21,6 +21,11 @@ use TYPO3\CMS\Backend\Form\FormDataProvider\DatabaseRowInitializeNew;
  */
 class DatabaseRowInitializeNewTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @var DatabaseRowInitializeNew
      */
diff --git a/typo3/sysext/backend/Tests/Unit/Form/FormDataProvider/DatabaseSystemLanguageRowsTest.php b/typo3/sysext/backend/Tests/Unit/Form/FormDataProvider/DatabaseSystemLanguageRowsTest.php
index aba5808a7880..d24ff0d11985 100644
--- a/typo3/sysext/backend/Tests/Unit/Form/FormDataProvider/DatabaseSystemLanguageRowsTest.php
+++ b/typo3/sysext/backend/Tests/Unit/Form/FormDataProvider/DatabaseSystemLanguageRowsTest.php
@@ -33,6 +33,11 @@ use TYPO3\CMS\Core\Utility\GeneralUtility;
  */
 class DatabaseSystemLanguageRowsTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @var DatabaseSystemLanguageRows
      */
diff --git a/typo3/sysext/backend/Tests/Unit/Form/FormDataProvider/DatabaseUserPermissionCheckTest.php b/typo3/sysext/backend/Tests/Unit/Form/FormDataProvider/DatabaseUserPermissionCheckTest.php
index 9b82dcb49b7f..cf65e1795208 100644
--- a/typo3/sysext/backend/Tests/Unit/Form/FormDataProvider/DatabaseUserPermissionCheckTest.php
+++ b/typo3/sysext/backend/Tests/Unit/Form/FormDataProvider/DatabaseUserPermissionCheckTest.php
@@ -32,6 +32,11 @@ use TYPO3\CMS\Core\Type\Bitmask\Permission;
  */
 class DatabaseUserPermissionCheckTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @var DatabaseUserPermissionCheck
      */
diff --git a/typo3/sysext/backend/Tests/Unit/Form/FormDataProvider/EvaluateDisplayConditionsTest.php b/typo3/sysext/backend/Tests/Unit/Form/FormDataProvider/EvaluateDisplayConditionsTest.php
index 1ec712179a98..74333ed18a48 100644
--- a/typo3/sysext/backend/Tests/Unit/Form/FormDataProvider/EvaluateDisplayConditionsTest.php
+++ b/typo3/sysext/backend/Tests/Unit/Form/FormDataProvider/EvaluateDisplayConditionsTest.php
@@ -25,6 +25,11 @@ use TYPO3\CMS\Core\Utility\ArrayUtility;
  */
 class EvaluateDisplayConditionsTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @test
      */
diff --git a/typo3/sysext/backend/Tests/Unit/Form/FormDataProvider/TcaCheckboxItemsTest.php b/typo3/sysext/backend/Tests/Unit/Form/FormDataProvider/TcaCheckboxItemsTest.php
index 135fea0cb7a5..2617288387eb 100644
--- a/typo3/sysext/backend/Tests/Unit/Form/FormDataProvider/TcaCheckboxItemsTest.php
+++ b/typo3/sysext/backend/Tests/Unit/Form/FormDataProvider/TcaCheckboxItemsTest.php
@@ -28,6 +28,11 @@ use TYPO3\CMS\Core\Utility\GeneralUtility;
  */
 class TcaCheckboxItemsTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @var TcaCheckboxItems
      */
diff --git a/typo3/sysext/backend/Tests/Unit/Form/FormDataProvider/TcaColumnsProcessCommonTest.php b/typo3/sysext/backend/Tests/Unit/Form/FormDataProvider/TcaColumnsProcessCommonTest.php
index 2296768c1d8f..8add4866adf1 100644
--- a/typo3/sysext/backend/Tests/Unit/Form/FormDataProvider/TcaColumnsProcessCommonTest.php
+++ b/typo3/sysext/backend/Tests/Unit/Form/FormDataProvider/TcaColumnsProcessCommonTest.php
@@ -21,6 +21,11 @@ use TYPO3\CMS\Backend\Form\FormDataProvider\TcaColumnsProcessCommon;
  */
 class TcaColumnsProcessCommonTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @var TcaColumnsProcessCommon
      */
diff --git a/typo3/sysext/backend/Tests/Unit/Form/FormDataProvider/TcaColumnsProcessFieldLabelsTest.php b/typo3/sysext/backend/Tests/Unit/Form/FormDataProvider/TcaColumnsProcessFieldLabelsTest.php
index 21f27aeb23b8..a24d68fb2582 100644
--- a/typo3/sysext/backend/Tests/Unit/Form/FormDataProvider/TcaColumnsProcessFieldLabelsTest.php
+++ b/typo3/sysext/backend/Tests/Unit/Form/FormDataProvider/TcaColumnsProcessFieldLabelsTest.php
@@ -22,6 +22,11 @@ use TYPO3\CMS\Core\Localization\LanguageService;
  */
 class TcaColumnsProcessFieldLabelsTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @var TcaColumnsProcessFieldLabels
      */
diff --git a/typo3/sysext/backend/Tests/Unit/Form/FormDataProvider/TcaColumnsProcessRecordTitleTest.php b/typo3/sysext/backend/Tests/Unit/Form/FormDataProvider/TcaColumnsProcessRecordTitleTest.php
index 19f3539ceb8d..3df172a79bb6 100644
--- a/typo3/sysext/backend/Tests/Unit/Form/FormDataProvider/TcaColumnsProcessRecordTitleTest.php
+++ b/typo3/sysext/backend/Tests/Unit/Form/FormDataProvider/TcaColumnsProcessRecordTitleTest.php
@@ -21,6 +21,11 @@ use TYPO3\CMS\Backend\Form\FormDataProvider\TcaColumnsProcessRecordTitle;
  */
 class TcaColumnsProcessRecordTitleTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @var TcaColumnsProcessRecordTitle
      */
diff --git a/typo3/sysext/backend/Tests/Unit/Form/FormDataProvider/TcaColumnsProcessShowitemTest.php b/typo3/sysext/backend/Tests/Unit/Form/FormDataProvider/TcaColumnsProcessShowitemTest.php
index 3ce6bd741032..e0cfb131c6c1 100644
--- a/typo3/sysext/backend/Tests/Unit/Form/FormDataProvider/TcaColumnsProcessShowitemTest.php
+++ b/typo3/sysext/backend/Tests/Unit/Form/FormDataProvider/TcaColumnsProcessShowitemTest.php
@@ -21,6 +21,11 @@ use TYPO3\CMS\Backend\Form\FormDataProvider\TcaColumnsProcessShowitem;
  */
 class TcaColumnsProcessShowitemTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @var TcaColumnsProcessShowitem
      */
diff --git a/typo3/sysext/backend/Tests/Unit/Form/FormDataProvider/TcaFlexPrepareTest.php b/typo3/sysext/backend/Tests/Unit/Form/FormDataProvider/TcaFlexPrepareTest.php
index fa34efad2b03..0ce65f1e627e 100644
--- a/typo3/sysext/backend/Tests/Unit/Form/FormDataProvider/TcaFlexPrepareTest.php
+++ b/typo3/sysext/backend/Tests/Unit/Form/FormDataProvider/TcaFlexPrepareTest.php
@@ -27,6 +27,11 @@ use TYPO3\CMS\Core\Utility\GeneralUtility;
  */
 class TcaFlexPrepareTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @var TcaFlexPrepare
      */
diff --git a/typo3/sysext/backend/Tests/Unit/Form/FormDataProvider/TcaFlexProcessTest.php b/typo3/sysext/backend/Tests/Unit/Form/FormDataProvider/TcaFlexProcessTest.php
index cfbe720526c3..a222ef965dab 100644
--- a/typo3/sysext/backend/Tests/Unit/Form/FormDataProvider/TcaFlexProcessTest.php
+++ b/typo3/sysext/backend/Tests/Unit/Form/FormDataProvider/TcaFlexProcessTest.php
@@ -27,6 +27,11 @@ use TYPO3\CMS\Core\Utility\GeneralUtility;
  */
 class TcaFlexProcessTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @var BackendUserAuthentication|ObjectProphecy
      */
diff --git a/typo3/sysext/backend/Tests/Unit/Form/FormDataProvider/TcaGroupTest.php b/typo3/sysext/backend/Tests/Unit/Form/FormDataProvider/TcaGroupTest.php
index 3a9c6e800f86..e1b6b4cabbbe 100644
--- a/typo3/sysext/backend/Tests/Unit/Form/FormDataProvider/TcaGroupTest.php
+++ b/typo3/sysext/backend/Tests/Unit/Form/FormDataProvider/TcaGroupTest.php
@@ -27,6 +27,11 @@ use TYPO3\CMS\Core\Utility\GeneralUtility;
  */
 class TcaGroupTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @var TcaGroup
      */
diff --git a/typo3/sysext/backend/Tests/Unit/Form/FormDataProvider/TcaInlineConfigurationTest.php b/typo3/sysext/backend/Tests/Unit/Form/FormDataProvider/TcaInlineConfigurationTest.php
index ca086870fe39..7a96acb36448 100644
--- a/typo3/sysext/backend/Tests/Unit/Form/FormDataProvider/TcaInlineConfigurationTest.php
+++ b/typo3/sysext/backend/Tests/Unit/Form/FormDataProvider/TcaInlineConfigurationTest.php
@@ -21,6 +21,11 @@ use TYPO3\CMS\Backend\Form\FormDataProvider\TcaInlineConfiguration;
  */
 class TcaInlineConfigurationTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @var TcaInlineConfiguration
      */
diff --git a/typo3/sysext/backend/Tests/Unit/Form/FormDataProvider/TcaInlineExpandCollapseStateTest.php b/typo3/sysext/backend/Tests/Unit/Form/FormDataProvider/TcaInlineExpandCollapseStateTest.php
index fa9a03f180e6..f4c11e0fff8c 100644
--- a/typo3/sysext/backend/Tests/Unit/Form/FormDataProvider/TcaInlineExpandCollapseStateTest.php
+++ b/typo3/sysext/backend/Tests/Unit/Form/FormDataProvider/TcaInlineExpandCollapseStateTest.php
@@ -21,6 +21,11 @@ use TYPO3\CMS\Backend\Form\FormDataProvider\TcaInlineExpandCollapseState;
  */
 class TcaInlineExpandCollapseStateTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @var TcaInlineExpandCollapseState
      */
diff --git a/typo3/sysext/backend/Tests/Unit/Form/FormDataProvider/TcaInlineTest.php b/typo3/sysext/backend/Tests/Unit/Form/FormDataProvider/TcaInlineTest.php
index 0d1d4a4f4f82..aa685004805d 100644
--- a/typo3/sysext/backend/Tests/Unit/Form/FormDataProvider/TcaInlineTest.php
+++ b/typo3/sysext/backend/Tests/Unit/Form/FormDataProvider/TcaInlineTest.php
@@ -23,6 +23,11 @@ use TYPO3\CMS\Core\Authentication\BackendUserAuthentication;
  */
 class TcaInlineTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @var TcaInline
      */
diff --git a/typo3/sysext/backend/Tests/Unit/Form/FormDataProvider/TcaInputPlaceholdersTest.php b/typo3/sysext/backend/Tests/Unit/Form/FormDataProvider/TcaInputPlaceholdersTest.php
index cb1b49f221ae..81c076f46106 100644
--- a/typo3/sysext/backend/Tests/Unit/Form/FormDataProvider/TcaInputPlaceholdersTest.php
+++ b/typo3/sysext/backend/Tests/Unit/Form/FormDataProvider/TcaInputPlaceholdersTest.php
@@ -26,6 +26,11 @@ use TYPO3\CMS\Core\Utility\GeneralUtility;
  */
 class TcaInputPlaceholdersTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @var TcaInputPlaceholders
      */
diff --git a/typo3/sysext/backend/Tests/Unit/Form/FormDataProvider/TcaRadioItemsTest.php b/typo3/sysext/backend/Tests/Unit/Form/FormDataProvider/TcaRadioItemsTest.php
index c9b673932519..865ad7a141ef 100644
--- a/typo3/sysext/backend/Tests/Unit/Form/FormDataProvider/TcaRadioItemsTest.php
+++ b/typo3/sysext/backend/Tests/Unit/Form/FormDataProvider/TcaRadioItemsTest.php
@@ -28,6 +28,11 @@ use TYPO3\CMS\Core\Utility\GeneralUtility;
  */
 class TcaRadioItemsTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @var TcaRadioItems
      */
diff --git a/typo3/sysext/backend/Tests/Unit/Form/FormDataProvider/TcaRecordTitleTest.php b/typo3/sysext/backend/Tests/Unit/Form/FormDataProvider/TcaRecordTitleTest.php
index f67b1e82f89d..4af80577042d 100644
--- a/typo3/sysext/backend/Tests/Unit/Form/FormDataProvider/TcaRecordTitleTest.php
+++ b/typo3/sysext/backend/Tests/Unit/Form/FormDataProvider/TcaRecordTitleTest.php
@@ -24,6 +24,11 @@ use TYPO3\CMS\Core\Localization\LanguageService;
  */
 class TcaRecordTitleTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @var TcaRecordTitle
      */
diff --git a/typo3/sysext/backend/Tests/Unit/Form/FormDataProvider/TcaSelectItemsTest.php b/typo3/sysext/backend/Tests/Unit/Form/FormDataProvider/TcaSelectItemsTest.php
index c543a2f9b94b..e760c5d60a9b 100644
--- a/typo3/sysext/backend/Tests/Unit/Form/FormDataProvider/TcaSelectItemsTest.php
+++ b/typo3/sysext/backend/Tests/Unit/Form/FormDataProvider/TcaSelectItemsTest.php
@@ -39,6 +39,11 @@ use TYPO3\CMS\Core\Utility\GeneralUtility;
  */
 class TcaSelectItemsTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @var TcaSelectItems|\PHPUnit_Framework_MockObject_MockObject
      */
diff --git a/typo3/sysext/backend/Tests/Unit/Form/FormDataProvider/TcaSelectTreeItemsTest.php b/typo3/sysext/backend/Tests/Unit/Form/FormDataProvider/TcaSelectTreeItemsTest.php
index 027020d4cffe..c60a742fba7f 100644
--- a/typo3/sysext/backend/Tests/Unit/Form/FormDataProvider/TcaSelectTreeItemsTest.php
+++ b/typo3/sysext/backend/Tests/Unit/Form/FormDataProvider/TcaSelectTreeItemsTest.php
@@ -37,6 +37,11 @@ use TYPO3\CMS\Core\Utility\GeneralUtility;
  */
 class TcaSelectTreeItemsTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @var TcaSelectTreeItems
      */
diff --git a/typo3/sysext/backend/Tests/Unit/Form/InlineStackProcessorTest.php b/typo3/sysext/backend/Tests/Unit/Form/InlineStackProcessorTest.php
index 92cf3a9ed1ee..e44b6ecb8e2b 100644
--- a/typo3/sysext/backend/Tests/Unit/Form/InlineStackProcessorTest.php
+++ b/typo3/sysext/backend/Tests/Unit/Form/InlineStackProcessorTest.php
@@ -21,6 +21,10 @@ use TYPO3\CMS\Backend\Form\InlineStackProcessor;
  */
 class InlineStackProcessorTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
 
     /**
      * @return array
diff --git a/typo3/sysext/backend/Tests/Unit/Form/NodeFactoryTest.php b/typo3/sysext/backend/Tests/Unit/Form/NodeFactoryTest.php
index 656160649b5a..7d6e2bf77ff2 100644
--- a/typo3/sysext/backend/Tests/Unit/Form/NodeFactoryTest.php
+++ b/typo3/sysext/backend/Tests/Unit/Form/NodeFactoryTest.php
@@ -24,6 +24,11 @@ use TYPO3\CMS\Backend\Form\NodeResolverInterface;
  */
 class NodeFactoryTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @test
      */
diff --git a/typo3/sysext/backend/Tests/Unit/Utility/BackendUtilityTest.php b/typo3/sysext/backend/Tests/Unit/Utility/BackendUtilityTest.php
index da49363dffd1..c688bb643982 100644
--- a/typo3/sysext/backend/Tests/Unit/Utility/BackendUtilityTest.php
+++ b/typo3/sysext/backend/Tests/Unit/Utility/BackendUtilityTest.php
@@ -37,6 +37,11 @@ use TYPO3\CMS\Core\Utility\GeneralUtility;
  */
 class BackendUtilityTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     ///////////////////////////////////////
     // Tests concerning calcAge
     ///////////////////////////////////////
diff --git a/typo3/sysext/backend/Tests/UnitDeprecated/Form/FormDataProvider/TcaFlexPrepareTest.php b/typo3/sysext/backend/Tests/UnitDeprecated/Form/FormDataProvider/TcaFlexPrepareTest.php
index 1b1e34603a02..60b3eafc163a 100644
--- a/typo3/sysext/backend/Tests/UnitDeprecated/Form/FormDataProvider/TcaFlexPrepareTest.php
+++ b/typo3/sysext/backend/Tests/UnitDeprecated/Form/FormDataProvider/TcaFlexPrepareTest.php
@@ -27,6 +27,11 @@ use TYPO3\CMS\Core\Utility\GeneralUtility;
  */
 class TcaFlexPrepareTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @var TcaFlexPrepare
      */
diff --git a/typo3/sysext/core/Documentation/Changelog/master/Breaking-83889-E_NOTICEFreeUnitTesting.rst b/typo3/sysext/core/Documentation/Changelog/master/Breaking-83889-E_NOTICEFreeUnitTesting.rst
new file mode 100644
index 000000000000..cec8a28e7ea3
--- /dev/null
+++ b/typo3/sysext/core/Documentation/Changelog/master/Breaking-83889-E_NOTICEFreeUnitTesting.rst
@@ -0,0 +1,54 @@
+.. include:: ../../Includes.txt
+
+=============================================
+Breaking: #83889 - E_NOTICE free unit testing
+=============================================
+
+See :issue:`83889`
+
+Description
+===========
+
+Writing unit tests and executing them using the typo3/testing-framework
+now requires the system under test to no longer raise PHP :php:`E_NOTICE`
+level errors, or the test fails.
+
+
+Impact
+======
+
+This is a first step towards a PHP notice free core.
+
+
+Affected Installations
+======================
+
+Extensions that use the core v9 compatible typo3/testing-framework
+package in a version >= 3.0.0 may see failing unit tests if the tested
+class raises E_NOTICE errors.
+
+
+Migration
+=========
+
+Best solution is to fix the unit test and/or the system under test
+to no longer raise E_NOTICE level PHP errors.
+
+In a transition phase, a single unit test case file can set a
+property to still suppress E_NOTICE warnings:
+
+.. code-block:: php
+
+    class FooTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
+    {
+        /**
+         * Subject is not notice free, disable E_NOTICES
+         */
+        protected static $suppressNotices = true;
+    }
+
+Note this property is deprecated and will be removed from
+:php:`UnitTestCase` as soon as the core does not need it
+anymore.
+
+.. index:: PHP-API, FullyScanned
\ No newline at end of file
diff --git a/typo3/sysext/core/Tests/Unit/Authentication/AbstractUserAuthenticationTest.php b/typo3/sysext/core/Tests/Unit/Authentication/AbstractUserAuthenticationTest.php
index 93e8523cb692..470e6a97d11e 100644
--- a/typo3/sysext/core/Tests/Unit/Authentication/AbstractUserAuthenticationTest.php
+++ b/typo3/sysext/core/Tests/Unit/Authentication/AbstractUserAuthenticationTest.php
@@ -28,6 +28,11 @@ use TYPO3\CMS\Core\Utility\GeneralUtility;
  */
 class AbstractUserAuthenticationTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @test
      */
diff --git a/typo3/sysext/core/Tests/Unit/Authentication/AuthenticationServiceTest.php b/typo3/sysext/core/Tests/Unit/Authentication/AuthenticationServiceTest.php
index 10fe66214f60..f7a7ff148986 100644
--- a/typo3/sysext/core/Tests/Unit/Authentication/AuthenticationServiceTest.php
+++ b/typo3/sysext/core/Tests/Unit/Authentication/AuthenticationServiceTest.php
@@ -20,6 +20,11 @@ use TYPO3\CMS\Core\Authentication\AuthenticationService;
  */
 class AuthenticationServiceTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * Date provider for processLoginReturnsCorrectData
      *
diff --git a/typo3/sysext/core/Tests/Unit/Authentication/BackendUserAuthenticationTest.php b/typo3/sysext/core/Tests/Unit/Authentication/BackendUserAuthenticationTest.php
index a8266796cb53..2d388c90442d 100644
--- a/typo3/sysext/core/Tests/Unit/Authentication/BackendUserAuthenticationTest.php
+++ b/typo3/sysext/core/Tests/Unit/Authentication/BackendUserAuthenticationTest.php
@@ -34,6 +34,11 @@ use TYPO3\TestingFramework\Core\Unit\UnitTestCase;
  */
 class BackendUserAuthenticationTest extends UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @var array
      */
diff --git a/typo3/sysext/core/Tests/Unit/Cache/Backend/FileBackendTest.php b/typo3/sysext/core/Tests/Unit/Cache/Backend/FileBackendTest.php
index 0282b76cc6db..c777c17a7914 100644
--- a/typo3/sysext/core/Tests/Unit/Cache/Backend/FileBackendTest.php
+++ b/typo3/sysext/core/Tests/Unit/Cache/Backend/FileBackendTest.php
@@ -26,6 +26,11 @@ use TYPO3\CMS\Core\Utility\GeneralUtility;
  */
 class FileBackendTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * Sets up this testcase
      */
diff --git a/typo3/sysext/core/Tests/Unit/Cache/Backend/PdoBackendTest.php b/typo3/sysext/core/Tests/Unit/Cache/Backend/PdoBackendTest.php
index ddb379a0b6f7..856e0b2f3279 100644
--- a/typo3/sysext/core/Tests/Unit/Cache/Backend/PdoBackendTest.php
+++ b/typo3/sysext/core/Tests/Unit/Cache/Backend/PdoBackendTest.php
@@ -19,6 +19,11 @@ namespace TYPO3\CMS\Core\Tests\Unit\Cache\Backend;
  */
 class PdoBackendTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * Sets up this testcase
      */
diff --git a/typo3/sysext/core/Tests/Unit/Cache/Backend/Typo3DatabaseBackendTest.php b/typo3/sysext/core/Tests/Unit/Cache/Backend/Typo3DatabaseBackendTest.php
index 86dee8e7ea6e..bd84223c4384 100644
--- a/typo3/sysext/core/Tests/Unit/Cache/Backend/Typo3DatabaseBackendTest.php
+++ b/typo3/sysext/core/Tests/Unit/Cache/Backend/Typo3DatabaseBackendTest.php
@@ -28,6 +28,11 @@ use TYPO3\CMS\Core\Utility\GeneralUtility;
  */
 class Typo3DatabaseBackendTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @test
      */
diff --git a/typo3/sysext/core/Tests/Unit/Category/CategoryRegistryTest.php b/typo3/sysext/core/Tests/Unit/Category/CategoryRegistryTest.php
index d4d7f6e4659c..1f515bc7d9e1 100644
--- a/typo3/sysext/core/Tests/Unit/Category/CategoryRegistryTest.php
+++ b/typo3/sysext/core/Tests/Unit/Category/CategoryRegistryTest.php
@@ -19,6 +19,11 @@ namespace TYPO3\CMS\Core\Tests\Unit\Category;
  */
 class CategoryRegistryTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @var \TYPO3\CMS\Core\Category\CategoryRegistry
      */
diff --git a/typo3/sysext/core/Tests/Unit/Charset/CharsetConverterTest.php b/typo3/sysext/core/Tests/Unit/Charset/CharsetConverterTest.php
index ee0706eb163c..86e328f5b072 100644
--- a/typo3/sysext/core/Tests/Unit/Charset/CharsetConverterTest.php
+++ b/typo3/sysext/core/Tests/Unit/Charset/CharsetConverterTest.php
@@ -24,6 +24,11 @@ use TYPO3\TestingFramework\Core\Unit\UnitTestCase;
  */
 class CharsetConverterTest extends UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * Data provider for specialCharactersToAsciiConvertsUmlautsToAscii()
      *
diff --git a/typo3/sysext/core/Tests/Unit/Configuration/ConfigurationManagerTest.php b/typo3/sysext/core/Tests/Unit/Configuration/ConfigurationManagerTest.php
index 9eaf8922d5ef..fe0d2400b076 100644
--- a/typo3/sysext/core/Tests/Unit/Configuration/ConfigurationManagerTest.php
+++ b/typo3/sysext/core/Tests/Unit/Configuration/ConfigurationManagerTest.php
@@ -19,6 +19,11 @@ namespace TYPO3\CMS\Core\Tests\Unit\Configuration;
  */
 class ConfigurationManagerTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @var \TYPO3\CMS\Core\Configuration\ConfigurationManager|\PHPUnit_Framework_MockObject_MockObject
      */
diff --git a/typo3/sysext/core/Tests/Unit/Configuration/FlexForm/FlexFormToolsTest.php b/typo3/sysext/core/Tests/Unit/Configuration/FlexForm/FlexFormToolsTest.php
index 870afe392850..520c714daf7f 100644
--- a/typo3/sysext/core/Tests/Unit/Configuration/FlexForm/FlexFormToolsTest.php
+++ b/typo3/sysext/core/Tests/Unit/Configuration/FlexForm/FlexFormToolsTest.php
@@ -52,6 +52,11 @@ use TYPO3\CMS\Core\Utility\GeneralUtility;
  */
 class FlexFormToolsTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @test
      */
diff --git a/typo3/sysext/core/Tests/Unit/Configuration/TypoScript/ConditionMatching/AbstractConditionMatcherTest.php b/typo3/sysext/core/Tests/Unit/Configuration/TypoScript/ConditionMatching/AbstractConditionMatcherTest.php
index 9a35e8a8a166..911fb2ac6b36 100644
--- a/typo3/sysext/core/Tests/Unit/Configuration/TypoScript/ConditionMatching/AbstractConditionMatcherTest.php
+++ b/typo3/sysext/core/Tests/Unit/Configuration/TypoScript/ConditionMatching/AbstractConditionMatcherTest.php
@@ -23,6 +23,11 @@ use TYPO3\CMS\Core\Utility\GeneralUtility;
  */
 class AbstractConditionMatcherTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @var \TYPO3\CMS\Core\Core\ApplicationContext
      */
diff --git a/typo3/sysext/core/Tests/Unit/DataHandling/DataHandlerTest.php b/typo3/sysext/core/Tests/Unit/DataHandling/DataHandlerTest.php
index 12722d4ff5a6..adc62df0f865 100644
--- a/typo3/sysext/core/Tests/Unit/DataHandling/DataHandlerTest.php
+++ b/typo3/sysext/core/Tests/Unit/DataHandling/DataHandlerTest.php
@@ -29,6 +29,11 @@ use TYPO3\TestingFramework\Core\AccessibleObjectInterface;
  */
 class DataHandlerTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @var array A backup of registered singleton instances
      */
diff --git a/typo3/sysext/core/Tests/Unit/Database/Query/QueryBuilderTest.php b/typo3/sysext/core/Tests/Unit/Database/Query/QueryBuilderTest.php
index 7bb1301e0627..c80a4dca0c3d 100644
--- a/typo3/sysext/core/Tests/Unit/Database/Query/QueryBuilderTest.php
+++ b/typo3/sysext/core/Tests/Unit/Database/Query/QueryBuilderTest.php
@@ -30,6 +30,11 @@ use TYPO3\TestingFramework\Core\Unit\UnitTestCase;
 
 class QueryBuilderTest extends UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @var Connection|\Prophecy\Prophecy\ObjectProphecy
      */
diff --git a/typo3/sysext/core/Tests/Unit/Database/Query/QueryHelperTest.php b/typo3/sysext/core/Tests/Unit/Database/Query/QueryHelperTest.php
index 88efeebaaa66..db1dc7960284 100644
--- a/typo3/sysext/core/Tests/Unit/Database/Query/QueryHelperTest.php
+++ b/typo3/sysext/core/Tests/Unit/Database/Query/QueryHelperTest.php
@@ -24,6 +24,11 @@ use TYPO3\CMS\Core\Database\Query\QueryHelper;
  */
 class QueryHelperTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * Test cases for stripping of leading logical operators in where constraints.
      *
diff --git a/typo3/sysext/core/Tests/Unit/Database/Query/Restriction/FrontendWorkspaceRestrictionTest.php b/typo3/sysext/core/Tests/Unit/Database/Query/Restriction/FrontendWorkspaceRestrictionTest.php
index a27e4f7c7719..c7b608393ea9 100644
--- a/typo3/sysext/core/Tests/Unit/Database/Query/Restriction/FrontendWorkspaceRestrictionTest.php
+++ b/typo3/sysext/core/Tests/Unit/Database/Query/Restriction/FrontendWorkspaceRestrictionTest.php
@@ -21,11 +21,9 @@ use TYPO3\CMS\Frontend\Page\PageRepository;
 class FrontendWorkspaceRestrictionTest extends AbstractRestrictionTestCase
 {
     /**
+     * Subject is not notice free, disable E_NOTICES
      */
-    protected function setUp()
-    {
-        parent::setUp();
-    }
+    protected static $suppressNotices = true;
 
     /**
      * @test
diff --git a/typo3/sysext/core/Tests/Unit/Database/QueryGeneratorTest.php b/typo3/sysext/core/Tests/Unit/Database/QueryGeneratorTest.php
index 824006622efd..0f09a44a8b3a 100644
--- a/typo3/sysext/core/Tests/Unit/Database/QueryGeneratorTest.php
+++ b/typo3/sysext/core/Tests/Unit/Database/QueryGeneratorTest.php
@@ -23,6 +23,11 @@ use TYPO3\TestingFramework\Core\Unit\UnitTestCase;
  */
 class QueryGeneratorTest extends UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @return array
      */
diff --git a/typo3/sysext/core/Tests/Unit/Database/Schema/EventListener/SchemaColumnDefinitionListenerTest.php b/typo3/sysext/core/Tests/Unit/Database/Schema/EventListener/SchemaColumnDefinitionListenerTest.php
index 67aaa2913e5b..1fdac50f17b1 100644
--- a/typo3/sysext/core/Tests/Unit/Database/Schema/EventListener/SchemaColumnDefinitionListenerTest.php
+++ b/typo3/sysext/core/Tests/Unit/Database/Schema/EventListener/SchemaColumnDefinitionListenerTest.php
@@ -32,6 +32,11 @@ use TYPO3\CMS\Core\Utility\GeneralUtility;
  */
 class SchemaColumnDefinitionListenerTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @var SchemaColumnDefinitionListener
      */
diff --git a/typo3/sysext/core/Tests/Unit/Database/Schema/Parser/TableBuilderTest.php b/typo3/sysext/core/Tests/Unit/Database/Schema/Parser/TableBuilderTest.php
index c0ac486cf76f..fc7c9b1fc471 100644
--- a/typo3/sysext/core/Tests/Unit/Database/Schema/Parser/TableBuilderTest.php
+++ b/typo3/sysext/core/Tests/Unit/Database/Schema/Parser/TableBuilderTest.php
@@ -31,6 +31,11 @@ use TYPO3\CMS\Core\Utility\GeneralUtility;
  */
 class TableBuilderTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @var Table
      */
diff --git a/typo3/sysext/core/Tests/Unit/Database/Schema/SqlReaderTest.php b/typo3/sysext/core/Tests/Unit/Database/Schema/SqlReaderTest.php
index 7bcbc68564ea..09b146b053fc 100644
--- a/typo3/sysext/core/Tests/Unit/Database/Schema/SqlReaderTest.php
+++ b/typo3/sysext/core/Tests/Unit/Database/Schema/SqlReaderTest.php
@@ -24,6 +24,11 @@ use TYPO3\CMS\Core\Utility\GeneralUtility;
  */
 class SqlReaderTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @var SqlReader
      */
diff --git a/typo3/sysext/core/Tests/Unit/FileStreamWrapperTest.php b/typo3/sysext/core/Tests/Unit/FileStreamWrapperTest.php
index 28d889e2205b..7152dfe0bdb5 100644
--- a/typo3/sysext/core/Tests/Unit/FileStreamWrapperTest.php
+++ b/typo3/sysext/core/Tests/Unit/FileStreamWrapperTest.php
@@ -22,6 +22,11 @@ use TYPO3\TestingFramework\Core\FileStreamWrapper;
  */
 class FileStreamWrapperTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @test
      */
diff --git a/typo3/sysext/core/Tests/Unit/FormProtection/AbstractFormProtectionTest.php b/typo3/sysext/core/Tests/Unit/FormProtection/AbstractFormProtectionTest.php
index 46842362fbf9..fadebeacb88d 100644
--- a/typo3/sysext/core/Tests/Unit/FormProtection/AbstractFormProtectionTest.php
+++ b/typo3/sysext/core/Tests/Unit/FormProtection/AbstractFormProtectionTest.php
@@ -19,6 +19,11 @@ namespace TYPO3\CMS\Core\Tests\Unit\FormProtection;
  */
 class AbstractFormProtectionTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @var \TYPO3\CMS\Core\Tests\Unit\FormProtection\Fixtures\FormProtectionTesting
      */
diff --git a/typo3/sysext/core/Tests/Unit/Html/HtmlParserTest.php b/typo3/sysext/core/Tests/Unit/Html/HtmlParserTest.php
index 91effe81443c..8913a117443f 100644
--- a/typo3/sysext/core/Tests/Unit/Html/HtmlParserTest.php
+++ b/typo3/sysext/core/Tests/Unit/Html/HtmlParserTest.php
@@ -21,6 +21,11 @@ use TYPO3\CMS\Core\Html\HtmlParser;
  */
 class HtmlParserTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @var \TYPO3\CMS\Core\Html\HtmlParser
      */
diff --git a/typo3/sysext/core/Tests/Unit/Html/RteHtmlParserTest.php b/typo3/sysext/core/Tests/Unit/Html/RteHtmlParserTest.php
index f0cb52f98617..9567823e8ecf 100644
--- a/typo3/sysext/core/Tests/Unit/Html/RteHtmlParserTest.php
+++ b/typo3/sysext/core/Tests/Unit/Html/RteHtmlParserTest.php
@@ -19,6 +19,11 @@ namespace TYPO3\CMS\Core\Tests\Unit\Html;
  */
 class RteHtmlParserTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @var \TYPO3\CMS\Core\Html\RteHtmlParser
      */
diff --git a/typo3/sysext/core/Tests/Unit/Http/ServerRequestFactoryTest.php b/typo3/sysext/core/Tests/Unit/Http/ServerRequestFactoryTest.php
index cf48744c2f3b..27a9b5ebe265 100644
--- a/typo3/sysext/core/Tests/Unit/Http/ServerRequestFactoryTest.php
+++ b/typo3/sysext/core/Tests/Unit/Http/ServerRequestFactoryTest.php
@@ -23,6 +23,11 @@ use TYPO3\CMS\Core\Utility\GeneralUtility;
  */
 class ServerRequestFactoryTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * Set up
      */
diff --git a/typo3/sysext/core/Tests/Unit/Imaging/IconFactoryTest.php b/typo3/sysext/core/Tests/Unit/Imaging/IconFactoryTest.php
index 6de2addceded..8c77839e0c1c 100644
--- a/typo3/sysext/core/Tests/Unit/Imaging/IconFactoryTest.php
+++ b/typo3/sysext/core/Tests/Unit/Imaging/IconFactoryTest.php
@@ -25,6 +25,11 @@ use TYPO3\CMS\Core\Resource\File;
  */
 class IconFactoryTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @var \TYPO3\CMS\Core\Imaging\IconFactory
      */
diff --git a/typo3/sysext/core/Tests/Unit/Imaging/ImageManipulation/AreaTest.php b/typo3/sysext/core/Tests/Unit/Imaging/ImageManipulation/AreaTest.php
index 9feacc65a1ef..d9fb5d2121f1 100644
--- a/typo3/sysext/core/Tests/Unit/Imaging/ImageManipulation/AreaTest.php
+++ b/typo3/sysext/core/Tests/Unit/Imaging/ImageManipulation/AreaTest.php
@@ -23,6 +23,11 @@ use TYPO3\TestingFramework\Core\Unit\UnitTestCase;
 
 class AreaTest extends UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @test
      */
diff --git a/typo3/sysext/core/Tests/Unit/LinkHandling/FileLinkHandlerTest.php b/typo3/sysext/core/Tests/Unit/LinkHandling/FileLinkHandlerTest.php
index 0a84e271cc9a..ad43e5d99408 100644
--- a/typo3/sysext/core/Tests/Unit/LinkHandling/FileLinkHandlerTest.php
+++ b/typo3/sysext/core/Tests/Unit/LinkHandling/FileLinkHandlerTest.php
@@ -22,6 +22,10 @@ use TYPO3\CMS\Core\Utility\MathUtility;
 
 class FileLinkHandlerTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
 
     /**
      * testing folders
diff --git a/typo3/sysext/core/Tests/Unit/LinkHandling/LegacyLinkNotationConverterTest.php b/typo3/sysext/core/Tests/Unit/LinkHandling/LegacyLinkNotationConverterTest.php
index 838f64f02852..2822de2d111a 100644
--- a/typo3/sysext/core/Tests/Unit/LinkHandling/LegacyLinkNotationConverterTest.php
+++ b/typo3/sysext/core/Tests/Unit/LinkHandling/LegacyLinkNotationConverterTest.php
@@ -24,6 +24,11 @@ use TYPO3\CMS\Core\Utility\MathUtility;
 
 class LegacyLinkNotationConverterTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * Data to resolve strings to arrays and vice versa, external, mail, page
      *
diff --git a/typo3/sysext/core/Tests/Unit/LinkHandling/LinkServiceTest.php b/typo3/sysext/core/Tests/Unit/LinkHandling/LinkServiceTest.php
index b7fed3dd07c5..094e69d6d33c 100644
--- a/typo3/sysext/core/Tests/Unit/LinkHandling/LinkServiceTest.php
+++ b/typo3/sysext/core/Tests/Unit/LinkHandling/LinkServiceTest.php
@@ -19,6 +19,11 @@ use TYPO3\TestingFramework\Core\Unit\UnitTestCase;
 
 class LinkServiceTest extends UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * Data to resolve strings to arrays and vice versa, external, mail, page
      *
diff --git a/typo3/sysext/core/Tests/Unit/Localization/LocalizationFactoryTest.php b/typo3/sysext/core/Tests/Unit/Localization/LocalizationFactoryTest.php
index f0edd747230e..5af2758812f7 100644
--- a/typo3/sysext/core/Tests/Unit/Localization/LocalizationFactoryTest.php
+++ b/typo3/sysext/core/Tests/Unit/Localization/LocalizationFactoryTest.php
@@ -22,6 +22,11 @@ use TYPO3\CMS\Core\Utility\GeneralUtility;
  */
 class LocalizationFactoryTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @test
      */
diff --git a/typo3/sysext/core/Tests/Unit/Localization/Parser/LocallangXmlParserTest.php b/typo3/sysext/core/Tests/Unit/Localization/Parser/LocallangXmlParserTest.php
index 74c872908999..e16e53dd55c6 100644
--- a/typo3/sysext/core/Tests/Unit/Localization/Parser/LocallangXmlParserTest.php
+++ b/typo3/sysext/core/Tests/Unit/Localization/Parser/LocallangXmlParserTest.php
@@ -20,6 +20,11 @@ use TYPO3\CMS\Core\Localization\LocalizationFactory;
  */
 class LocallangXmlParserTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @var \TYPO3\CMS\Core\Localization\Parser\LocallangXmlParser
      */
diff --git a/typo3/sysext/core/Tests/Unit/Log/LogManagerTest.php b/typo3/sysext/core/Tests/Unit/Log/LogManagerTest.php
index eadda1bd8f83..92cf764366f0 100644
--- a/typo3/sysext/core/Tests/Unit/Log/LogManagerTest.php
+++ b/typo3/sysext/core/Tests/Unit/Log/LogManagerTest.php
@@ -19,6 +19,11 @@ namespace TYPO3\CMS\Core\Tests\Unit\Log;
  */
 class LogManagerTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @var \TYPO3\CMS\Core\Log\LogManager
      */
diff --git a/typo3/sysext/core/Tests/Unit/Log/LogRecordTest.php b/typo3/sysext/core/Tests/Unit/Log/LogRecordTest.php
index a94c38509b1d..d6a383fd4574 100644
--- a/typo3/sysext/core/Tests/Unit/Log/LogRecordTest.php
+++ b/typo3/sysext/core/Tests/Unit/Log/LogRecordTest.php
@@ -21,6 +21,11 @@ use TYPO3\CMS\Core\Log\LogRecord;
  */
 class LogRecordTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * Returns a \TYPO3\CMS\Core\Log\LogRecord
      *
diff --git a/typo3/sysext/core/Tests/Unit/Log/Processor/WebProcessorTest.php b/typo3/sysext/core/Tests/Unit/Log/Processor/WebProcessorTest.php
index b5f27bf4c127..3d3250d08dc9 100644
--- a/typo3/sysext/core/Tests/Unit/Log/Processor/WebProcessorTest.php
+++ b/typo3/sysext/core/Tests/Unit/Log/Processor/WebProcessorTest.php
@@ -19,6 +19,11 @@ namespace TYPO3\CMS\Core\Tests\Unit\Log\Processor;
  */
 class WebProcessorTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @test
      */
diff --git a/typo3/sysext/core/Tests/Unit/Log/Writer/FileWriterTest.php b/typo3/sysext/core/Tests/Unit/Log/Writer/FileWriterTest.php
index 38bf6fe3c487..dd5882a4b2dc 100644
--- a/typo3/sysext/core/Tests/Unit/Log/Writer/FileWriterTest.php
+++ b/typo3/sysext/core/Tests/Unit/Log/Writer/FileWriterTest.php
@@ -22,6 +22,11 @@ use org\bovigo\vfs\vfsStreamWrapper;
  */
 class FileWriterTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @var string
      */
diff --git a/typo3/sysext/core/Tests/Unit/Mail/MailerTest.php b/typo3/sysext/core/Tests/Unit/Mail/MailerTest.php
index b03f9a639730..89eb32f2a51b 100644
--- a/typo3/sysext/core/Tests/Unit/Mail/MailerTest.php
+++ b/typo3/sysext/core/Tests/Unit/Mail/MailerTest.php
@@ -22,6 +22,11 @@ use TYPO3\CMS\Core\Tests\Unit\Mail\Fixtures\FakeTransportFixture;
  */
 class MailerTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @var \TYPO3\CMS\Core\Mail\Mailer
      */
diff --git a/typo3/sysext/core/Tests/Unit/Mail/TransportFactoryTest.php b/typo3/sysext/core/Tests/Unit/Mail/TransportFactoryTest.php
index 9a0e758a673d..816bae6aa4c9 100644
--- a/typo3/sysext/core/Tests/Unit/Mail/TransportFactoryTest.php
+++ b/typo3/sysext/core/Tests/Unit/Mail/TransportFactoryTest.php
@@ -26,7 +26,12 @@ use TYPO3\TestingFramework\Core\Unit\UnitTestCase;
 class TransportFactoryTest extends UnitTestCase
 {
     /**
-     * @var TransportFactory
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
+    /**
+     * * @var TransportFactory
      */
     protected $subject;
 
diff --git a/typo3/sysext/core/Tests/Unit/Migrations/TcaMigrationTest.php b/typo3/sysext/core/Tests/Unit/Migrations/TcaMigrationTest.php
index d0fe5abedeac..410c33fc5a97 100644
--- a/typo3/sysext/core/Tests/Unit/Migrations/TcaMigrationTest.php
+++ b/typo3/sysext/core/Tests/Unit/Migrations/TcaMigrationTest.php
@@ -21,6 +21,11 @@ use TYPO3\CMS\Core\Migrations\TcaMigration;
  */
 class TcaMigrationTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @test
      */
diff --git a/typo3/sysext/core/Tests/Unit/Package/PackageManagerTest.php b/typo3/sysext/core/Tests/Unit/Package/PackageManagerTest.php
index bcc9816cf6f6..39394dc77e22 100644
--- a/typo3/sysext/core/Tests/Unit/Package/PackageManagerTest.php
+++ b/typo3/sysext/core/Tests/Unit/Package/PackageManagerTest.php
@@ -25,6 +25,11 @@ use TYPO3\CMS\Core\Package\PackageManager;
  */
 class PackageManagerTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @var PackageManager|\PHPUnit_Framework_MockObject_MockObject|\TYPO3\TestingFramework\Core\AccessibleObjectInterface $packageManager
      */
diff --git a/typo3/sysext/core/Tests/Unit/Resource/AbstractFileTest.php b/typo3/sysext/core/Tests/Unit/Resource/AbstractFileTest.php
index d2787b425c0d..fdaa4b5e4c62 100644
--- a/typo3/sysext/core/Tests/Unit/Resource/AbstractFileTest.php
+++ b/typo3/sysext/core/Tests/Unit/Resource/AbstractFileTest.php
@@ -23,6 +23,11 @@ use TYPO3\CMS\Core\Resource\ResourceStorage;
  */
 class AbstractFileTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @test
      */
diff --git a/typo3/sysext/core/Tests/Unit/Resource/Driver/DriverRegistryTest.php b/typo3/sysext/core/Tests/Unit/Resource/Driver/DriverRegistryTest.php
index ee559580ffa8..cefd5d47281a 100644
--- a/typo3/sysext/core/Tests/Unit/Resource/Driver/DriverRegistryTest.php
+++ b/typo3/sysext/core/Tests/Unit/Resource/Driver/DriverRegistryTest.php
@@ -19,6 +19,11 @@ namespace TYPO3\CMS\Core\Tests\Unit\Resource\Driver;
  */
 class DriverRegistryTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @var \TYPO3\CMS\Core\Resource\Driver\DriverRegistry
      */
diff --git a/typo3/sysext/core/Tests/Unit/Resource/Driver/LocalDriverTest.php b/typo3/sysext/core/Tests/Unit/Resource/Driver/LocalDriverTest.php
index 57b9f4bef3a4..a400c8ba1ab0 100644
--- a/typo3/sysext/core/Tests/Unit/Resource/Driver/LocalDriverTest.php
+++ b/typo3/sysext/core/Tests/Unit/Resource/Driver/LocalDriverTest.php
@@ -25,6 +25,11 @@ use TYPO3\TestingFramework\Core\FileStreamWrapper;
  */
 class LocalDriverTest extends \TYPO3\CMS\Core\Tests\Unit\Resource\BaseTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @var \TYPO3\CMS\Core\Resource\Driver\LocalDriver
      */
diff --git a/typo3/sysext/core/Tests/Unit/Resource/FileTest.php b/typo3/sysext/core/Tests/Unit/Resource/FileTest.php
index 6e06c5528162..b52888751d13 100644
--- a/typo3/sysext/core/Tests/Unit/Resource/FileTest.php
+++ b/typo3/sysext/core/Tests/Unit/Resource/FileTest.php
@@ -21,6 +21,11 @@ use TYPO3\CMS\Core\Resource\ResourceStorage;
  */
 class FileTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @var array A backup of registered singleton instances
      */
diff --git a/typo3/sysext/core/Tests/Unit/Resource/ProcessedFileTest.php b/typo3/sysext/core/Tests/Unit/Resource/ProcessedFileTest.php
index 7a7869819fd6..34ee52a4d0ac 100644
--- a/typo3/sysext/core/Tests/Unit/Resource/ProcessedFileTest.php
+++ b/typo3/sysext/core/Tests/Unit/Resource/ProcessedFileTest.php
@@ -24,6 +24,11 @@ use TYPO3\CMS\Core\Resource\ResourceStorage;
  */
 class ProcessedFileTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @var \PHPUnit_Framework_MockObject_MockObject|Folder
      */
diff --git a/typo3/sysext/core/Tests/Unit/Resource/Rendering/AudioTagRendererTest.php b/typo3/sysext/core/Tests/Unit/Resource/Rendering/AudioTagRendererTest.php
index 78df84bbbffa..1d163e7be3f8 100644
--- a/typo3/sysext/core/Tests/Unit/Resource/Rendering/AudioTagRendererTest.php
+++ b/typo3/sysext/core/Tests/Unit/Resource/Rendering/AudioTagRendererTest.php
@@ -19,6 +19,11 @@ namespace TYPO3\CMS\Core\Tests\Unit\Resource\Rendering;
  */
 class AudioTagRendererTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @test
      */
diff --git a/typo3/sysext/core/Tests/Unit/Resource/Rendering/VideoTagRendererTest.php b/typo3/sysext/core/Tests/Unit/Resource/Rendering/VideoTagRendererTest.php
index 40bfeee0ba78..6380e1d44c6c 100644
--- a/typo3/sysext/core/Tests/Unit/Resource/Rendering/VideoTagRendererTest.php
+++ b/typo3/sysext/core/Tests/Unit/Resource/Rendering/VideoTagRendererTest.php
@@ -19,6 +19,11 @@ namespace TYPO3\CMS\Core\Tests\Unit\Resource\Rendering;
  */
 class VideoTagRendererTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @test
      */
diff --git a/typo3/sysext/core/Tests/Unit/Resource/Rendering/VimeoRendererTest.php b/typo3/sysext/core/Tests/Unit/Resource/Rendering/VimeoRendererTest.php
index 923a6768aa16..f1be8c8fc753 100644
--- a/typo3/sysext/core/Tests/Unit/Resource/Rendering/VimeoRendererTest.php
+++ b/typo3/sysext/core/Tests/Unit/Resource/Rendering/VimeoRendererTest.php
@@ -24,6 +24,11 @@ use TYPO3\CMS\Core\Resource\Rendering\VimeoRenderer;
  */
 class VimeoRendererTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @var VimeoRenderer|\PHPUnit_Framework_MockObject_MockObject
      */
diff --git a/typo3/sysext/core/Tests/Unit/Resource/Rendering/YouTubeRendererTest.php b/typo3/sysext/core/Tests/Unit/Resource/Rendering/YouTubeRendererTest.php
index 14d8e5267622..c50ac8b669b7 100644
--- a/typo3/sysext/core/Tests/Unit/Resource/Rendering/YouTubeRendererTest.php
+++ b/typo3/sysext/core/Tests/Unit/Resource/Rendering/YouTubeRendererTest.php
@@ -25,6 +25,11 @@ use TYPO3\CMS\Core\Utility\GeneralUtility;
  */
 class YouTubeRendererTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @var YouTubeRenderer|\PHPUnit_Framework_MockObject_MockObject
      */
diff --git a/typo3/sysext/core/Tests/Unit/Resource/ResourceCompressorIntegrationTest.php b/typo3/sysext/core/Tests/Unit/Resource/ResourceCompressorIntegrationTest.php
index c493bb568f76..15bbc7c3b709 100644
--- a/typo3/sysext/core/Tests/Unit/Resource/ResourceCompressorIntegrationTest.php
+++ b/typo3/sysext/core/Tests/Unit/Resource/ResourceCompressorIntegrationTest.php
@@ -23,6 +23,10 @@ use TYPO3\CMS\Core\Utility\GeneralUtility;
  */
 class ResourceCompressorIntegrationTest extends BaseTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
 
     /**
      * @var TestableResourceCompressor
diff --git a/typo3/sysext/core/Tests/Unit/Resource/ResourceCompressorTest.php b/typo3/sysext/core/Tests/Unit/Resource/ResourceCompressorTest.php
index 61f320abdc70..e040614b1627 100644
--- a/typo3/sysext/core/Tests/Unit/Resource/ResourceCompressorTest.php
+++ b/typo3/sysext/core/Tests/Unit/Resource/ResourceCompressorTest.php
@@ -21,6 +21,11 @@ use TYPO3\CMS\Core\Resource\ResourceCompressor;
  */
 class ResourceCompressorTest extends BaseTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @var ResourceCompressor|\PHPUnit_Framework_MockObject_MockObject|\TYPO3\TestingFramework\Core\AccessibleObjectInterface
      */
diff --git a/typo3/sysext/core/Tests/Unit/Resource/ResourceStorageTest.php b/typo3/sysext/core/Tests/Unit/Resource/ResourceStorageTest.php
index b83a3049725c..18659af4d1b9 100644
--- a/typo3/sysext/core/Tests/Unit/Resource/ResourceStorageTest.php
+++ b/typo3/sysext/core/Tests/Unit/Resource/ResourceStorageTest.php
@@ -34,6 +34,11 @@ use TYPO3\CMS\Core\Utility\GeneralUtility;
  */
 class ResourceStorageTest extends BaseTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @var array A backup of registered singleton instances
      */
diff --git a/typo3/sysext/core/Tests/Unit/Service/MarkerBasedTemplateServiceTest.php b/typo3/sysext/core/Tests/Unit/Service/MarkerBasedTemplateServiceTest.php
index 032c0e3bd3a0..8f17ea0eec90 100644
--- a/typo3/sysext/core/Tests/Unit/Service/MarkerBasedTemplateServiceTest.php
+++ b/typo3/sysext/core/Tests/Unit/Service/MarkerBasedTemplateServiceTest.php
@@ -26,6 +26,11 @@ use TYPO3\CMS\Core\Utility\GeneralUtility;
  */
 class MarkerBasedTemplateServiceTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @var MarkerBasedTemplateService
      */
diff --git a/typo3/sysext/core/Tests/Unit/Tree/TableConfiguration/TreeDataProviderFactoryTest.php b/typo3/sysext/core/Tests/Unit/Tree/TableConfiguration/TreeDataProviderFactoryTest.php
index e9d71814901c..c4ef6c066c60 100644
--- a/typo3/sysext/core/Tests/Unit/Tree/TableConfiguration/TreeDataProviderFactoryTest.php
+++ b/typo3/sysext/core/Tests/Unit/Tree/TableConfiguration/TreeDataProviderFactoryTest.php
@@ -23,6 +23,11 @@ use TYPO3\CMS\Core\Tree\TableConfiguration\TreeDataProviderFactory;
  */
 class TreeDataProviderFactoryTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @var TreeDataProviderFactory
      */
diff --git a/typo3/sysext/core/Tests/Unit/Type/EnumerationTest.php b/typo3/sysext/core/Tests/Unit/Type/EnumerationTest.php
index 6fc69a57e514..45b1629832bc 100644
--- a/typo3/sysext/core/Tests/Unit/Type/EnumerationTest.php
+++ b/typo3/sysext/core/Tests/Unit/Type/EnumerationTest.php
@@ -23,6 +23,11 @@ use TYPO3\CMS\Core\Type\Exception\InvalidEnumerationValueException;
  */
 class EnumerationTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @test
      */
diff --git a/typo3/sysext/core/Tests/Unit/TypoScript/Parser/TypoScriptParserTest.php b/typo3/sysext/core/Tests/Unit/TypoScript/Parser/TypoScriptParserTest.php
index d5c9d19dfece..1f5a3b8e0129 100644
--- a/typo3/sysext/core/Tests/Unit/TypoScript/Parser/TypoScriptParserTest.php
+++ b/typo3/sysext/core/Tests/Unit/TypoScript/Parser/TypoScriptParserTest.php
@@ -21,6 +21,11 @@ use TYPO3\CMS\Core\TypoScript\Parser\TypoScriptParser;
  */
 class TypoScriptParserTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @var \TYPO3\CMS\Core\TypoScript\Parser\TypoScriptParser|\TYPO3\TestingFramework\Core\AccessibleObjectInterface
      */
diff --git a/typo3/sysext/core/Tests/Unit/TypoScript/TemplateServiceTest.php b/typo3/sysext/core/Tests/Unit/TypoScript/TemplateServiceTest.php
index e0bfd6b15d3e..0bf388e84075 100644
--- a/typo3/sysext/core/Tests/Unit/TypoScript/TemplateServiceTest.php
+++ b/typo3/sysext/core/Tests/Unit/TypoScript/TemplateServiceTest.php
@@ -26,6 +26,11 @@ use TYPO3\CMS\Core\Utility\GeneralUtility;
  */
 class TemplateServiceTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @var \TYPO3\CMS\Core\TypoScript\TemplateService
      */
diff --git a/typo3/sysext/core/Tests/Unit/TypoScript/TypoScriptServiceTest.php b/typo3/sysext/core/Tests/Unit/TypoScript/TypoScriptServiceTest.php
index ac741c9c0229..955cbc85f423 100644
--- a/typo3/sysext/core/Tests/Unit/TypoScript/TypoScriptServiceTest.php
+++ b/typo3/sysext/core/Tests/Unit/TypoScript/TypoScriptServiceTest.php
@@ -21,6 +21,11 @@ use TYPO3\CMS\Core\TypoScript\TypoScriptService;
  */
 class TypoScriptServiceTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * data provider for convertTypoScriptArrayToPlainArray
      * @return array
diff --git a/typo3/sysext/core/Tests/Unit/Utility/ArrayUtilityTest.php b/typo3/sysext/core/Tests/Unit/Utility/ArrayUtilityTest.php
index eb36c19c93b3..4b67b379f449 100644
--- a/typo3/sysext/core/Tests/Unit/Utility/ArrayUtilityTest.php
+++ b/typo3/sysext/core/Tests/Unit/Utility/ArrayUtilityTest.php
@@ -23,6 +23,11 @@ use TYPO3\TestingFramework\Core\Unit\UnitTestCase;
  */
 class ArrayUtilityTest extends UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     ///////////////////////
     // Tests concerning filterByValueRecursive
     ///////////////////////
diff --git a/typo3/sysext/core/Tests/Unit/Utility/ClassNamingUtilityTest.php b/typo3/sysext/core/Tests/Unit/Utility/ClassNamingUtilityTest.php
index e23a925bcaa3..1974444cb538 100644
--- a/typo3/sysext/core/Tests/Unit/Utility/ClassNamingUtilityTest.php
+++ b/typo3/sysext/core/Tests/Unit/Utility/ClassNamingUtilityTest.php
@@ -19,6 +19,11 @@ namespace TYPO3\CMS\Core\Tests\Unit\Utility;
  */
 class ClassNamingUtilityTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * DataProvider for translateModelNameToRepositoryName
      * and translateRepositoryNameToModelName
diff --git a/typo3/sysext/core/Tests/Unit/Utility/ExtensionManagementUtilityTest.php b/typo3/sysext/core/Tests/Unit/Utility/ExtensionManagementUtilityTest.php
index 6b13e657ab0f..da9bd6d50eae 100644
--- a/typo3/sysext/core/Tests/Unit/Utility/ExtensionManagementUtilityTest.php
+++ b/typo3/sysext/core/Tests/Unit/Utility/ExtensionManagementUtilityTest.php
@@ -30,6 +30,11 @@ use TYPO3\CMS\Core\Utility\GeneralUtility;
  */
 class ExtensionManagementUtilityTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @var array A backup of registered singleton instances
      */
diff --git a/typo3/sysext/core/Tests/Unit/Utility/GeneralUtilityTest.php b/typo3/sysext/core/Tests/Unit/Utility/GeneralUtilityTest.php
index 24d696de28fc..e88c2ee8d370 100644
--- a/typo3/sysext/core/Tests/Unit/Utility/GeneralUtilityTest.php
+++ b/typo3/sysext/core/Tests/Unit/Utility/GeneralUtilityTest.php
@@ -38,6 +38,12 @@ use TYPO3\TestingFramework\Core\FileStreamWrapper;
 class GeneralUtilityTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
     const NO_FIX_PERMISSIONS_ON_WINDOWS = 'fixPermissions() not available on Windows (method does nothing)';
+
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @var array A backup of registered singleton instances
      */
diff --git a/typo3/sysext/core/Tests/Unit/Utility/RootlineUtilityTest.php b/typo3/sysext/core/Tests/Unit/Utility/RootlineUtilityTest.php
index 69a5d10f359a..362245b83c13 100644
--- a/typo3/sysext/core/Tests/Unit/Utility/RootlineUtilityTest.php
+++ b/typo3/sysext/core/Tests/Unit/Utility/RootlineUtilityTest.php
@@ -21,6 +21,11 @@ use TYPO3\CMS\Core\Utility\RootlineUtility;
  */
 class RootlineUtilityTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @var RootlineUtility|\TYPO3\TestingFramework\Core\AccessibleObjectInterface|\PHPUnit_Framework_MockObject_MockObject
      */
diff --git a/typo3/sysext/core/Tests/Unit/Utility/StringUtilityTest.php b/typo3/sysext/core/Tests/Unit/Utility/StringUtilityTest.php
index 8fe5b96fa168..41f0b4ee2029 100644
--- a/typo3/sysext/core/Tests/Unit/Utility/StringUtilityTest.php
+++ b/typo3/sysext/core/Tests/Unit/Utility/StringUtilityTest.php
@@ -21,6 +21,11 @@ use TYPO3\CMS\Core\Utility\StringUtility;
  */
 class StringUtilityTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * Data provider for endsWithReturnsTrueForMatchingFirstPart
      *
diff --git a/typo3/sysext/core/Tests/Unit/ViewHelpers/IconViewHelperTest.php b/typo3/sysext/core/Tests/Unit/ViewHelpers/IconViewHelperTest.php
index 6f3864bc6c4b..265eafe6f617 100644
--- a/typo3/sysext/core/Tests/Unit/ViewHelpers/IconViewHelperTest.php
+++ b/typo3/sysext/core/Tests/Unit/ViewHelpers/IconViewHelperTest.php
@@ -27,6 +27,11 @@ use TYPO3\TestingFramework\Fluid\Unit\ViewHelpers\ViewHelperBaseTestcase;
  */
 class IconViewHelperTest extends ViewHelperBaseTestcase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @var IconViewHelper
      */
diff --git a/typo3/sysext/core/Tests/UnitDeprecated/Html/RteHtmlParserTest.php b/typo3/sysext/core/Tests/UnitDeprecated/Html/RteHtmlParserTest.php
index 1a03661f3095..e6c0e5d658da 100644
--- a/typo3/sysext/core/Tests/UnitDeprecated/Html/RteHtmlParserTest.php
+++ b/typo3/sysext/core/Tests/UnitDeprecated/Html/RteHtmlParserTest.php
@@ -19,6 +19,11 @@ namespace TYPO3\CMS\Core\Tests\Unit_Deprecated\Html;
  */
 class RteHtmlParserTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @var \TYPO3\CMS\Core\Html\RteHtmlParser
      */
diff --git a/typo3/sysext/core/Tests/UnitDeprecated/Utility/ClientUtilityTest.php b/typo3/sysext/core/Tests/UnitDeprecated/Utility/ClientUtilityTest.php
index e437686c9b1a..0b0479238ce0 100644
--- a/typo3/sysext/core/Tests/UnitDeprecated/Utility/ClientUtilityTest.php
+++ b/typo3/sysext/core/Tests/UnitDeprecated/Utility/ClientUtilityTest.php
@@ -19,6 +19,11 @@ namespace TYPO3\CMS\Core\Tests\Unit\Utility;
  */
 class ClientUtilityTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     //////////////////////////////////////////////////////////
     // Utility Functions
     //////////////////////////////////////////////////////////
diff --git a/typo3/sysext/extbase/Tests/Unit/Configuration/AbstractConfigurationManagerTest.php b/typo3/sysext/extbase/Tests/Unit/Configuration/AbstractConfigurationManagerTest.php
index a04821cca06d..f8e3b15711ce 100644
--- a/typo3/sysext/extbase/Tests/Unit/Configuration/AbstractConfigurationManagerTest.php
+++ b/typo3/sysext/extbase/Tests/Unit/Configuration/AbstractConfigurationManagerTest.php
@@ -19,6 +19,11 @@ namespace TYPO3\CMS\Extbase\Tests\Unit\Configuration;
  */
 class AbstractConfigurationManagerTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @var \TYPO3\CMS\Extbase\Configuration\AbstractConfigurationManager|\PHPUnit_Framework_MockObject_MockObject|\TYPO3\TestingFramework\Core\AccessibleObjectInterface
      */
diff --git a/typo3/sysext/extbase/Tests/Unit/Configuration/FrontendConfigurationManagerTest.php b/typo3/sysext/extbase/Tests/Unit/Configuration/FrontendConfigurationManagerTest.php
index e866aa3c463a..ec01340e0c54 100644
--- a/typo3/sysext/extbase/Tests/Unit/Configuration/FrontendConfigurationManagerTest.php
+++ b/typo3/sysext/extbase/Tests/Unit/Configuration/FrontendConfigurationManagerTest.php
@@ -20,6 +20,11 @@ use TYPO3\CMS\Extbase\Configuration\Exception\ParseErrorException;
  */
 class FrontendConfigurationManagerTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @var \TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer|\PHPUnit_Framework_MockObject_MockObject
      */
diff --git a/typo3/sysext/extbase/Tests/Unit/Mvc/Controller/ActionControllerTest.php b/typo3/sysext/extbase/Tests/Unit/Mvc/Controller/ActionControllerTest.php
index 783b31365c6d..ae5b34e7b04b 100644
--- a/typo3/sysext/extbase/Tests/Unit/Mvc/Controller/ActionControllerTest.php
+++ b/typo3/sysext/extbase/Tests/Unit/Mvc/Controller/ActionControllerTest.php
@@ -29,6 +29,11 @@ use TYPO3Fluid\Fluid\View\TemplateView;
  */
 class ActionControllerTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @var \TYPO3\CMS\Extbase\Mvc\Controller\ActionController|\PHPUnit_Framework_MockObject_MockObject|\TYPO3\TestingFramework\Core\AccessibleObjectInterface
      */
diff --git a/typo3/sysext/extbase/Tests/Unit/Mvc/Web/RequestBuilderTest.php b/typo3/sysext/extbase/Tests/Unit/Mvc/Web/RequestBuilderTest.php
index 2c5a8f7aef65..95a6a478a5e4 100644
--- a/typo3/sysext/extbase/Tests/Unit/Mvc/Web/RequestBuilderTest.php
+++ b/typo3/sysext/extbase/Tests/Unit/Mvc/Web/RequestBuilderTest.php
@@ -23,6 +23,11 @@ use TYPO3\CMS\Extbase\Mvc\Exception\InvalidControllerNameException;
  */
 class RequestBuilderTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @var \TYPO3\CMS\Extbase\Mvc\Web\RequestBuilder|\PHPUnit_Framework_MockObject_MockObject|\TYPO3\TestingFramework\Core\AccessibleObjectInterface
      */
diff --git a/typo3/sysext/extbase/Tests/Unit/Mvc/Web/Routing/UriBuilderTest.php b/typo3/sysext/extbase/Tests/Unit/Mvc/Web/Routing/UriBuilderTest.php
index 914a719806e2..bbaeff00b439 100644
--- a/typo3/sysext/extbase/Tests/Unit/Mvc/Web/Routing/UriBuilderTest.php
+++ b/typo3/sysext/extbase/Tests/Unit/Mvc/Web/Routing/UriBuilderTest.php
@@ -36,6 +36,11 @@ use TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController;
  */
 class UriBuilderTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @var ConfigurationManagerInterface
      */
diff --git a/typo3/sysext/extbase/Tests/Unit/Persistence/Generic/BackendTest.php b/typo3/sysext/extbase/Tests/Unit/Persistence/Generic/BackendTest.php
index f9a2c4979441..5586d44e31ce 100644
--- a/typo3/sysext/extbase/Tests/Unit/Persistence/Generic/BackendTest.php
+++ b/typo3/sysext/extbase/Tests/Unit/Persistence/Generic/BackendTest.php
@@ -19,6 +19,11 @@ namespace TYPO3\CMS\Extbase\Tests\Unit\Persistence\Generic;
  */
 class BackendTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @test
      */
diff --git a/typo3/sysext/extbase/Tests/Unit/Persistence/Generic/Mapper/DataMapFactoryTest.php b/typo3/sysext/extbase/Tests/Unit/Persistence/Generic/Mapper/DataMapFactoryTest.php
index 194cb2837f5e..747ce3d29931 100644
--- a/typo3/sysext/extbase/Tests/Unit/Persistence/Generic/Mapper/DataMapFactoryTest.php
+++ b/typo3/sysext/extbase/Tests/Unit/Persistence/Generic/Mapper/DataMapFactoryTest.php
@@ -25,6 +25,11 @@ use TYPO3\TestingFramework\Core\AccessibleObjectInterface;
  */
 class DataMapFactoryTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @return array
      */
diff --git a/typo3/sysext/extbase/Tests/Unit/Persistence/Generic/Mapper/DataMapperTest.php b/typo3/sysext/extbase/Tests/Unit/Persistence/Generic/Mapper/DataMapperTest.php
index d217d8705c6c..d9978dbf9974 100644
--- a/typo3/sysext/extbase/Tests/Unit/Persistence/Generic/Mapper/DataMapperTest.php
+++ b/typo3/sysext/extbase/Tests/Unit/Persistence/Generic/Mapper/DataMapperTest.php
@@ -27,6 +27,11 @@ use TYPO3\TestingFramework\Core\AccessibleObjectInterface;
  */
 class DataMapperTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @test
      */
diff --git a/typo3/sysext/extbase/Tests/Unit/Persistence/Generic/PersistenceManagerTest.php b/typo3/sysext/extbase/Tests/Unit/Persistence/Generic/PersistenceManagerTest.php
index 99177dbcc80c..2ac8cf197236 100644
--- a/typo3/sysext/extbase/Tests/Unit/Persistence/Generic/PersistenceManagerTest.php
+++ b/typo3/sysext/extbase/Tests/Unit/Persistence/Generic/PersistenceManagerTest.php
@@ -19,6 +19,11 @@ namespace TYPO3\CMS\Extbase\Tests\Unit\Persistence\Generic;
  */
 class PersistenceManagerTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @var \TYPO3\CMS\Extbase\Object\ObjectManagerInterface
      */
diff --git a/typo3/sysext/extbase/Tests/Unit/Persistence/Generic/SessionTest.php b/typo3/sysext/extbase/Tests/Unit/Persistence/Generic/SessionTest.php
index a55741bca245..ef0fa80a1587 100644
--- a/typo3/sysext/extbase/Tests/Unit/Persistence/Generic/SessionTest.php
+++ b/typo3/sysext/extbase/Tests/Unit/Persistence/Generic/SessionTest.php
@@ -15,6 +15,11 @@ namespace TYPO3\CMS\Extbase\Tests\Unit\Persistence\Generic;
  */
 class SessionTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @test
      */
diff --git a/typo3/sysext/extbase/Tests/Unit/Persistence/Generic/Storage/Typo3DbBackendTest.php b/typo3/sysext/extbase/Tests/Unit/Persistence/Generic/Storage/Typo3DbBackendTest.php
index cf3934a840b2..91fb65bf5b20 100644
--- a/typo3/sysext/extbase/Tests/Unit/Persistence/Generic/Storage/Typo3DbBackendTest.php
+++ b/typo3/sysext/extbase/Tests/Unit/Persistence/Generic/Storage/Typo3DbBackendTest.php
@@ -27,6 +27,11 @@ use TYPO3\CMS\Extbase\Service\EnvironmentService;
  */
 class Typo3DbBackendTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     public function setUp()
     {
         parent::setUp();
diff --git a/typo3/sysext/extbase/Tests/Unit/Persistence/Generic/Storage/Typo3DbQueryParserTest.php b/typo3/sysext/extbase/Tests/Unit/Persistence/Generic/Storage/Typo3DbQueryParserTest.php
index 2b8ab8757aaa..7de15c25d96d 100644
--- a/typo3/sysext/extbase/Tests/Unit/Persistence/Generic/Storage/Typo3DbQueryParserTest.php
+++ b/typo3/sysext/extbase/Tests/Unit/Persistence/Generic/Storage/Typo3DbQueryParserTest.php
@@ -35,7 +35,12 @@ use TYPO3\CMS\Extbase\Persistence\QueryInterface;
 class Typo3DbQueryParserTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
     /**
-     * @var arary
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
+    /**
+     * @var array
      */
     protected $singletonInstances;
 
diff --git a/typo3/sysext/extbase/Tests/Unit/Persistence/RepositoryTest.php b/typo3/sysext/extbase/Tests/Unit/Persistence/RepositoryTest.php
index 569c9d707a9f..934773858c41 100644
--- a/typo3/sysext/extbase/Tests/Unit/Persistence/RepositoryTest.php
+++ b/typo3/sysext/extbase/Tests/Unit/Persistence/RepositoryTest.php
@@ -21,6 +21,11 @@ use TYPO3\CMS\Extbase\Persistence\Generic\Exception\UnsupportedMethodException;
  */
 class RepositoryTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @var \TYPO3\CMS\Extbase\Persistence\Repository|\PHPUnit_Framework_MockObject_MockObject|\TYPO3\TestingFramework\Core\AccessibleObjectInterface
      */
diff --git a/typo3/sysext/extbase/Tests/Unit/Reflection/ReflectionServiceTest.php b/typo3/sysext/extbase/Tests/Unit/Reflection/ReflectionServiceTest.php
index ae29c619867e..33a8e130f353 100644
--- a/typo3/sysext/extbase/Tests/Unit/Reflection/ReflectionServiceTest.php
+++ b/typo3/sysext/extbase/Tests/Unit/Reflection/ReflectionServiceTest.php
@@ -24,6 +24,11 @@ use TYPO3\CMS\Extbase\Reflection\ReflectionService;
  */
 class ReflectionServiceTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @param array $foo The foo parameter
      * @return string
diff --git a/typo3/sysext/extbase/Tests/Unit/Scheduler/TaskTest.php b/typo3/sysext/extbase/Tests/Unit/Scheduler/TaskTest.php
index 14c128cecbdb..34bb8e5a7631 100644
--- a/typo3/sysext/extbase/Tests/Unit/Scheduler/TaskTest.php
+++ b/typo3/sysext/extbase/Tests/Unit/Scheduler/TaskTest.php
@@ -19,6 +19,11 @@ namespace TYPO3\CMS\Extbase\Tests\Unit\Scheduler;
  */
 class TaskTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @var \TYPO3\CMS\Extbase\Scheduler\Task|\PHPUnit_Framework_MockObject_MockObject|\TYPO3\TestingFramework\Core\AccessibleObjectInterface
      */
diff --git a/typo3/sysext/extbase/Tests/Unit/Service/ExtensionServiceTest.php b/typo3/sysext/extbase/Tests/Unit/Service/ExtensionServiceTest.php
index 4384e7b52e66..bdc5b0e39083 100644
--- a/typo3/sysext/extbase/Tests/Unit/Service/ExtensionServiceTest.php
+++ b/typo3/sysext/extbase/Tests/Unit/Service/ExtensionServiceTest.php
@@ -29,6 +29,11 @@ use TYPO3\CMS\Extbase\Exception;
  */
 class ExtensionServiceTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @var \TYPO3\CMS\Extbase\Configuration\ConfigurationManagerInterface
      */
diff --git a/typo3/sysext/extbase/Tests/Unit/Service/ImageScriptServiceTest.php b/typo3/sysext/extbase/Tests/Unit/Service/ImageScriptServiceTest.php
index 7f983b0166f6..c7be01bd0d08 100644
--- a/typo3/sysext/extbase/Tests/Unit/Service/ImageScriptServiceTest.php
+++ b/typo3/sysext/extbase/Tests/Unit/Service/ImageScriptServiceTest.php
@@ -26,6 +26,11 @@ use TYPO3\CMS\Extbase\Service\ImageService;
  */
 class ImageScriptServiceTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @var ImageService
      */
diff --git a/typo3/sysext/extbase/Tests/Unit/SignalSlot/DispatcherTest.php b/typo3/sysext/extbase/Tests/Unit/SignalSlot/DispatcherTest.php
index aeb17b281873..e0a672030bd5 100644
--- a/typo3/sysext/extbase/Tests/Unit/SignalSlot/DispatcherTest.php
+++ b/typo3/sysext/extbase/Tests/Unit/SignalSlot/DispatcherTest.php
@@ -24,6 +24,11 @@ use TYPO3\CMS\Extbase\Tests\Unit\SignalSlot\Fixtures\SlotMethodDoesNotExistFixtu
  */
 class DispatcherTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @var \TYPO3\CMS\Extbase\SignalSlot\Dispatcher|\PHPUnit_Framework_MockObject_MockObject|\TYPO3\TestingFramework\Core\AccessibleObjectInterface
      */
diff --git a/typo3/sysext/extbase/Tests/Unit/Utility/ExtensionUtilityTest.php b/typo3/sysext/extbase/Tests/Unit/Utility/ExtensionUtilityTest.php
index 95d76145e90c..5c66afdff4d0 100644
--- a/typo3/sysext/extbase/Tests/Unit/Utility/ExtensionUtilityTest.php
+++ b/typo3/sysext/extbase/Tests/Unit/Utility/ExtensionUtilityTest.php
@@ -19,6 +19,11 @@ namespace TYPO3\CMS\Extbase\Tests\Unit\Utility;
  */
 class ExtensionUtilityTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     protected function setUp()
     {
         $GLOBALS['TSFE'] = new \stdClass();
diff --git a/typo3/sysext/extbase/Tests/Unit/Utility/LocalizationUtilityTest.php b/typo3/sysext/extbase/Tests/Unit/Utility/LocalizationUtilityTest.php
index 0a0c05c6dfd5..fe33a59b7f35 100644
--- a/typo3/sysext/extbase/Tests/Unit/Utility/LocalizationUtilityTest.php
+++ b/typo3/sysext/extbase/Tests/Unit/Utility/LocalizationUtilityTest.php
@@ -21,6 +21,11 @@ use TYPO3\CMS\Extbase\Utility\LocalizationUtility;
  */
 class LocalizationUtilityTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * Instance of configurationManager, injected to subject
      *
diff --git a/typo3/sysext/extensionmanager/Tests/Unit/Report/ExtensionStatusTest.php b/typo3/sysext/extensionmanager/Tests/Unit/Report/ExtensionStatusTest.php
index d2f841b39812..2a0bcd7b0ac1 100644
--- a/typo3/sysext/extensionmanager/Tests/Unit/Report/ExtensionStatusTest.php
+++ b/typo3/sysext/extensionmanager/Tests/Unit/Report/ExtensionStatusTest.php
@@ -19,6 +19,11 @@ namespace TYPO3\CMS\Extensionmanager\Tests\Unit\Report;
  */
 class ExtensionStatusTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @var \TYPO3\CMS\Extbase\Object\ObjectManagerInterface
      */
diff --git a/typo3/sysext/extensionmanager/Tests/Unit/Service/ExtensionManagementServiceTest.php b/typo3/sysext/extensionmanager/Tests/Unit/Service/ExtensionManagementServiceTest.php
index 29dd3729afe8..6c1ce605d279 100644
--- a/typo3/sysext/extensionmanager/Tests/Unit/Service/ExtensionManagementServiceTest.php
+++ b/typo3/sysext/extensionmanager/Tests/Unit/Service/ExtensionManagementServiceTest.php
@@ -19,6 +19,11 @@ namespace TYPO3\CMS\Extensionmanager\Tests\Unit\Service;
  */
 class ExtensionManagementServiceTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @test
      */
diff --git a/typo3/sysext/extensionmanager/Tests/Unit/Utility/EmConfUtilityTest.php b/typo3/sysext/extensionmanager/Tests/Unit/Utility/EmConfUtilityTest.php
index c0c9ab12f23d..2d9ee242235d 100644
--- a/typo3/sysext/extensionmanager/Tests/Unit/Utility/EmConfUtilityTest.php
+++ b/typo3/sysext/extensionmanager/Tests/Unit/Utility/EmConfUtilityTest.php
@@ -19,6 +19,11 @@ namespace TYPO3\CMS\Extensionmanager\Tests\Unit\Utility;
  */
 class EmConfUtilityTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @test
      */
diff --git a/typo3/sysext/extensionmanager/Tests/Unit/Utility/FileHandlingUtilityTest.php b/typo3/sysext/extensionmanager/Tests/Unit/Utility/FileHandlingUtilityTest.php
index a48fdfaf7a61..2a454b3e86fd 100644
--- a/typo3/sysext/extensionmanager/Tests/Unit/Utility/FileHandlingUtilityTest.php
+++ b/typo3/sysext/extensionmanager/Tests/Unit/Utility/FileHandlingUtilityTest.php
@@ -20,6 +20,11 @@ use TYPO3\CMS\Extensionmanager\Exception\ExtensionManagerException;
  */
 class FileHandlingUtilityTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @var array List of created fake extensions to be deleted in tearDown() again
      */
diff --git a/typo3/sysext/extensionmanager/Tests/Unit/Utility/InstallUtilityTest.php b/typo3/sysext/extensionmanager/Tests/Unit/Utility/InstallUtilityTest.php
index 8565de8ff4f2..a05d3180ceba 100644
--- a/typo3/sysext/extensionmanager/Tests/Unit/Utility/InstallUtilityTest.php
+++ b/typo3/sysext/extensionmanager/Tests/Unit/Utility/InstallUtilityTest.php
@@ -19,6 +19,11 @@ namespace TYPO3\CMS\Extensionmanager\Tests\Unit\Utility;
  */
 class InstallUtilityTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @var string
      */
diff --git a/typo3/sysext/extensionmanager/Tests/Unit/Utility/ListUtilityTest.php b/typo3/sysext/extensionmanager/Tests/Unit/Utility/ListUtilityTest.php
index 8316e0022209..798648e00e7d 100644
--- a/typo3/sysext/extensionmanager/Tests/Unit/Utility/ListUtilityTest.php
+++ b/typo3/sysext/extensionmanager/Tests/Unit/Utility/ListUtilityTest.php
@@ -19,6 +19,11 @@ namespace TYPO3\CMS\Extensionmanager\Tests\Unit\Utility;
  */
 class ListUtilityTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @var \TYPO3\CMS\Extensionmanager\Utility\ListUtility
      */
diff --git a/typo3/sysext/felogin/Tests/Unit/Controller/FrontendLoginControllerTest.php b/typo3/sysext/felogin/Tests/Unit/Controller/FrontendLoginControllerTest.php
index 56a98b10c59c..ed0fc9f7006a 100644
--- a/typo3/sysext/felogin/Tests/Unit/Controller/FrontendLoginControllerTest.php
+++ b/typo3/sysext/felogin/Tests/Unit/Controller/FrontendLoginControllerTest.php
@@ -30,6 +30,11 @@ use TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController;
  */
 class FrontendLoginControllerTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @var \TYPO3\CMS\Felogin\Controller\FrontendLoginController|\TYPO3\TestingFramework\Core\AccessibleObjectInterface
      */
diff --git a/typo3/sysext/fluid/Tests/Unit/Core/Widget/AbstractWidgetViewHelperTest.php b/typo3/sysext/fluid/Tests/Unit/Core/Widget/AbstractWidgetViewHelperTest.php
index b4ae07dabd24..7fe545f7021f 100644
--- a/typo3/sysext/fluid/Tests/Unit/Core/Widget/AbstractWidgetViewHelperTest.php
+++ b/typo3/sysext/fluid/Tests/Unit/Core/Widget/AbstractWidgetViewHelperTest.php
@@ -24,6 +24,11 @@ use TYPO3Fluid\Fluid\Core\ViewHelper\ViewHelperVariableContainer;
  */
 class AbstractWidgetViewHelperTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @var \TYPO3\CMS\Fluid\Core\Widget\AbstractWidgetViewHelper
      */
diff --git a/typo3/sysext/fluid/Tests/Unit/Core/Widget/WidgetRequestBuilderTest.php b/typo3/sysext/fluid/Tests/Unit/Core/Widget/WidgetRequestBuilderTest.php
index 447620672cba..99c861efa574 100644
--- a/typo3/sysext/fluid/Tests/Unit/Core/Widget/WidgetRequestBuilderTest.php
+++ b/typo3/sysext/fluid/Tests/Unit/Core/Widget/WidgetRequestBuilderTest.php
@@ -19,6 +19,11 @@ namespace TYPO3\CMS\Fluid\Tests\Unit\Core\Widget;
  */
 class WidgetRequestBuilderTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @var \TYPO3\CMS\Fluid\Core\Widget\WidgetRequestBuilder
      */
diff --git a/typo3/sysext/fluid/Tests/Unit/View/StandaloneViewTest.php b/typo3/sysext/fluid/Tests/Unit/View/StandaloneViewTest.php
index bc02f00321d5..467c10bdf598 100644
--- a/typo3/sysext/fluid/Tests/Unit/View/StandaloneViewTest.php
+++ b/typo3/sysext/fluid/Tests/Unit/View/StandaloneViewTest.php
@@ -33,6 +33,11 @@ use TYPO3Fluid\Fluid\Core\ViewHelper\ViewHelperVariableContainer;
  */
 class StandaloneViewTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @var array A backup of registered singleton instances
      */
diff --git a/typo3/sysext/fluid/Tests/Unit/ViewHelpers/Be/Security/IfAuthenticatedViewHelperTest.php b/typo3/sysext/fluid/Tests/Unit/ViewHelpers/Be/Security/IfAuthenticatedViewHelperTest.php
index f3bd285e721d..eb0060b14d37 100644
--- a/typo3/sysext/fluid/Tests/Unit/ViewHelpers/Be/Security/IfAuthenticatedViewHelperTest.php
+++ b/typo3/sysext/fluid/Tests/Unit/ViewHelpers/Be/Security/IfAuthenticatedViewHelperTest.php
@@ -21,6 +21,11 @@ use TYPO3\TestingFramework\Fluid\Unit\ViewHelpers\ViewHelperBaseTestcase;
  */
 class IfAuthenticatedViewHelperTest extends ViewHelperBaseTestcase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @var \TYPO3\CMS\Fluid\ViewHelpers\Be\Security\IfAuthenticatedViewHelper
      */
diff --git a/typo3/sysext/fluid/Tests/Unit/ViewHelpers/CObjectViewHelperTest.php b/typo3/sysext/fluid/Tests/Unit/ViewHelpers/CObjectViewHelperTest.php
index a877b45fd414..3984bd86b8e8 100644
--- a/typo3/sysext/fluid/Tests/Unit/ViewHelpers/CObjectViewHelperTest.php
+++ b/typo3/sysext/fluid/Tests/Unit/ViewHelpers/CObjectViewHelperTest.php
@@ -27,6 +27,11 @@ use TYPO3\TestingFramework\Fluid\Unit\ViewHelpers\ViewHelperBaseTestcase;
  */
 class CObjectViewHelperTest extends ViewHelperBaseTestcase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @var CObjectViewHelper
      */
diff --git a/typo3/sysext/fluid/Tests/Unit/ViewHelpers/FlashMessagesViewHelperTest.php b/typo3/sysext/fluid/Tests/Unit/ViewHelpers/FlashMessagesViewHelperTest.php
index 08713dba34a9..01245817feec 100644
--- a/typo3/sysext/fluid/Tests/Unit/ViewHelpers/FlashMessagesViewHelperTest.php
+++ b/typo3/sysext/fluid/Tests/Unit/ViewHelpers/FlashMessagesViewHelperTest.php
@@ -24,6 +24,11 @@ use TYPO3\TestingFramework\Fluid\Unit\ViewHelpers\ViewHelperBaseTestcase;
  */
 class FlashMessagesViewHelperTest extends ViewHelperBaseTestcase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @var \TYPO3\CMS\Fluid\ViewHelpers\FlashMessagesViewHelper
      */
diff --git a/typo3/sysext/fluid/Tests/Unit/ViewHelpers/Form/SelectViewHelperTest.php b/typo3/sysext/fluid/Tests/Unit/ViewHelpers/Form/SelectViewHelperTest.php
index c71c57639821..59dc3f872910 100644
--- a/typo3/sysext/fluid/Tests/Unit/ViewHelpers/Form/SelectViewHelperTest.php
+++ b/typo3/sysext/fluid/Tests/Unit/ViewHelpers/Form/SelectViewHelperTest.php
@@ -22,6 +22,11 @@ use TYPO3Fluid\Fluid\Core\ViewHelper\TagBuilder;
  */
 class SelectViewHelperTest extends ViewHelperBaseTestcase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @var \TYPO3\CMS\Fluid\ViewHelpers\Form\SelectViewHelper
      */
diff --git a/typo3/sysext/fluid/Tests/Unit/ViewHelpers/Form/TextareaViewHelperTest.php b/typo3/sysext/fluid/Tests/Unit/ViewHelpers/Form/TextareaViewHelperTest.php
index 01b6c468c6a5..40f8c4602ff3 100644
--- a/typo3/sysext/fluid/Tests/Unit/ViewHelpers/Form/TextareaViewHelperTest.php
+++ b/typo3/sysext/fluid/Tests/Unit/ViewHelpers/Form/TextareaViewHelperTest.php
@@ -20,6 +20,11 @@ use TYPO3Fluid\Fluid\Core\ViewHelper\TagBuilder;
  */
 class TextareaViewHelperTest extends \TYPO3\CMS\Fluid\Tests\Unit\ViewHelpers\Form\FormFieldViewHelperBaseTestcase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @var \TYPO3\CMS\Fluid\ViewHelpers\Form\TextareaViewHelper
      */
diff --git a/typo3/sysext/fluid/Tests/Unit/ViewHelpers/Form/TextfieldViewHelperTest.php b/typo3/sysext/fluid/Tests/Unit/ViewHelpers/Form/TextfieldViewHelperTest.php
index 76621b729856..bdc7e0b5ad7a 100644
--- a/typo3/sysext/fluid/Tests/Unit/ViewHelpers/Form/TextfieldViewHelperTest.php
+++ b/typo3/sysext/fluid/Tests/Unit/ViewHelpers/Form/TextfieldViewHelperTest.php
@@ -23,6 +23,11 @@ use TYPO3\TestingFramework\Fluid\Unit\ViewHelpers\ViewHelperBaseTestcase;
  */
 class TextfieldViewHelperTest extends ViewHelperBaseTestcase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @var TextfieldViewHelper
      */
diff --git a/typo3/sysext/fluid/Tests/Unit/ViewHelpers/FormViewHelperTest.php b/typo3/sysext/fluid/Tests/Unit/ViewHelpers/FormViewHelperTest.php
index e509e5b1ab0d..623fe0fff849 100644
--- a/typo3/sysext/fluid/Tests/Unit/ViewHelpers/FormViewHelperTest.php
+++ b/typo3/sysext/fluid/Tests/Unit/ViewHelpers/FormViewHelperTest.php
@@ -23,6 +23,11 @@ use TYPO3Fluid\Fluid\Core\ViewHelper\ViewHelperInterface;
  */
 class FormViewHelperTest extends ViewHelperBaseTestcase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @var \TYPO3\CMS\Extbase\Service\ExtensionService
      */
diff --git a/typo3/sysext/fluid/Tests/Unit/ViewHelpers/Link/PageViewHelperTest.php b/typo3/sysext/fluid/Tests/Unit/ViewHelpers/Link/PageViewHelperTest.php
index 3519fa240448..aa13c9868421 100644
--- a/typo3/sysext/fluid/Tests/Unit/ViewHelpers/Link/PageViewHelperTest.php
+++ b/typo3/sysext/fluid/Tests/Unit/ViewHelpers/Link/PageViewHelperTest.php
@@ -22,6 +22,11 @@ use TYPO3\TestingFramework\Fluid\Unit\ViewHelpers\ViewHelperBaseTestcase;
  */
 class PageViewHelperTest extends ViewHelperBaseTestcase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @var PageViewHelper
      */
diff --git a/typo3/sysext/fluid/Tests/Unit/ViewHelpers/Link/TypolinkViewHelperTest.php b/typo3/sysext/fluid/Tests/Unit/ViewHelpers/Link/TypolinkViewHelperTest.php
index c09d2acf904b..dc8fdb6bb200 100644
--- a/typo3/sysext/fluid/Tests/Unit/ViewHelpers/Link/TypolinkViewHelperTest.php
+++ b/typo3/sysext/fluid/Tests/Unit/ViewHelpers/Link/TypolinkViewHelperTest.php
@@ -25,6 +25,11 @@ use TYPO3\TestingFramework\Fluid\Unit\ViewHelpers\ViewHelperBaseTestcase;
  */
 class TypolinkViewHelperTest extends ViewHelperBaseTestcase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @var TypolinkViewHelper|\PHPUnit_Framework_MockObject_MockObject|\TYPO3\TestingFramework\Core\AccessibleObjectInterface
      */
diff --git a/typo3/sysext/form/Tests/Unit/Controller/FormEditorControllerTest.php b/typo3/sysext/form/Tests/Unit/Controller/FormEditorControllerTest.php
index a40315fdb7f1..0e7f5657c3f7 100644
--- a/typo3/sysext/form/Tests/Unit/Controller/FormEditorControllerTest.php
+++ b/typo3/sysext/form/Tests/Unit/Controller/FormEditorControllerTest.php
@@ -25,6 +25,10 @@ use TYPO3\CMS\Form\Service\TranslationService;
  */
 class FormEditorControllerTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
 
     /**
      * @var array A backup of registered singleton instances
diff --git a/typo3/sysext/form/Tests/Unit/Controller/FormManagerControllerTest.php b/typo3/sysext/form/Tests/Unit/Controller/FormManagerControllerTest.php
index 83e960bf0b42..05e76a6c5899 100644
--- a/typo3/sysext/form/Tests/Unit/Controller/FormManagerControllerTest.php
+++ b/typo3/sysext/form/Tests/Unit/Controller/FormManagerControllerTest.php
@@ -30,6 +30,10 @@ use TYPO3\CMS\Form\Service\TranslationService;
  */
 class FormManagerControllerTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
 
     /**
      * @var array A backup of registered singleton instances
diff --git a/typo3/sysext/form/Tests/Unit/Domain/Finishers/AbstractFinisherTest.php b/typo3/sysext/form/Tests/Unit/Domain/Finishers/AbstractFinisherTest.php
index 7fdbea9b8625..714416431652 100644
--- a/typo3/sysext/form/Tests/Unit/Domain/Finishers/AbstractFinisherTest.php
+++ b/typo3/sysext/form/Tests/Unit/Domain/Finishers/AbstractFinisherTest.php
@@ -27,6 +27,11 @@ use TYPO3\CMS\Form\Service\TranslationService;
  */
 class AbstractFinisherTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @var array A backup of registered singleton instances
      */
diff --git a/typo3/sysext/form/Tests/Unit/Domain/FormElements/AbstractFormElementTest.php b/typo3/sysext/form/Tests/Unit/Domain/FormElements/AbstractFormElementTest.php
index 1f95e2c62ed3..29711ea676a8 100644
--- a/typo3/sysext/form/Tests/Unit/Domain/FormElements/AbstractFormElementTest.php
+++ b/typo3/sysext/form/Tests/Unit/Domain/FormElements/AbstractFormElementTest.php
@@ -13,6 +13,11 @@ use TYPO3\TestingFramework\Core\Unit\UnitTestCase;
  */
 class AbstractFormElementTest extends UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @test
      */
diff --git a/typo3/sysext/form/Tests/Unit/Domain/FormElements/SectionTest.php b/typo3/sysext/form/Tests/Unit/Domain/FormElements/SectionTest.php
index fa4ca60843a3..629676f57878 100644
--- a/typo3/sysext/form/Tests/Unit/Domain/FormElements/SectionTest.php
+++ b/typo3/sysext/form/Tests/Unit/Domain/FormElements/SectionTest.php
@@ -10,6 +10,11 @@ use TYPO3\CMS\Form\Domain\Model\FormElements\Section;
  */
 class SectionTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     protected static $IDENTIFIER = 'an_id';
     protected static $TYPE = 'a_type';
 
diff --git a/typo3/sysext/form/Tests/Unit/Hooks/DataStructureIdentifierHookTest.php b/typo3/sysext/form/Tests/Unit/Hooks/DataStructureIdentifierHookTest.php
index 74bc44f95f4a..005463d29370 100644
--- a/typo3/sysext/form/Tests/Unit/Hooks/DataStructureIdentifierHookTest.php
+++ b/typo3/sysext/form/Tests/Unit/Hooks/DataStructureIdentifierHookTest.php
@@ -25,6 +25,11 @@ use TYPO3\CMS\Form\Mvc\Persistence\FormPersistenceManagerInterface;
  */
 class DataStructureIdentifierHookTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @var array A backup of registered singleton instances
      */
diff --git a/typo3/sysext/form/Tests/Unit/Mvc/Configuration/InheritancesResolverServiceTest.php b/typo3/sysext/form/Tests/Unit/Mvc/Configuration/InheritancesResolverServiceTest.php
index 208e37b58963..9717db4b21e6 100644
--- a/typo3/sysext/form/Tests/Unit/Mvc/Configuration/InheritancesResolverServiceTest.php
+++ b/typo3/sysext/form/Tests/Unit/Mvc/Configuration/InheritancesResolverServiceTest.php
@@ -22,6 +22,11 @@ use TYPO3\CMS\Form\Mvc\Configuration\InheritancesResolverService;
  */
 class InheritancesResolverServiceTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @var InheritancesResolverService
      */
diff --git a/typo3/sysext/form/Tests/Unit/Mvc/Persistence/FormPersistenceManagerTest.php b/typo3/sysext/form/Tests/Unit/Mvc/Persistence/FormPersistenceManagerTest.php
index 10531ceb1a72..d26ab5276499 100644
--- a/typo3/sysext/form/Tests/Unit/Mvc/Persistence/FormPersistenceManagerTest.php
+++ b/typo3/sysext/form/Tests/Unit/Mvc/Persistence/FormPersistenceManagerTest.php
@@ -26,6 +26,10 @@ use TYPO3\CMS\Form\Mvc\Persistence\FormPersistenceManager;
  */
 class FormPersistenceManagerTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
 
     /**
      * @test
diff --git a/typo3/sysext/form/Tests/Unit/Mvc/Property/PropertyMappingConfigurationTest.php b/typo3/sysext/form/Tests/Unit/Mvc/Property/PropertyMappingConfigurationTest.php
index 75f6922d201b..5c9d513bec5a 100644
--- a/typo3/sysext/form/Tests/Unit/Mvc/Property/PropertyMappingConfigurationTest.php
+++ b/typo3/sysext/form/Tests/Unit/Mvc/Property/PropertyMappingConfigurationTest.php
@@ -17,6 +17,11 @@ use TYPO3\TestingFramework\Core\Unit\UnitTestCase;
 
 class PropertyMappingConfigurationTest extends UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /** @var PropertyMappingConfiguration */
     protected $propertyMappingConfiguration;
 
diff --git a/typo3/sysext/form/Tests/Unit/Mvc/Validation/FileSizeValidatorTest.php b/typo3/sysext/form/Tests/Unit/Mvc/Validation/FileSizeValidatorTest.php
index 2ce79cf1cf6a..37da2f77afee 100644
--- a/typo3/sysext/form/Tests/Unit/Mvc/Validation/FileSizeValidatorTest.php
+++ b/typo3/sysext/form/Tests/Unit/Mvc/Validation/FileSizeValidatorTest.php
@@ -24,6 +24,10 @@ use TYPO3\CMS\Form\Mvc\Validation\FileSizeValidator;
  */
 class FileSizeValidatorTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
 
     /**
      * @test
diff --git a/typo3/sysext/form/Tests/Unit/Mvc/Validation/MimeTypeValidatorTest.php b/typo3/sysext/form/Tests/Unit/Mvc/Validation/MimeTypeValidatorTest.php
index 0f11cec516e3..6ee00629715e 100644
--- a/typo3/sysext/form/Tests/Unit/Mvc/Validation/MimeTypeValidatorTest.php
+++ b/typo3/sysext/form/Tests/Unit/Mvc/Validation/MimeTypeValidatorTest.php
@@ -24,6 +24,10 @@ use TYPO3\CMS\Form\Mvc\Validation\MimeTypeValidator;
  */
 class MimeTypeValidatorTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
 
     /**
      * @test
diff --git a/typo3/sysext/form/Tests/Unit/Service/TranslationServiceTest.php b/typo3/sysext/form/Tests/Unit/Service/TranslationServiceTest.php
index 2077cedea805..07f7bdeebd75 100644
--- a/typo3/sysext/form/Tests/Unit/Service/TranslationServiceTest.php
+++ b/typo3/sysext/form/Tests/Unit/Service/TranslationServiceTest.php
@@ -30,6 +30,10 @@ use TYPO3\CMS\Form\Service\TranslationService;
  */
 class TranslationServiceTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
 
     /**
      * @var array A backup of registered singleton instances
diff --git a/typo3/sysext/frontend/Tests/Unit/Authentication/FrontendUserAuthenticationTest.php b/typo3/sysext/frontend/Tests/Unit/Authentication/FrontendUserAuthenticationTest.php
index f5f44f807fd4..87e81f290c6b 100644
--- a/typo3/sysext/frontend/Tests/Unit/Authentication/FrontendUserAuthenticationTest.php
+++ b/typo3/sysext/frontend/Tests/Unit/Authentication/FrontendUserAuthenticationTest.php
@@ -38,6 +38,11 @@ use TYPO3\TestingFramework\Core\Unit\UnitTestCase;
  */
 class FrontendUserAuthenticationTest extends UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @var array A backup of registered singleton instances
      */
diff --git a/typo3/sysext/frontend/Tests/Unit/Configuration/TypoScript/ConditionMatching/ConditionMatcherTest.php b/typo3/sysext/frontend/Tests/Unit/Configuration/TypoScript/ConditionMatching/ConditionMatcherTest.php
index db932da00074..8a1e0f88c0d2 100644
--- a/typo3/sysext/frontend/Tests/Unit/Configuration/TypoScript/ConditionMatching/ConditionMatcherTest.php
+++ b/typo3/sysext/frontend/Tests/Unit/Configuration/TypoScript/ConditionMatching/ConditionMatcherTest.php
@@ -26,6 +26,11 @@ use TYPO3\CMS\Frontend\Tests\Unit\Configuration\TypoScript\ConditionMatching\Fix
  */
 class ConditionMatcherTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @var string Name of a key in $GLOBALS for this test
      */
diff --git a/typo3/sysext/frontend/Tests/Unit/ContentObject/CaseContentObjectTest.php b/typo3/sysext/frontend/Tests/Unit/ContentObject/CaseContentObjectTest.php
index caa7c8d47a33..b33cb768ed29 100644
--- a/typo3/sysext/frontend/Tests/Unit/ContentObject/CaseContentObjectTest.php
+++ b/typo3/sysext/frontend/Tests/Unit/ContentObject/CaseContentObjectTest.php
@@ -25,6 +25,11 @@ use TYPO3\CMS\Frontend\Page\PageRepository;
  */
 class CaseContentObjectTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @var CaseContentObject|\PHPUnit_Framework_MockObject_MockObject
      */
diff --git a/typo3/sysext/frontend/Tests/Unit/ContentObject/ContentObjectRendererTest.php b/typo3/sysext/frontend/Tests/Unit/ContentObject/ContentObjectRendererTest.php
index 55b969ba4e81..f040b7639983 100644
--- a/typo3/sysext/frontend/Tests/Unit/ContentObject/ContentObjectRendererTest.php
+++ b/typo3/sysext/frontend/Tests/Unit/ContentObject/ContentObjectRendererTest.php
@@ -62,6 +62,10 @@ use TYPO3\CMS\Frontend\Page\PageRepository;
  */
 class ContentObjectRendererTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
 
     /**
      * @var array A backup of registered singleton instances
diff --git a/typo3/sysext/frontend/Tests/Unit/ContentObject/FilesContentObjectTest.php b/typo3/sysext/frontend/Tests/Unit/ContentObject/FilesContentObjectTest.php
index 04f062146a40..c05ab876a681 100644
--- a/typo3/sysext/frontend/Tests/Unit/ContentObject/FilesContentObjectTest.php
+++ b/typo3/sysext/frontend/Tests/Unit/ContentObject/FilesContentObjectTest.php
@@ -32,6 +32,11 @@ use TYPO3\CMS\Frontend\Resource\FileCollector;
  */
 class FilesContentObjectTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @var \TYPO3\CMS\Frontend\ContentObject\FilesContentObject|\PHPUnit_Framework_MockObject_MockObject
      */
diff --git a/typo3/sysext/frontend/Tests/Unit/ContentObject/FluidTemplateContentObjectTest.php b/typo3/sysext/frontend/Tests/Unit/ContentObject/FluidTemplateContentObjectTest.php
index b4e4ac720b86..85d0c75f826f 100644
--- a/typo3/sysext/frontend/Tests/Unit/ContentObject/FluidTemplateContentObjectTest.php
+++ b/typo3/sysext/frontend/Tests/Unit/ContentObject/FluidTemplateContentObjectTest.php
@@ -28,6 +28,11 @@ use TYPO3Fluid\Fluid\View\TemplateView;
  */
 class FluidTemplateContentObjectTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @var array A backup of registered singleton instances
      */
diff --git a/typo3/sysext/frontend/Tests/Unit/ContentObject/Menu/AbstractMenuContentObjectTest.php b/typo3/sysext/frontend/Tests/Unit/ContentObject/Menu/AbstractMenuContentObjectTest.php
index 9cf1321c4553..c2d633c74937 100644
--- a/typo3/sysext/frontend/Tests/Unit/ContentObject/Menu/AbstractMenuContentObjectTest.php
+++ b/typo3/sysext/frontend/Tests/Unit/ContentObject/Menu/AbstractMenuContentObjectTest.php
@@ -28,6 +28,11 @@ use TYPO3\CMS\Frontend\ContentObject\Menu\AbstractMenuContentObject;
  */
 class AbstractMenuContentObjectTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @var array
      */
diff --git a/typo3/sysext/frontend/Tests/Unit/Controller/TypoScriptFrontendControllerTest.php b/typo3/sysext/frontend/Tests/Unit/Controller/TypoScriptFrontendControllerTest.php
index 250019f06b7f..65d2fc022b77 100644
--- a/typo3/sysext/frontend/Tests/Unit/Controller/TypoScriptFrontendControllerTest.php
+++ b/typo3/sysext/frontend/Tests/Unit/Controller/TypoScriptFrontendControllerTest.php
@@ -24,6 +24,11 @@ use TYPO3\CMS\Frontend\Page\PageRepository;
  */
 class TypoScriptFrontendControllerTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @var \PHPUnit_Framework_MockObject_MockObject|\TYPO3\TestingFramework\Core\AccessibleObjectInterface|TypoScriptFrontendController
      */
diff --git a/typo3/sysext/frontend/Tests/Unit/Page/CacheHashCalculatorTest.php b/typo3/sysext/frontend/Tests/Unit/Page/CacheHashCalculatorTest.php
index 2f00569569f0..efdba66a0e7d 100644
--- a/typo3/sysext/frontend/Tests/Unit/Page/CacheHashCalculatorTest.php
+++ b/typo3/sysext/frontend/Tests/Unit/Page/CacheHashCalculatorTest.php
@@ -19,6 +19,11 @@ namespace TYPO3\CMS\Frontend\Tests\Unit\Page;
  */
 class CacheHashCalculatorTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @var \TYPO3\CMS\Frontend\Page\CacheHashCalculator
      */
diff --git a/typo3/sysext/frontend/Tests/Unit/Page/PageGeneratorTest.php b/typo3/sysext/frontend/Tests/Unit/Page/PageGeneratorTest.php
index 9d3605d69112..9502b1c50bb0 100644
--- a/typo3/sysext/frontend/Tests/Unit/Page/PageGeneratorTest.php
+++ b/typo3/sysext/frontend/Tests/Unit/Page/PageGeneratorTest.php
@@ -27,6 +27,11 @@ use TYPO3\CMS\Frontend\Page\PageGenerator;
  */
 class PageGeneratorTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @var array A backup of registered singleton instances
      */
diff --git a/typo3/sysext/frontend/Tests/Unit/Page/PageRepositoryTest.php b/typo3/sysext/frontend/Tests/Unit/Page/PageRepositoryTest.php
index ec63f488a799..1fcd024b142e 100644
--- a/typo3/sysext/frontend/Tests/Unit/Page/PageRepositoryTest.php
+++ b/typo3/sysext/frontend/Tests/Unit/Page/PageRepositoryTest.php
@@ -19,6 +19,11 @@ namespace TYPO3\CMS\Frontend\Tests\Unit\Page;
  */
 class PageRepositoryTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @var \TYPO3\CMS\Frontend\Page\PageRepository|\TYPO3\TestingFramework\Core\AccessibleObjectInterface
      */
diff --git a/typo3/sysext/frontend/Tests/Unit/Plugin/AbstractPluginTest.php b/typo3/sysext/frontend/Tests/Unit/Plugin/AbstractPluginTest.php
index cfeae7497fff..d3202f235833 100644
--- a/typo3/sysext/frontend/Tests/Unit/Plugin/AbstractPluginTest.php
+++ b/typo3/sysext/frontend/Tests/Unit/Plugin/AbstractPluginTest.php
@@ -24,6 +24,11 @@ use TYPO3\CMS\Frontend\Tests\Unit\Fixtures\ResultBrowserPluginHook;
  */
 class AbstractPluginTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @var AbstractPlugin
      */
diff --git a/typo3/sysext/frontend/Tests/Unit/Processor/GalleryProcessorTest.php b/typo3/sysext/frontend/Tests/Unit/Processor/GalleryProcessorTest.php
index 82a8e0f2b849..c854df85c6d6 100644
--- a/typo3/sysext/frontend/Tests/Unit/Processor/GalleryProcessorTest.php
+++ b/typo3/sysext/frontend/Tests/Unit/Processor/GalleryProcessorTest.php
@@ -23,6 +23,11 @@ use TYPO3\CMS\Frontend\DataProcessing\GalleryProcessor;
  */
 class GalleryProcessorTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @var ContentObjectRenderer|\PHPUnit_Framework_MockObject_MockObject
      */
diff --git a/typo3/sysext/frontend/Tests/Unit/Typolink/AbstractTypolinkBuilderTest.php b/typo3/sysext/frontend/Tests/Unit/Typolink/AbstractTypolinkBuilderTest.php
index 003034cda5ff..3d5b589ea1df 100644
--- a/typo3/sysext/frontend/Tests/Unit/Typolink/AbstractTypolinkBuilderTest.php
+++ b/typo3/sysext/frontend/Tests/Unit/Typolink/AbstractTypolinkBuilderTest.php
@@ -29,6 +29,11 @@ use TYPO3\TestingFramework\Core\Unit\UnitTestCase;
  */
 class AbstractTypolinkBuilderTest extends UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @var array A backup of registered singleton instances
      */
diff --git a/typo3/sysext/frontend/Tests/Unit/View/AdminPanelViewTest.php b/typo3/sysext/frontend/Tests/Unit/View/AdminPanelViewTest.php
index 36f498fe7efa..af796889c1f7 100644
--- a/typo3/sysext/frontend/Tests/Unit/View/AdminPanelViewTest.php
+++ b/typo3/sysext/frontend/Tests/Unit/View/AdminPanelViewTest.php
@@ -22,6 +22,11 @@ use TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController;
  */
 class AdminPanelViewTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * Set up
      */
diff --git a/typo3/sysext/indexed_search/Tests/Unit/IndexerTest.php b/typo3/sysext/indexed_search/Tests/Unit/IndexerTest.php
index 0bb7db0e6b7f..e2a461d32340 100644
--- a/typo3/sysext/indexed_search/Tests/Unit/IndexerTest.php
+++ b/typo3/sysext/indexed_search/Tests/Unit/IndexerTest.php
@@ -19,6 +19,11 @@ namespace TYPO3\CMS\IndexedSearch\Tests\Unit;
  */
 class IndexerTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * Indexer instance
      *
diff --git a/typo3/sysext/install/Classes/Controller/UpgradeController.php b/typo3/sysext/install/Classes/Controller/UpgradeController.php
index 8af39ea4c2f1..af59fe5fcacf 100644
--- a/typo3/sysext/install/Classes/Controller/UpgradeController.php
+++ b/typo3/sysext/install/Classes/Controller/UpgradeController.php
@@ -51,6 +51,7 @@ use TYPO3\CMS\Install\ExtensionScanner\Php\Matcher\MethodArgumentUnusedMatcher;
 use TYPO3\CMS\Install\ExtensionScanner\Php\Matcher\MethodCallMatcher;
 use TYPO3\CMS\Install\ExtensionScanner\Php\Matcher\MethodCallStaticMatcher;
 use TYPO3\CMS\Install\ExtensionScanner\Php\Matcher\PropertyAnnotationMatcher;
+use TYPO3\CMS\Install\ExtensionScanner\Php\Matcher\PropertyExistsStaticMatcher;
 use TYPO3\CMS\Install\ExtensionScanner\Php\Matcher\PropertyProtectedMatcher;
 use TYPO3\CMS\Install\ExtensionScanner\Php\Matcher\PropertyPublicMatcher;
 use TYPO3\CMS\Install\ExtensionScanner\Php\MatcherFactory;
@@ -146,6 +147,10 @@ class UpgradeController extends AbstractController
             'class' => MethodCallStaticMatcher::class,
             'configurationFile' => 'EXT:install/Configuration/ExtensionScanner/Php/MethodCallStaticMatcher.php',
         ],
+        [
+            'class' => PropertyExistsStaticMatcher::class,
+            'configurationFile' => 'EXT:install/Configuration/ExtensionScanner/Php/PropertyExistsStaticMatcher.php'
+        ],
         [
             'class' => PropertyProtectedMatcher::class,
             'configurationFile' => 'EXT:install/Configuration/ExtensionScanner/Php/PropertyProtectedMatcher.php',
diff --git a/typo3/sysext/install/Classes/ExtensionScanner/Php/Matcher/PropertyExistsStaticMatcher.php b/typo3/sysext/install/Classes/ExtensionScanner/Php/Matcher/PropertyExistsStaticMatcher.php
new file mode 100644
index 000000000000..b614a455ddce
--- /dev/null
+++ b/typo3/sysext/install/Classes/ExtensionScanner/Php/Matcher/PropertyExistsStaticMatcher.php
@@ -0,0 +1,62 @@
+<?php
+declare(strict_types = 1);
+namespace TYPO3\CMS\Install\ExtensionScanner\Php\Matcher;
+
+/*
+ * This file is part of the TYPO3 CMS project.
+ *
+ * It is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU General Public License, either version 2
+ * of the License, or any later version.
+ *
+ * For the full copyright and license information, please read the
+ * LICENSE.txt file that was distributed with this source code.
+ *
+ * The TYPO3 project - inspiring people to share!
+ */
+
+use PhpParser\Node;
+use PhpParser\Node\Stmt\Property;
+
+/**
+ * Find usages of properties which have been deprecated or removed.
+ * Useful if abstract classes remove properties.
+ */
+class PropertyExistsStaticMatcher extends AbstractCoreMatcher
+{
+    /**
+     * Validate config and prepare flat mach array
+     *
+     * @param array $matcherDefinitions Incoming main configuration
+     */
+    public function __construct(array $matcherDefinitions)
+    {
+        $this->matcherDefinitions = $matcherDefinitions;
+        $this->validateMatcherDefinitions();
+    }
+
+    /**
+     * Called by PhpParser.
+     *
+     * @param Node $node
+     */
+    public function enterNode(Node $node)
+    {
+        if (!$this->isFileIgnored($node)
+            && !$this->isLineIgnored($node)
+            && $node instanceof Property
+            && $node->isStatic()
+            && !$node->isPrivate()
+            && in_array($node->props[0]->name, array_keys($this->matcherDefinitions), true)
+        ) {
+            $propertyName = $node->props[0]->name;
+            $match = [
+                'restFiles' => $this->matcherDefinitions[$propertyName]['restFiles'],
+                'line' => $node->getAttribute('startLine'),
+                'message' => 'Use of property "' . $node->props[0]->name . '"',
+                'indicator' => 'weak',
+            ];
+            $this->matches[] = $match;
+        }
+    }
+}
diff --git a/typo3/sysext/install/Configuration/ExtensionScanner/Php/PropertyExistsStaticMatcher.php b/typo3/sysext/install/Configuration/ExtensionScanner/Php/PropertyExistsStaticMatcher.php
new file mode 100644
index 000000000000..74a5cd5e3430
--- /dev/null
+++ b/typo3/sysext/install/Configuration/ExtensionScanner/Php/PropertyExistsStaticMatcher.php
@@ -0,0 +1,9 @@
+<?php
+return [
+    // Properties changed from public to protected
+    'suppressNotices' => [
+        'restFiles' => [
+            'Breaking-83889-E_NOTICEFreeUnitTesting.rst',
+        ],
+    ],
+];
diff --git a/typo3/sysext/install/Tests/Unit/ExtensionScanner/Php/Matcher/AbstractCoreMatcherTest.php b/typo3/sysext/install/Tests/Unit/ExtensionScanner/Php/Matcher/AbstractCoreMatcherTest.php
index ee7d670bc8ce..f7e8cdcb6afc 100644
--- a/typo3/sysext/install/Tests/Unit/ExtensionScanner/Php/Matcher/AbstractCoreMatcherTest.php
+++ b/typo3/sysext/install/Tests/Unit/ExtensionScanner/Php/Matcher/AbstractCoreMatcherTest.php
@@ -23,6 +23,11 @@ use TYPO3\TestingFramework\Core\Unit\UnitTestCase;
  */
 class AbstractCoreMatcherTest extends UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @test
      */
diff --git a/typo3/sysext/install/Tests/Unit/ExtensionScanner/Php/Matcher/ArrayDimensionMatcherTest.php b/typo3/sysext/install/Tests/Unit/ExtensionScanner/Php/Matcher/ArrayDimensionMatcherTest.php
index 7ba3bbaa125b..7643bfad13d6 100644
--- a/typo3/sysext/install/Tests/Unit/ExtensionScanner/Php/Matcher/ArrayDimensionMatcherTest.php
+++ b/typo3/sysext/install/Tests/Unit/ExtensionScanner/Php/Matcher/ArrayDimensionMatcherTest.php
@@ -26,6 +26,11 @@ use TYPO3\TestingFramework\Core\Unit\UnitTestCase;
  */
 class ArrayDimensionMatcherTest extends UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @test
      */
diff --git a/typo3/sysext/install/Tests/Unit/ExtensionScanner/Php/Matcher/Fixtures/PropertyExistsStaticMatcherFixture.php b/typo3/sysext/install/Tests/Unit/ExtensionScanner/Php/Matcher/Fixtures/PropertyExistsStaticMatcherFixture.php
new file mode 100644
index 000000000000..d93e244c36e1
--- /dev/null
+++ b/typo3/sysext/install/Tests/Unit/ExtensionScanner/Php/Matcher/Fixtures/PropertyExistsStaticMatcherFixture.php
@@ -0,0 +1,65 @@
+<?php
+declare(strict_types = 1);
+namespace TYPO3\CMS\Install\Tests\Unit\ExtensionScanner\Php\Matcher\Fixtures;
+
+/*
+ * This file is part of the TYPO3 CMS project.
+ *
+ * It is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU General Public License, either version 2
+ * of the License, or any later version.
+ *
+ * For the full copyright and license information, please read the
+ * LICENSE.txt file that was distributed with this source code.
+ *
+ * The TYPO3 project - inspiring people to share!
+ */
+
+/**
+ * Fixture file
+ */
+class PropertyExistsStaticMatcherFixture1
+{
+    protected static $iAmAMatch = 42;
+
+    protected static $iAmNotAMatch;
+
+    public static $iAmNotAMatchEither;
+
+    private static $iAmNoMatchToo;
+}
+
+class PropertyExistsStaticMatcherFixture2
+{
+    public static $iAmAMatch;
+}
+
+class PropertyExistsStaticMatcherFixture3
+{
+    // Not a match: private
+    private static $iAmAMatch;
+}
+
+class PropertyExistsStaticMatcherFixture4
+{
+    // Not a match: suppressed
+    // @extensionScannerIgnoreLine
+    public static $iAmAMatch;
+}
+
+class PropertyExistsStaticMatcherFixture5
+{
+    /**
+     * Not a match: suppressed
+     *
+     * @extensionScannerIgnoreLine
+     * @var string|null
+     */
+    public static $iAmAMatch;
+}
+
+class PropertyExistsStaticMatcherFixture6
+{
+    // Not a match: Not static
+    public $iAmAMatch;
+}
diff --git a/typo3/sysext/install/Tests/Unit/ExtensionScanner/Php/Matcher/MethodArgumentDroppedMatcherTest.php b/typo3/sysext/install/Tests/Unit/ExtensionScanner/Php/Matcher/MethodArgumentDroppedMatcherTest.php
index ca2241f0aea9..f682b72bb42f 100644
--- a/typo3/sysext/install/Tests/Unit/ExtensionScanner/Php/Matcher/MethodArgumentDroppedMatcherTest.php
+++ b/typo3/sysext/install/Tests/Unit/ExtensionScanner/Php/Matcher/MethodArgumentDroppedMatcherTest.php
@@ -26,6 +26,11 @@ use TYPO3\TestingFramework\Core\Unit\UnitTestCase;
  */
 class MethodArgumentDroppedMatcherTest extends UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @test
      */
diff --git a/typo3/sysext/install/Tests/Unit/ExtensionScanner/Php/Matcher/MethodArgumentDroppedStaticMatcherTest.php b/typo3/sysext/install/Tests/Unit/ExtensionScanner/Php/Matcher/MethodArgumentDroppedStaticMatcherTest.php
index 0cf030904c62..3262cdb176c1 100644
--- a/typo3/sysext/install/Tests/Unit/ExtensionScanner/Php/Matcher/MethodArgumentDroppedStaticMatcherTest.php
+++ b/typo3/sysext/install/Tests/Unit/ExtensionScanner/Php/Matcher/MethodArgumentDroppedStaticMatcherTest.php
@@ -26,6 +26,11 @@ use TYPO3\TestingFramework\Core\Unit\UnitTestCase;
  */
 class MethodArgumentDroppedStaticMatcherTest extends UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @test
      */
diff --git a/typo3/sysext/install/Tests/Unit/ExtensionScanner/Php/Matcher/MethodArgumentRequiredMatcherTest.php b/typo3/sysext/install/Tests/Unit/ExtensionScanner/Php/Matcher/MethodArgumentRequiredMatcherTest.php
index e35611eeba38..e14ef040cef7 100644
--- a/typo3/sysext/install/Tests/Unit/ExtensionScanner/Php/Matcher/MethodArgumentRequiredMatcherTest.php
+++ b/typo3/sysext/install/Tests/Unit/ExtensionScanner/Php/Matcher/MethodArgumentRequiredMatcherTest.php
@@ -26,6 +26,11 @@ use TYPO3\TestingFramework\Core\Unit\UnitTestCase;
  */
 class MethodArgumentRequiredMatcherTest extends UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @test
      */
diff --git a/typo3/sysext/install/Tests/Unit/ExtensionScanner/Php/Matcher/MethodArgumentRequiredStaticMatcherTest.php b/typo3/sysext/install/Tests/Unit/ExtensionScanner/Php/Matcher/MethodArgumentRequiredStaticMatcherTest.php
index aaa282455274..aa0c8e2351d4 100644
--- a/typo3/sysext/install/Tests/Unit/ExtensionScanner/Php/Matcher/MethodArgumentRequiredStaticMatcherTest.php
+++ b/typo3/sysext/install/Tests/Unit/ExtensionScanner/Php/Matcher/MethodArgumentRequiredStaticMatcherTest.php
@@ -26,6 +26,11 @@ use TYPO3\TestingFramework\Core\Unit\UnitTestCase;
  */
 class MethodArgumentRequiredStaticMatcherTest extends UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @test
      */
diff --git a/typo3/sysext/install/Tests/Unit/ExtensionScanner/Php/Matcher/MethodArgumentUnusedMatcherTest.php b/typo3/sysext/install/Tests/Unit/ExtensionScanner/Php/Matcher/MethodArgumentUnusedMatcherTest.php
index 53941487b014..ddbcbe2c9166 100644
--- a/typo3/sysext/install/Tests/Unit/ExtensionScanner/Php/Matcher/MethodArgumentUnusedMatcherTest.php
+++ b/typo3/sysext/install/Tests/Unit/ExtensionScanner/Php/Matcher/MethodArgumentUnusedMatcherTest.php
@@ -26,6 +26,11 @@ use TYPO3\TestingFramework\Core\Unit\UnitTestCase;
  */
 class MethodArgumentUnusedMatcherTest extends UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @test
      */
diff --git a/typo3/sysext/install/Tests/Unit/ExtensionScanner/Php/Matcher/MethodCallMatcherTest.php b/typo3/sysext/install/Tests/Unit/ExtensionScanner/Php/Matcher/MethodCallMatcherTest.php
index baa9f61dae30..f4e69f0e121e 100644
--- a/typo3/sysext/install/Tests/Unit/ExtensionScanner/Php/Matcher/MethodCallMatcherTest.php
+++ b/typo3/sysext/install/Tests/Unit/ExtensionScanner/Php/Matcher/MethodCallMatcherTest.php
@@ -26,6 +26,11 @@ use TYPO3\TestingFramework\Core\Unit\UnitTestCase;
  */
 class MethodCallMatcherTest extends UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @test
      */
diff --git a/typo3/sysext/install/Tests/Unit/ExtensionScanner/Php/Matcher/MethodCallStaticMatcherTest.php b/typo3/sysext/install/Tests/Unit/ExtensionScanner/Php/Matcher/MethodCallStaticMatcherTest.php
index 9e946a97e732..64d4c3e86efb 100644
--- a/typo3/sysext/install/Tests/Unit/ExtensionScanner/Php/Matcher/MethodCallStaticMatcherTest.php
+++ b/typo3/sysext/install/Tests/Unit/ExtensionScanner/Php/Matcher/MethodCallStaticMatcherTest.php
@@ -27,6 +27,11 @@ use TYPO3\TestingFramework\Core\Unit\UnitTestCase;
  */
 class MethodCallStaticMatcherTest extends UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @test
      */
diff --git a/typo3/sysext/install/Tests/Unit/ExtensionScanner/Php/Matcher/PropertyExistsStaticMatcherTest.php b/typo3/sysext/install/Tests/Unit/ExtensionScanner/Php/Matcher/PropertyExistsStaticMatcherTest.php
new file mode 100644
index 000000000000..7c69f3692b66
--- /dev/null
+++ b/typo3/sysext/install/Tests/Unit/ExtensionScanner/Php/Matcher/PropertyExistsStaticMatcherTest.php
@@ -0,0 +1,61 @@
+<?php
+declare(strict_types = 1);
+namespace TYPO3\CMS\Install\Tests\Unit\ExtensionScanner\Php\Matcher;
+
+/*
+ * This file is part of the TYPO3 CMS project.
+ *
+ * It is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU General Public License, either version 2
+ * of the License, or any later version.
+ *
+ * For the full copyright and license information, please read the
+ * LICENSE.txt file that was distributed with this source code.
+ *
+ * The TYPO3 project - inspiring people to share!
+ */
+
+use PhpParser\NodeTraverser;
+use PhpParser\NodeVisitor\NameResolver;
+use PhpParser\ParserFactory;
+use TYPO3\CMS\Install\ExtensionScanner\Php\Matcher\PropertyExistsStaticMatcher;
+use TYPO3\TestingFramework\Core\Unit\UnitTestCase;
+
+/**
+ * Test case
+ */
+class PropertyExistsStaticMatcherTest extends UnitTestCase
+{
+    /**
+     * @test
+     */
+    public function hitsFromFixtureAreFound()
+    {
+        $parser = (new ParserFactory())->create(ParserFactory::PREFER_PHP7);
+        $fixtureFile = __DIR__ . '/Fixtures/PropertyExistsStaticMatcherFixture.php';
+        $statements = $parser->parse(file_get_contents($fixtureFile));
+
+        $traverser = new NodeTraverser();
+        $traverser->addVisitor(new NameResolver());
+
+        $configuration = [
+            'iAmAMatch' => [
+                'restFiles' => [
+                    'Breaking-12345-DeprecateFoo.rst',
+                ],
+            ],
+        ];
+        $subject = new PropertyExistsStaticMatcher($configuration);
+        $traverser->addVisitor($subject);
+        $traverser->traverse($statements);
+        $expectedHitLineNumbers = [
+            23,
+            34,
+        ];
+        $actualHitLineNumbers = [];
+        foreach ($subject->getMatches() as $hit) {
+            $actualHitLineNumbers[] = $hit['line'];
+        }
+        $this->assertEquals($expectedHitLineNumbers, $actualHitLineNumbers);
+    }
+}
diff --git a/typo3/sysext/install/Tests/Unit/FolderStructure/AbstractNodeTest.php b/typo3/sysext/install/Tests/Unit/FolderStructure/AbstractNodeTest.php
index af7ce6961255..22c5399a74ce 100644
--- a/typo3/sysext/install/Tests/Unit/FolderStructure/AbstractNodeTest.php
+++ b/typo3/sysext/install/Tests/Unit/FolderStructure/AbstractNodeTest.php
@@ -26,6 +26,11 @@ use TYPO3\TestingFramework\Core\AccessibleObjectInterface;
  */
 class AbstractNodeTest extends FolderStructureTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @test
      */
diff --git a/typo3/sysext/install/Tests/Unit/FolderStructure/DirectoryNodeTest.php b/typo3/sysext/install/Tests/Unit/FolderStructure/DirectoryNodeTest.php
index b163ac6cfaa7..23359866588f 100644
--- a/typo3/sysext/install/Tests/Unit/FolderStructure/DirectoryNodeTest.php
+++ b/typo3/sysext/install/Tests/Unit/FolderStructure/DirectoryNodeTest.php
@@ -28,6 +28,11 @@ use TYPO3\TestingFramework\Core\AccessibleObjectInterface;
  */
 class DirectoryNodeTest extends FolderStructureTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @test
      */
diff --git a/typo3/sysext/install/Tests/Unit/FolderStructure/FileNodeTest.php b/typo3/sysext/install/Tests/Unit/FolderStructure/FileNodeTest.php
index b1a2f70b7498..9b633d5b5ed9 100644
--- a/typo3/sysext/install/Tests/Unit/FolderStructure/FileNodeTest.php
+++ b/typo3/sysext/install/Tests/Unit/FolderStructure/FileNodeTest.php
@@ -26,6 +26,11 @@ use TYPO3\TestingFramework\Core\AccessibleObjectInterface;
  */
 class FileNodeTest extends FolderStructureTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @test
      */
diff --git a/typo3/sysext/install/Tests/Unit/FolderStructure/LinkNodeTest.php b/typo3/sysext/install/Tests/Unit/FolderStructure/LinkNodeTest.php
index 2f9869661d81..e50aca6e0d19 100644
--- a/typo3/sysext/install/Tests/Unit/FolderStructure/LinkNodeTest.php
+++ b/typo3/sysext/install/Tests/Unit/FolderStructure/LinkNodeTest.php
@@ -25,6 +25,11 @@ use TYPO3\TestingFramework\Core\Unit\UnitTestCase;
  */
 class LinkNodeTest extends UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @test
      */
diff --git a/typo3/sysext/install/Tests/Unit/Service/SilentConfigurationUpgradeServiceTest.php b/typo3/sysext/install/Tests/Unit/Service/SilentConfigurationUpgradeServiceTest.php
index 6c2530e7af25..18769c07d403 100644
--- a/typo3/sysext/install/Tests/Unit/Service/SilentConfigurationUpgradeServiceTest.php
+++ b/typo3/sysext/install/Tests/Unit/Service/SilentConfigurationUpgradeServiceTest.php
@@ -28,6 +28,11 @@ use TYPO3\CMS\Install\Service\SilentConfigurationUpgradeService;
  */
 class SilentConfigurationUpgradeServiceTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @var ConfigurationManager|\PHPUnit_Framework_MockObject_MockObject
      */
diff --git a/typo3/sysext/install/Tests/Unit/Updates/RowUpdater/L10nModeUpdaterTest.php b/typo3/sysext/install/Tests/Unit/Updates/RowUpdater/L10nModeUpdaterTest.php
index fc6b01a625a7..d72ee363f4cc 100644
--- a/typo3/sysext/install/Tests/Unit/Updates/RowUpdater/L10nModeUpdaterTest.php
+++ b/typo3/sysext/install/Tests/Unit/Updates/RowUpdater/L10nModeUpdaterTest.php
@@ -28,6 +28,11 @@ use TYPO3\CMS\Install\Updates\RowUpdater\L10nModeUpdater;
  */
 class L10nModeUpdaterTest extends BaseTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @test
      */
diff --git a/typo3/sysext/recordlist/Tests/UnitDeprecated/RecordList/AbstractDatabaseRecordListTest.php b/typo3/sysext/recordlist/Tests/UnitDeprecated/RecordList/AbstractDatabaseRecordListTest.php
index d41edf723773..61eb0007687d 100644
--- a/typo3/sysext/recordlist/Tests/UnitDeprecated/RecordList/AbstractDatabaseRecordListTest.php
+++ b/typo3/sysext/recordlist/Tests/UnitDeprecated/RecordList/AbstractDatabaseRecordListTest.php
@@ -21,6 +21,11 @@ use TYPO3\CMS\Recordlist\RecordList\AbstractDatabaseRecordList;
  */
 class AbstractDatabaseRecordListTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @test
      * @dataProvider setTableDisplayOrderConvertsStringsDataProvider
diff --git a/typo3/sysext/redirects/Tests/Unit/Service/RedirectServiceTest.php b/typo3/sysext/redirects/Tests/Unit/Service/RedirectServiceTest.php
index 48a58d39eb95..7d2621017c64 100644
--- a/typo3/sysext/redirects/Tests/Unit/Service/RedirectServiceTest.php
+++ b/typo3/sysext/redirects/Tests/Unit/Service/RedirectServiceTest.php
@@ -30,6 +30,11 @@ use TYPO3\TestingFramework\Core\Unit\UnitTestCase;
 
 class RedirectServiceTest extends UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @var RedirectCacheService|ObjectProphecy
      */
diff --git a/typo3/sysext/rsaauth/Tests/Unit/Backend/CommandLineBackendTest.php b/typo3/sysext/rsaauth/Tests/Unit/Backend/CommandLineBackendTest.php
index a6231c8b0a5f..e1bad6f90a41 100644
--- a/typo3/sysext/rsaauth/Tests/Unit/Backend/CommandLineBackendTest.php
+++ b/typo3/sysext/rsaauth/Tests/Unit/Backend/CommandLineBackendTest.php
@@ -21,6 +21,11 @@ use TYPO3\CMS\Rsaauth\Backend\CommandLineBackend;
  */
 class CommandLineBackendTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @var CommandLineBackend
      */
diff --git a/typo3/sysext/scheduler/Tests/Unit/CronCommand/NormalizeCommandTest.php b/typo3/sysext/scheduler/Tests/Unit/CronCommand/NormalizeCommandTest.php
index 52dec9ee5b78..066277042375 100644
--- a/typo3/sysext/scheduler/Tests/Unit/CronCommand/NormalizeCommandTest.php
+++ b/typo3/sysext/scheduler/Tests/Unit/CronCommand/NormalizeCommandTest.php
@@ -22,6 +22,11 @@ use TYPO3\CMS\Scheduler\Tests\Unit\CronCommand\AccessibleProxies\NormalizeComman
  */
 class NormalizeCommandTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
+    /**
+     * Subject is not notice free, disable E_NOTICES
+     */
+    protected static $suppressNotices = true;
+
     /**
      * @return array
      */
-- 
GitLab