Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add PhpCodeValidityTest #3310

Closed
wants to merge 2 commits into from
Closed

Conversation

Al2Klimov
Copy link
Member

No description provided.

Copy link
Contributor

@Thomas-Gelf Thomas-Gelf left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As asked in the other pull request, please provide more explanation. What does this in addition to what can be accomplished with phpcs and/or php -l?

@Al2Klimov
Copy link
Member Author

It helped discovering e.g. #3306.

@Al2Klimov
Copy link
Member Author

... and cf85e66

@Thomas-Gelf
Copy link
Contributor

Cool, makes sense. Please try to explain this briefly in the commit message. I'll add some more comments inline.

@Al2Klimov
Copy link
Member Author

@Thomas-Gelf Do you agree w/ me on

  1. this fails only on PHP 5.3
  2. it's a bug in PHP 5.3
  3. It's time for Drop PHP 5.3 support #3213

@Al2Klimov Al2Klimov changed the title [WIP] Add PhpCodeValidityTest Add PhpCodeValidityTest Jan 24, 2018
@Al2Klimov Al2Klimov mentioned this pull request Jan 24, 2018
@Thomas-Gelf
Copy link
Contributor

Please keep discussion related to #3213 on that ticket, I added a comment there. What exactly breaks on 5.3 here in this issue?

@Al2Klimov
Copy link
Member Author

@Thomas-Gelf
Copy link
Contributor

That's a bad one, I've met this friend before 😆. As you probably already figured out it is triggered by a class with the same name existing in the same namespace. It could be fixed by aliasing the import I guess.

@Thomas-Gelf
Copy link
Contributor

(and yes, it's a bug in 5.3)

@Al2Klimov
Copy link
Member Author

Damn. Now I understand... and provide an alternative to #3213: dompdf/php-svg-lib#28

@Thomas-Gelf
Copy link
Contributor

The linked fix looks good to me. I guess use Svg\Gradient\Stop as GradiendStop; would also have fixed this, in case you want to see the full import in the use list.

@Al2Klimov
Copy link
Member Author

Should we patch our shipped version until we update the lib "one nice day" and the change stays the same (but then it comes from upstream)?

@Thomas-Gelf
Copy link
Contributor

Patch it. We should try to avoid doing so, but as we already modified this library before - go for it.

@lippserd lippserd added this to the 2.7.0 milestone Feb 26, 2019
@nilmerg nilmerg self-requested a review May 3, 2019 06:12
Copy link
Member

@nilmerg nilmerg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Having multiple module paths doesn't seem to be supported here 🤔

@Al2Klimov
Copy link
Member Author

Should we? Aren't our components' tests just for our components?

@nilmerg
Copy link
Member

nilmerg commented May 10, 2019

No-one prevents me from setting just my own module path. Then also not only our own components are covered but mine as well. And since setting multiple module paths is generally supported it should be here as well.

At least in my dev environment the tests fail because the audit module is not loaded due to it being installed in a separate path.

@Al2Klimov Al2Klimov self-assigned this May 10, 2019
@Al2Klimov Al2Klimov force-pushed the feature/phpcodevaliditytest branch 4 times, most recently from ea061b6 to f623ef2 Compare May 10, 2019 15:08
@Al2Klimov Al2Klimov force-pushed the feature/phpcodevaliditytest branch 2 times, most recently from 48369c7 to 76c4c06 Compare May 10, 2019 16:00
@Al2Klimov Al2Klimov removed their assignment May 10, 2019
@Al2Klimov Al2Klimov requested a review from nilmerg May 10, 2019 16:00
Copy link
Member

@nilmerg nilmerg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+ require_once '/vagrant/application/clicommands/HelpCommand.php';
+ require_once '/vagrant/application/clicommands/WebCommand.php';
+ require_once '/vagrant/application/clicommands/ModuleCommand.php';
+ require_once '/vagrant/application/clicommands/AutocompleteCommand.php';
+ require_once '/vagrant/application/forms/PreferenceForm.php';
+ require_once '/vagrant/application/forms/ActionForm.php';
+ require_once '/vagrant/application/forms/Security/RoleForm.php';
+ require_once '/vagrant/application/forms/AcknowledgeApplicationStateMessageForm.php';
+ require_once '/vagrant/application/forms/Control/LimiterControlForm.php';
+ require_once '/vagrant/application/forms/LdapDiscoveryForm.php';
+ require_once '/vagrant/application/forms/AutoRefreshForm.php';
+ require_once '/vagrant/application/forms/Dashboard/DashletForm.php';
+ require_once '/vagrant/application/forms/Announcement/AcknowledgeAnnouncementForm.php';
+ require_once '/vagrant/application/forms/Announcement/AnnouncementForm.php';
+ require_once '/vagrant/application/forms/Config/UserBackend/ExternalBackendForm.php';
+ require_once '/vagrant/application/forms/Config/UserBackend/DbBackendForm.php';
+ require_once '/vagrant/application/forms/Config/UserBackend/LdapBackendForm.php';
+ require_once '/vagrant/application/forms/Config/General/ApplicationConfigForm.php';
+ require_once '/vagrant/application/forms/Config/General/LoggingConfigForm.php';
+ require_once '/vagrant/application/forms/Config/General/ThemingConfigForm.php';
+ require_once '/vagrant/application/forms/Config/General/DefaultAuthenticationDomainConfigForm.php';
+ require_once '/vagrant/application/forms/Config/GeneralConfigForm.php';
+ require_once '/vagrant/application/forms/Config/UserBackendConfigForm.php';
+ require_once '/vagrant/application/forms/Config/Resource/SshResourceForm.php';
+ require_once '/vagrant/application/forms/Config/Resource/DbResourceForm.php';
+ require_once '/vagrant/application/forms/Config/Resource/LdapResourceForm.php';
+ require_once '/vagrant/application/forms/Config/Resource/FileResourceForm.php';
+ require_once '/vagrant/application/forms/Config/ResourceConfigForm.php';
+ require_once '/vagrant/application/forms/Config/UserBackendReorderForm.php';
+ require_once '/vagrant/application/forms/Config/UserGroup/LdapUserGroupBackendForm.php';
+ require_once '/vagrant/application/forms/Config/UserGroup/UserGroupBackendForm.php';
+ require_once '/vagrant/application/forms/Config/UserGroup/DbUserGroupBackendForm.php';
+ require_once '/vagrant/application/forms/Config/UserGroup/AddMemberForm.php';
+ require_once '/vagrant/application/forms/Config/UserGroup/UserGroupForm.php';
+ require_once '/vagrant/application/forms/Config/User/UserForm.php';
+ require_once '/vagrant/application/forms/Config/User/CreateMembershipForm.php';
+ require_once '/vagrant/application/forms/Authentication/LoginForm.php';
+ require_once '/vagrant/application/forms/ConfirmRemovalForm.php';
+ require_once '/vagrant/application/forms/Account/ChangePasswordForm.php';
+ require_once '/vagrant/application/forms/Navigation/DashletForm.php';
+ require_once '/vagrant/application/forms/Navigation/MenuItemForm.php';
+ require_once '/vagrant/application/forms/Navigation/NavigationConfigForm.php';
+ require_once '/vagrant/application/forms/Navigation/NavigationItemForm.php';
+ require_once '/vagrant/application/forms/ConfigForm.php';
+ require_once '/vagrant/application/controllers/GroupController.php';
+ require_once '/vagrant/application/controllers/SearchController.php';
+ require_once '/vagrant/application/controllers/NavigationController.php';
+ require_once '/vagrant/application/controllers/IframeController.php';
+ require_once '/vagrant/application/controllers/AccountController.php';
+ require_once '/vagrant/application/controllers/LayoutController.php';
+ require_once '/vagrant/application/controllers/IndexController.php';
+ require_once '/vagrant/application/controllers/UsergroupbackendController.php';
+ require_once '/vagrant/application/controllers/ErrorController.php';
+ require_once '/vagrant/application/controllers/AboutController.php';
+ require_once '/vagrant/application/controllers/ApplicationStateController.php';
+ require_once '/vagrant/application/controllers/AnnouncementsController.php';
+ require_once '/vagrant/application/controllers/AuthenticationController.php';
+ require_once '/vagrant/application/controllers/UserController.php';
+ require_once '/vagrant/application/controllers/RoleController.php';
+ require_once '/vagrant/application/controllers/DashboardController.php';
+ require_once '/vagrant/application/controllers/StaticController.php';
+ require_once '/vagrant/application/controllers/ConfigController.php';
+ require_once '/vagrant/application/controllers/ListController.php';
+ require_once '/vagrant/application/views/helpers/FormNumber.php';
+ require_once '/vagrant/application/views/helpers/FormTime.php';
+ require_once '/vagrant/application/views/helpers/CreateTicketLinks.php';
+ require_once '/vagrant/application/views/helpers/FormDateTime.php';
+ require_once '/vagrant/application/views/helpers/Util.php';
+ require_once '/vagrant/application/views/helpers/FormDate.php';
+ require_once '/vagrant/application/views/helpers/ProtectId.php';
+ require_once '/vagrant/application/views/helpers/FormTriStateCheckbox.php';
+ require_once '/vagrant/library/Icinga/Protocol/Ldap/LdapConnection.php';
+ require_once '/vagrant/library/Icinga/Protocol/Ldap/LdapQuery.php';
+ require_once '/vagrant/library/Icinga/Protocol/Ldap/Node.php';
+ require_once '/vagrant/library/Icinga/Protocol/Ldap/Root.php';
+ require_once '/vagrant/library/Icinga/Protocol/Ldap/Discovery.php';
+ require_once '/vagrant/library/Icinga/Protocol/Ldap/LdapUtils.php';
+ require_once '/vagrant/library/Icinga/Protocol/Ldap/LdapCapabilities.php';
+ require_once '/vagrant/library/Icinga/Protocol/Ldap/LdapException.php';
+ require_once '/vagrant/library/Icinga/Protocol/Nrpe/Packet.php';
+ require_once '/vagrant/library/Icinga/Protocol/Nrpe/Connection.php';
+ require_once '/vagrant/library/Icinga/Protocol/File/LogFileIterator.php';
+ require_once '/vagrant/library/Icinga/Protocol/File/Exception/FileReaderException.php';
+ require_once '/vagrant/library/Icinga/Protocol/File/FileIterator.php';
+ require_once '/vagrant/library/Icinga/Protocol/File/FileQuery.php';
+ require_once '/vagrant/library/Icinga/Protocol/File/FileReader.php';
+ require_once '/vagrant/library/Icinga/Protocol/Dns.php';
+ require_once '/vagrant/library/Icinga/Cli/Screen.php';
+ require_once '/vagrant/library/Icinga/Cli/Params.php';
+ require_once '/vagrant/library/Icinga/Cli/AnsiScreen.php';
+ require_once '/vagrant/library/Icinga/Cli/Loader.php';
+ require_once '/vagrant/library/Icinga/Cli/Documentation/CommentParser.php';
+ require_once '/vagrant/library/Icinga/Cli/Documentation.php';
+ require_once '/vagrant/library/Icinga/Security/SecurityException.php';
+ require_once '/vagrant/library/Icinga/Web/Paginator/Adapter/QueryAdapter.php';
+ require_once '/vagrant/library/Icinga/Web/Paginator/ScrollingStyle/SlidingWithBorder.php';
+ require_once '/vagrant/library/Icinga/Web/Announcement.php';
+ require_once '/vagrant/library/Icinga/Web/Form.php';
+ require_once '/vagrant/library/Icinga/Web/Window.php';
+ require_once '/vagrant/library/Icinga/Web/Response.php';
+ require_once '/vagrant/library/Icinga/Web/Session.php';
+ require_once '/vagrant/library/Icinga/Web/Dom/DomNodeIterator.php';
+ require_once '/vagrant/library/Icinga/Web/Session/SessionNamespace.php';
+ require_once '/vagrant/library/Icinga/Web/Session/PhpSession.php';
+ require_once '/vagrant/library/Icinga/Web/Session/Php72Session.php';
+ require_once '/vagrant/library/Icinga/Web/Helper/CookieHelper.php';
+ require_once '/vagrant/library/Icinga/Web/Helper/HtmlPurifier.php';
+ require_once '/vagrant/library/Icinga/Web/LessCompiler.php';
+ require_once '/vagrant/library/Icinga/Web/StyleSheet.php';
+ require_once '/vagrant/library/Icinga/Web/View.php';
+ require_once '/vagrant/library/Icinga/Web/Hook.php';
+ require_once '/vagrant/library/Icinga/Web/Cookie.php';
+ require_once '/vagrant/library/Icinga/Web/Widget/Tabs.php';
+ require_once '/vagrant/library/Icinga/Web/Widget/Paginator.php';
+ require_once '/vagrant/library/Icinga/Web/Widget/Limiter.php';
+ require_once '/vagrant/library/Icinga/Web/Widget/Tabextension/OutputFormat.php';
+ require_once '/vagrant/library/Icinga/Web/Widget/Tabextension/Tabextension.php';
+ require_once '/vagrant/library/Icinga/Web/Widget/Tabextension/DashboardSettings.php';
+ require_once '/vagrant/library/Icinga/Web/Widget/Tabextension/DashboardAction.php';
+ require_once '/vagrant/library/Icinga/Web/Widget/Tabextension/MenuAction.php';
+ require_once '/vagrant/library/Icinga/Web/Widget/FilterWidget.php';
+ require_once '/vagrant/library/Icinga/Web/Widget/Chart/HistoryColorGrid.php';
+ require_once '/vagrant/library/Icinga/Web/Widget/Chart/InlinePie.php';
+ require_once '/vagrant/library/Icinga/Web/Widget/Announcements.php';
+ require_once '/vagrant/library/Icinga/Web/Widget/ApplicationStateMessages.php';
+ require_once '/vagrant/library/Icinga/Web/Widget/FilterEditor.php';
+ require_once '/vagrant/library/Icinga/Web/Widget/Dashboard/Pane.php';
+ require_once '/vagrant/library/Icinga/Web/Widget/Dashboard/Dashlet.php';
+ require_once '/vagrant/library/Icinga/Web/Widget/Dashboard.php';
+ require_once '/vagrant/library/Icinga/Web/Widget/Tab.php';
+ require_once '/vagrant/library/Icinga/Web/Widget/SortBox.php';
+ require_once '/vagrant/library/Icinga/Web/Widget/SearchDashboard.php';
+ require_once '/vagrant/library/Icinga/Web/Widget/Widget.php';
+ require_once '/vagrant/library/Icinga/Web/Announcement/AnnouncementIniRepository.php';
+ require_once '/vagrant/library/Icinga/Web/Announcement/AnnouncementCookie.php';
+ require_once '/vagrant/library/Icinga/Web/Menu.php';
+ require_once '/vagrant/library/Icinga/Web/JavaScript.php';
+ require_once '/vagrant/library/Icinga/Web/ApplicationStateCookie.php';
+ require_once '/vagrant/library/Icinga/Web/Request.php';
+ require_once '/vagrant/library/Icinga/Web/CookieSet.php';
+ require_once '/vagrant/library/Icinga/Web/Form/Decorator/FormDescriptions.php';
+ require_once '/vagrant/library/Icinga/Web/Form/Decorator/FormHints.php';
+ require_once '/vagrant/library/Icinga/Web/Form/Decorator/Autosubmit.php';
+ require_once '/vagrant/library/Icinga/Web/Form/Decorator/ConditionalHidden.php';
+ require_once '/vagrant/library/Icinga/Web/Form/Decorator/Spinner.php';
+ require_once '/vagrant/library/Icinga/Web/Form/Decorator/ElementDoubler.php';
+ require_once '/vagrant/library/Icinga/Web/Form/Decorator/FormNotifications.php';
+ require_once '/vagrant/library/Icinga/Web/Form/Decorator/Help.php';
+ require_once '/vagrant/library/Icinga/Web/Form/ErrorLabeller.php';
+ require_once '/vagrant/library/Icinga/Web/Form/InvalidCSRFTokenException.php';
+ require_once '/vagrant/library/Icinga/Web/Form/Element/TriStateCheckbox.php';
+ require_once '/vagrant/library/Icinga/Web/Form/Element/DateTimePicker.php';
+ require_once '/vagrant/library/Icinga/Web/Form/Element/Note.php';
+ require_once '/vagrant/library/Icinga/Web/Form/Element/Time.php';
+ require_once '/vagrant/library/Icinga/Web/Form/Element/Number.php';
+ require_once '/vagrant/library/Icinga/Web/Form/Element/CsrfCounterMeasure.php';
+ require_once '/vagrant/library/Icinga/Web/Form/Element/Button.php';
+ require_once '/vagrant/library/Icinga/Web/Form/Element/Date.php';
+ require_once '/vagrant/library/Icinga/Web/Form/Validator/UrlValidator.php';
+ require_once '/vagrant/library/Icinga/Web/Form/Validator/TriStateValidator.php';
+ require_once '/vagrant/library/Icinga/Web/Form/Validator/ReadablePathValidator.php';
+ require_once '/vagrant/library/Icinga/Web/Form/Validator/InternalUrlValidator.php';
+ require_once '/vagrant/library/Icinga/Web/Form/Validator/WritablePathValidator.php';
+ require_once '/vagrant/library/Icinga/Web/Form/Validator/InArray.php';
+ require_once '/vagrant/library/Icinga/Web/Form/Validator/DateFormatValidator.php';
+ require_once '/vagrant/library/Icinga/Web/Form/Validator/TimeFormatValidator.php';
+ require_once '/vagrant/library/Icinga/Web/Form/Validator/DateTimeValidator.php';
+ require_once '/vagrant/library/Icinga/Web/Form/FormElement.php';
+ require_once '/vagrant/library/Icinga/Web/FileCache.php';
+ require_once '/vagrant/library/Icinga/Web/Wizard.php';
+ require_once '/vagrant/library/Icinga/Web/UrlParams.php';
+ require_once '/vagrant/library/Icinga/Web/ViewStream.php';
+ require_once '/vagrant/library/Icinga/Web/Url.php';
+ require_once '/vagrant/library/Icinga/Web/Notification.php';
+ require_once '/vagrant/library/Icinga/Web/Controller.php';
+ require_once '/vagrant/library/Icinga/Web/Widget.php';
+ require_once '/vagrant/library/Icinga/Web/Response/JsonResponse.php';
+ require_once '/vagrant/library/Icinga/Web/Navigation/DropdownItem.php';
+ require_once '/vagrant/library/Icinga/Web/Navigation/NavigationItem.php';
+ require_once '/vagrant/library/Icinga/Web/Navigation/DashboardPane.php';
+ require_once '/vagrant/library/Icinga/Web/Navigation/Renderer/NavigationItemRenderer.php';
+ require_once '/vagrant/library/Icinga/Web/Navigation/Renderer/NavigationRenderer.php';
+ require_once '/vagrant/library/Icinga/Web/Navigation/Renderer/SummaryNavigationItemRenderer.php';
+ require_once '/vagrant/library/Icinga/Web/Navigation/Renderer/RecursiveNavigationRenderer.php';
+ require_once '/vagrant/library/Icinga/Web/Navigation/Renderer/NavigationRendererInterface.php';
+ require_once '/vagrant/library/Icinga/Web/Navigation/Navigation.php';
+ require_once '/vagrant/library/Icinga/Web/Controller/ControllerTabCollector.php';
+ require_once '/vagrant/library/Icinga/Web/Controller/ActionController.php';
+ require_once '/vagrant/library/Icinga/Web/Controller/Dispatcher.php';
+ require_once '/vagrant/library/Icinga/Web/Controller/ModuleActionController.php';
+ require_once '/vagrant/library/Icinga/Web/Controller/AuthBackendController.php';
+ require_once '/vagrant/library/Icinga/Web/Controller/BasePreferenceController.php';
+ require_once '/vagrant/library/Icinga/Chart/Palette.php';
+ require_once '/vagrant/library/Icinga/Chart/Axis.php';
+ require_once '/vagrant/library/Icinga/Chart/Legend.php';
+ require_once '/vagrant/library/Icinga/Chart/Render/Rotator.php';
+ require_once '/vagrant/library/Icinga/Chart/Render/LayoutBox.php';
+ require_once '/vagrant/library/Icinga/Chart/Render/RenderContext.php';
+ require_once '/vagrant/library/Icinga/Chart/GridChart.php';
+ require_once '/vagrant/library/Icinga/Chart/Primitive/Rect.php';
+ require_once '/vagrant/library/Icinga/Chart/Primitive/Drawable.php';
+ require_once '/vagrant/library/Icinga/Chart/Primitive/Line.php';
+ require_once '/vagrant/library/Icinga/Chart/Primitive/Path.php';
+ require_once '/vagrant/library/Icinga/Chart/Primitive/PieSlice.php';
+ require_once '/vagrant/library/Icinga/Chart/Primitive/Canvas.php';
+ require_once '/vagrant/library/Icinga/Chart/Primitive/Animation.php';
+ require_once '/vagrant/library/Icinga/Chart/Primitive/Circle.php';
+ require_once '/vagrant/library/Icinga/Chart/Primitive/Text.php';
+ require_once '/vagrant/library/Icinga/Chart/Primitive/Styleable.php';
+ require_once '/vagrant/library/Icinga/Chart/Primitive/RawElement.php';
+ require_once '/vagrant/library/Icinga/Chart/Graph/StackedGraph.php';
+ require_once '/vagrant/library/Icinga/Chart/Graph/LineGraph.php';
+ require_once '/vagrant/library/Icinga/Chart/Graph/Tooltip.php';
+ require_once '/vagrant/library/Icinga/Chart/Graph/BarGraph.php';
+ require_once '/vagrant/library/Icinga/Chart/Unit/AxisUnit.php';
+ require_once '/vagrant/library/Icinga/Chart/Unit/LogarithmicUnit.php';
+ require_once '/vagrant/library/Icinga/Chart/Unit/LinearUnit.php';
+ require_once '/vagrant/library/Icinga/Chart/Unit/CalendarUnit.php';
+ require_once '/vagrant/library/Icinga/Chart/Unit/StaticAxis.php';
+ require_once '/vagrant/library/Icinga/Chart/Format.php';
+ require_once '/vagrant/library/Icinga/Chart/SVGRenderer.php';
+ require_once '/vagrant/library/Icinga/Chart/Donut.php';
+ require_once '/vagrant/library/Icinga/Chart/Inline/Inline.php';
+ require_once '/vagrant/library/Icinga/Chart/Inline/PieChart.php';
+ require_once '/vagrant/library/Icinga/Chart/PieChart.php';
+ require_once '/vagrant/library/Icinga/Exception/Http/HttpExceptionInterface.php';
+ require_once '/vagrant/library/Icinga/Exception/Http/HttpBadRequestException.php';
+ require_once '/vagrant/library/Icinga/Exception/Http/HttpNotFoundException.php';
+ require_once '/vagrant/library/Icinga/Exception/Http/BaseHttpException.php';
+ require_once '/vagrant/library/Icinga/Exception/Http/HttpException.php';
+ require_once '/vagrant/library/Icinga/Exception/Http/HttpMethodNotAllowedException.php';
+ require_once '/vagrant/library/Icinga/Exception/Json/JsonDecodeException.php';
+ require_once '/vagrant/library/Icinga/Exception/Json/JsonEncodeException.php';
+ require_once '/vagrant/library/Icinga/Exception/ConfigurationError.php';
+ require_once '/vagrant/library/Icinga/Exception/NotFoundError.php';
+ require_once '/vagrant/library/Icinga/Exception/SystemPermissionException.php';
+ require_once '/vagrant/library/Icinga/Exception/AlreadyExistsException.php';
+ require_once '/vagrant/library/Icinga/Exception/AuthenticationException.php';
+ require_once '/vagrant/library/Icinga/Exception/StatementException.php';
+ require_once '/vagrant/library/Icinga/Exception/ProgrammingError.php';
+ require_once '/vagrant/library/Icinga/Exception/QueryException.php';
+ require_once '/vagrant/library/Icinga/Exception/NotWritableError.php';
+ require_once '/vagrant/library/Icinga/Exception/NotImplementedError.php';
+ require_once '/vagrant/library/Icinga/Exception/MissingParameterException.php';
+ require_once '/vagrant/library/Icinga/Exception/NotReadableError.php';
+ require_once '/vagrant/library/Icinga/Exception/InvalidPropertyException.php';
+ require_once '/vagrant/library/Icinga/Exception/IcingaException.php';
+ require_once '/vagrant/library/Icinga/File/Storage/StorageInterface.php';
+ require_once '/vagrant/library/Icinga/File/Storage/TemporaryLocalFileStorage.php';
+ require_once '/vagrant/library/Icinga/File/Storage/LocalFileStorage.php';
+ require_once '/vagrant/library/Icinga/File/Ini/IniWriter.php';
+ require_once '/vagrant/library/Icinga/File/Ini/IniParser.php';
+ require_once '/vagrant/library/Icinga/File/Ini/Dom/Directive.php';
+ require_once '/vagrant/library/Icinga/File/Ini/Dom/Section.php';
+ require_once '/vagrant/library/Icinga/File/Ini/Dom/Document.php';
+ require_once '/vagrant/library/Icinga/File/Ini/Dom/Comment.php';
+ require_once '/vagrant/library/Icinga/File/Csv.php';
+ require_once '/vagrant/library/Icinga/File/Pdf.php';
+ require_once '/vagrant/library/Icinga/Util/DirectoryIterator.php';
+ require_once '/vagrant/library/Icinga/Util/Translator.php';
+ require_once '/vagrant/library/Icinga/Util/File.php';
+ require_once '/vagrant/library/Icinga/Util/ASN1.php';
+ require_once '/vagrant/library/Icinga/Util/StringHelper.php';
+ require_once '/vagrant/library/Icinga/Util/TimezoneDetect.php';
+ require_once '/vagrant/library/Icinga/Util/Json.php';
+ require_once '/vagrant/library/Icinga/Util/GlobFilter.php';
+ require_once '/vagrant/library/Icinga/Util/ConfigAwareFactory.php';
+ require_once '/vagrant/library/Icinga/Util/Color.php';
+ require_once '/vagrant/library/Icinga/Util/Format.php';
+ require_once '/vagrant/library/Icinga/Util/Environment.php';
+ require_once '/vagrant/library/Icinga/Util/Dimension.php';
+ require_once '/vagrant/library/Icinga/Date/DateFormatter.php';
+ require_once '/vagrant/library/Icinga/Authentication/Authenticatable.php';
+ require_once '/vagrant/library/Icinga/Authentication/Role.php';
+ require_once '/vagrant/library/Icinga/Authentication/Auth.php';
+ require_once '/vagrant/library/Icinga/Authentication/AdmissionLoader.php';
+ require_once '/vagrant/library/Icinga/Authentication/AuthChain.php';
+ require_once '/vagrant/library/Icinga/Authentication/UserGroup/LdapUserGroupBackend.php';
+ require_once '/vagrant/library/Icinga/Authentication/UserGroup/UserGroupBackendInterface.php';
+ require_once '/vagrant/library/Icinga/Authentication/UserGroup/UserGroupBackend.php';
+ require_once '/vagrant/library/Icinga/Authentication/UserGroup/DbUserGroupBackend.php';
+ require_once '/vagrant/library/Icinga/Authentication/User/ExternalBackend.php';
+ require_once '/vagrant/library/Icinga/Authentication/User/UserBackend.php';
+ require_once '/vagrant/library/Icinga/Authentication/User/LdapUserBackend.php';
+ require_once '/vagrant/library/Icinga/Authentication/User/DomainAwareInterface.php';
+ require_once '/vagrant/library/Icinga/Authentication/User/UserBackendInterface.php';
+ require_once '/vagrant/library/Icinga/Authentication/User/DbUserBackend.php';
+ require_once '/vagrant/library/Icinga/Application/Config.php';
+ require_once '/vagrant/library/Icinga/Application/EmbeddedWeb.php';
+ require_once '/vagrant/library/Icinga/Application/ClassLoader.php';
+ require_once '/vagrant/library/Icinga/Application/Benchmark.php';
+ require_once '/vagrant/library/Icinga/Application/Version.php';
+ require_once '/vagrant/library/Icinga/Application/LegacyWeb.php';
+ require_once '/vagrant/library/Icinga/Application/Logger.php';
+ require_once '/vagrant/library/Icinga/Application/Web.php';
+ require_once '/vagrant/library/Icinga/Application/Icinga.php';
+ require_once '/vagrant/library/Icinga/Application/Hook.php';
+ require_once '/vagrant/library/Icinga/Application/Hook/Ticket/TicketPattern.php';
+ require_once '/vagrant/library/Icinga/Application/Hook/WebBaseHook.php';
+ require_once '/vagrant/library/Icinga/Application/Modules/Manager.php';
+ require_once '/vagrant/library/Icinga/Application/Modules/MenuItemContainer.php';
+ require_once '/vagrant/library/Icinga/Application/Modules/Module.php';
+ require_once '/vagrant/library/Icinga/Application/Modules/DashboardContainer.php';
+ require_once '/vagrant/library/Icinga/Application/Logger/Writer/StderrWriter.php';
+ require_once '/vagrant/library/Icinga/Application/Logger/Writer/StdoutWriter.php';
+ require_once '/vagrant/library/Icinga/Application/Logger/Writer/FileWriter.php';
+ require_once '/vagrant/library/Icinga/Application/Logger/Writer/SyslogWriter.php';
+ require_once '/vagrant/library/Icinga/Application/Logger/Writer/PhpWriter.php';
+ require_once '/vagrant/library/Icinga/Application/Cli.php';
+ require_once '/vagrant/library/Icinga/Application/Platform.php';
+ require_once '/vagrant/library/Icinga/Data/Identifiable.php';
+ require_once '/vagrant/library/Icinga/Data/Inspection.php';
+ require_once '/vagrant/library/Icinga/Data/Inspectable.php';
+ require_once '/vagrant/library/Icinga/Data/SortRules.php';
+ require_once '/vagrant/library/Icinga/Data/Updatable.php';
+ require_once '/vagrant/library/Icinga/Data/SimpleQuery.php';
+ require_once '/vagrant/library/Icinga/Data/Sortable.php';
+ require_once '/vagrant/library/Icinga/Data/ConfigObject.php';
+ require_once '/vagrant/library/Icinga/Data/FilterColumns.php';
+ require_once '/vagrant/library/Icinga/Data/Selectable.php';
+ require_once '/vagrant/library/Icinga/Data/ResourceFactory.php';
+ require_once '/vagrant/library/Icinga/Data/Reducible.php';
+ require_once '/vagrant/library/Icinga/Data/QueryInterface.php';
+ require_once '/vagrant/library/Icinga/Data/PivotTable.php';
+ require_once '/vagrant/library/Icinga/Data/Db/DbQuery.php';
+ require_once '/vagrant/library/Icinga/Data/Db/DbConnection.php';
+ require_once '/vagrant/library/Icinga/Data/Paginatable.php';
+ require_once '/vagrant/library/Icinga/Data/Extensible.php';
+ require_once '/vagrant/library/Icinga/Data/Tree/TreeNodeIterator.php';
+ require_once '/vagrant/library/Icinga/Data/Tree/SimpleTree.php';
+ require_once '/vagrant/library/Icinga/Data/Tree/TreeNode.php';
+ require_once '/vagrant/library/Icinga/Data/Limitable.php';
+ require_once '/vagrant/library/Icinga/Data/Queryable.php';
+ require_once '/vagrant/library/Icinga/Data/ConnectionInterface.php';
+ require_once '/vagrant/library/Icinga/Data/DataArray/ArrayDatasource.php';
+ require_once '/vagrant/library/Icinga/Data/Filter/FilterAnd.php';
+ require_once '/vagrant/library/Icinga/Data/Filter/FilterOr.php';
+ require_once '/vagrant/library/Icinga/Data/Filter/FilterQueryString.php';
+ require_once '/vagrant/library/Icinga/Data/Filter/FilterParseException.php';
+ require_once '/vagrant/library/Icinga/Data/Filter/FilterEqual.php';
+ require_once '/vagrant/library/Icinga/Data/Filter/FilterMatchCaseInsensitive.php';
+ require_once '/vagrant/library/Icinga/Data/Filter/FilterNotEqual.php';
+ require_once '/vagrant/library/Icinga/Data/Filter/FilterExpression.php';
+ require_once '/vagrant/library/Icinga/Data/Filter/FilterException.php';
+ require_once '/vagrant/library/Icinga/Data/Filter/FilterMatchNot.php';
+ require_once '/vagrant/library/Icinga/Data/Filter/FilterGreaterThan.php';
+ require_once '/vagrant/library/Icinga/Data/Filter/FilterEqualOrGreaterThan.php';
+ require_once '/vagrant/library/Icinga/Data/Filter/FilterLessThan.php';
+ require_once '/vagrant/library/Icinga/Data/Filter/FilterEqualOrLessThan.php';
+ require_once '/vagrant/library/Icinga/Data/Filter/FilterMatch.php';
+ require_once '/vagrant/library/Icinga/Data/Filter/FilterNot.php';
+ require_once '/vagrant/library/Icinga/Data/Filter/FilterMatchNotCaseInsensitive.php';
+ require_once '/vagrant/library/Icinga/Data/Fetchable.php';
+ require_once '/vagrant/library/Icinga/User/Preferences/Store/IniStore.php';
+ require_once '/vagrant/library/Icinga/User/Preferences/Store/DbStore.php';
+ require_once '/vagrant/library/Icinga/User/Preferences.php';
+ require_once '/vagrant/library/Icinga/User.php';
+ require_once '/vagrant/library/Icinga/Repository/RepositoryQuery.php';
+ require_once '/usr/share/icingaweb2/modules/audit/application/forms/Config/AuditLogConfigForm.php';
+ require_once '/usr/share/icingaweb2/modules/audit/application/controllers/LogController.php';
+ require_once '/usr/share/icingaweb2/modules/audit/application/controllers/ConfigController.php';
+ require_once '/usr/share/icingaweb2/modules/aws/library/Aws/AwsKey.php';
+ require_once '/usr/share/icingaweb2/modules/aws/library/Aws/AwsClient.php';
+ require_once '/usr/share/icingaweb2/modules/aws/library/vendor/aws/Doctrine/Common/Cache/MongoDBCache.php';
PHP Fatal error:  Class 'Doctrine\Common\Cache\CacheProvider' not found in /usr/share/icingaweb2/modules/aws/library/vendor/aws/Doctrine/Common/Cache/MongoDBCache.php on line 33
PHP Stack trace:
PHP   1. {main}() /vagrant/bin/icingacli:0
PHP   2. Icinga\Application\Cli->dispatch() /vagrant/bin/icingacli:7
PHP   3. Icinga\Application\Cli->dispatchOnce() /vagrant/library/Icinga/Application/Cli.php:139
PHP   4. Icinga\Cli\Loader->dispatch() /vagrant/library/Icinga/Application/Cli.php:149
PHP   5. Icinga\Module\Test\Clicommands\PhpCommand->validityAction() /vagrant/library/Icinga/Cli/Loader.php:265
PHP   6. require_once() /vagrant/modules/test/application/clicommands/PhpCommand.php:267

Fatal error: Class 'Doctrine\Common\Cache\CacheProvider' not found in /usr/share/icingaweb2/modules/aws/library/vendor/aws/Doctrine/Common/Cache/MongoDBCache.php on line 33

Call Stack:
    0.0003     351088   1. {main}() /vagrant/bin/icingacli:0
    0.0235    1025320   2. Icinga\Application\Cli->dispatch() /vagrant/bin/icingacli:7
    0.0235    1025736   3. Icinga\Application\Cli->dispatchOnce() /vagrant/library/Icinga/Application/Cli.php:139
    0.0311    1340856   4. Icinga\Cli\Loader->dispatch() /vagrant/library/Icinga/Application/Cli.php:149
    0.0311    1340856   5. Icinga\Module\Test\Clicommands\PhpCommand->validityAction() /vagrant/library/Icinga/Cli/Loader.php:265
    6.8109   12738680   6. require_once('/usr/share/icingaweb2/modules/aws/library/vendor/aws/Doctrine/Common/Cache/MongoDBCache.php') /vagrant/modules/test/application/clicommands/PhpCommand.php:267

@Al2Klimov Al2Klimov force-pushed the feature/phpcodevaliditytest branch from 76c4c06 to 04df04f Compare May 13, 2019 07:34
@Al2Klimov Al2Klimov requested a review from nilmerg May 13, 2019 07:34
@Al2Klimov Al2Klimov force-pushed the feature/phpcodevaliditytest branch 2 times, most recently from e3bc7c5 to 324c46f Compare May 13, 2019 12:49
@Al2Klimov Al2Klimov force-pushed the feature/phpcodevaliditytest branch 2 times, most recently from 6514b88 to 50ee70b Compare May 13, 2019 13:04
Copy link
Member

@nilmerg nilmerg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • Why is each require_once printed? Clutters up phpunit's output pretty bad (see travis details)
  • requiring a module's class still fails if it depends on another module

PHPUnit_Framework_Exception: PHP Fatal error: Class 'ipl\Html\BaseHtmlElement' not found in /usr/share/icingaweb2/modules/x509/library/X509/Paginator.php on line 22

In addition to php -l and phpcs this can discover
e.g. method signature incompatibilities
@Al2Klimov Al2Klimov force-pushed the feature/phpcodevaliditytest branch from 50ee70b to a5cabe0 Compare May 14, 2019 12:29
@Al2Klimov Al2Klimov requested a review from nilmerg May 14, 2019 12:29
@nilmerg nilmerg added the stalled Blocked or not relevant yet label May 21, 2019
@nilmerg
Copy link
Member

nilmerg commented Jul 12, 2019

Still doesn't work even with #3852.

@nilmerg nilmerg removed this from the 2.7.0 milestone Jul 12, 2019
@nilmerg
Copy link
Member

nilmerg commented Apr 11, 2022

There are lint tests in the actions now.

@nilmerg nilmerg closed this Apr 11, 2022
@nilmerg nilmerg deleted the feature/phpcodevaliditytest branch April 11, 2022 12:11
@nilmerg nilmerg removed their request for review April 11, 2022 12:11
@nilmerg nilmerg removed the stalled Blocked or not relevant yet label Apr 11, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants