ctubbsii opened a new pull request, #5866:
URL: https://github.com/apache/accumulo/pull/5866

   * Revert d21fc1bb4124df757e5d0691fd19281655d75761 for PR #5852, since #5851 
can be fixed with this change instead, without adding a new test to the sunny 
profile; comprehensive table operations testing is outside the scope of the 
basic test case that the sunny profile should be limited to doing
   * Add the `failIfNoTests = false` option to the `@Suite` annotation so that 
it does not fail if some combination of options fails to result in any matching 
test cases to run (minicluster is still started for the test, though no tests 
will run; that is addressed by the next change below)
   * Explicitly run only the regular junit-jupiter engine, and not the 
junit-platform-suite engine, by default when running the sunny profile, so that 
it does not execute SimpleSharedMacTestSuiteIT's BeforeSuite and AfterSuite 
methods, which is a waste of time since that suite does not have any tests with 
the SunnyDay tag
   
   Also:
   * Move the class so it fits into the module/package naming conventions
   * Add a CI check for module/package naming conventions for future work
   
   More background:
   
     The maven-surefire-plugin/maven-failsafe-plugin's JUnit5 provider will use 
both the normal (non-suite) `junit-jupiter` engine and the 
`junit-platform-suite` engine. These engines behave differently when handling 
the surefire/failsafe option to filter tests based on groups. The regular 
engine will filter tests based on the configured groups by the `@Tag` 
annotation before executing the tests. The suite engine appears to identify the 
suites to run first, then filters the test cases contained in that suite by the 
`@Tag` annotation. While the regular engine's failure to find any tests can be 
handled by the Maven properties, `(surefire|failsafe).failIfNoSpecifiedTests`, 
that does not work for the suite engine. Instead, the suite engine requires 
`@Suite(failIfNoTests = false)` to be used. That will prevent the failure to 
find tests from failing the build, but it will still execute the suite's 
`@BeforeSuite` and `@AfterSuite` methods. An additional configuration is needed 
to explicitly
  control which engines are executed by surefire/failsafe in order to avoid 
executing "empty" suites' before/after steps entirely. In Accumulo, we do not 
have any suite tests that need to run during the `sunny` profile, so we can 
safely skip the suite engine's execution when activating that profile. We do 
not want to exclude the engine, though, because that limits the user's ability 
to override settings on the command-line with an exclude option. So instead, we 
limit the set of included engines to only the regular one, so users can still 
override the include/exclude properties to have more granular control, if they 
wish.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to