-
-
Notifications
You must be signed in to change notification settings - Fork 222
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
WIP: BUGFIX: Fix Behat tests without CATCHUPTRIGGER_ENABLE_SYNCHRONOUS_OPTION
#4689
Conversation
Draft because this is the ugliest piece of code that I produced in a long time (TooManyDrinksException) – but the approach to save the state in files seems to work in general |
...ioralTests/Classes/TestSuite/Behavior/GherkinTableNodeBasedContentDimensionSourceFactory.php
Outdated
Show resolved
Hide resolved
Hmm it makes sense that this is currently broken, as the dynamic configuration isnt available of course in the subprocess ... but i think there is no way around this than using the file system or caching this somewhere else ... |
@mhsdesign That's exactly what this PR suggests to do. What was your point? |
An approval of this hack :D |
I fail to understand at the moment why this is needed, especially why a file is needed? Couldn't we have this just in memory, in an array or something? or alternatively in a file cache or so? Could actually use PSR cache interfaces 🤔 |
The whole reason for this PR is to make the tests work without the
Yes, that was my initial idea but it would require a larger rewrite because we use all those traits statically o.O |
i think we should move forward with this hack as it just affects the test cases. This is and improvement already as we are running our tests basically for months now only in sync mode which not reflects the real world. But as the async tests will take way longer i still would like to only run them on merge to 9.0 ... to not change the current sync mode, i think we can leave out the file writing if |
|
||
private static function cacheFileName(ContentRepositoryId $contentRepositoryId): string | ||
{ | ||
return sys_get_temp_dir() . 'nodeTypesConfiguration_' . $contentRepositoryId->value . '.json'; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
sys_get_temp_dir() is without trailing slash, there should be DIRECTORY_SEPARATOR in there afterwards.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
or we just use FLOW_PATH_TEMPORARY
so its easier to debug it when it fails :D ... i know we technically dont have a depenendcy but we do as we do use the content repository registry for tests. and that is fine. if someone wants to run the tests without flow he can improve that ;)
...ioralTests/Classes/TestSuite/Behavior/GherkinTableNodeBasedContentDimensionSourceFactory.php
Outdated
Show resolved
Hide resolved
We just discussed that we absolutely need this change because we will move the cr to sync by default and then no one, will use and test async out of the box. Currently async is okayish covered by manual testing and the Neos ui e2e tests. |
…US_OPTION` Fixes: #4612
Fatal error: assert($contentDimension instanceof Dimension\ContentDimension) DimensionSpace/ContentDimensionZookeeper.php:44
eac52a9
to
73679ab
Compare
Will be obsolete with #4746 |
Fixes: #4612