Skip to content

Commit

Permalink
Modifiable default values (#190)
Browse files Browse the repository at this point in the history
new parameter `defaultConfigModules` added to runWithArgs to enable
setting default values for extended EnabledTestConfig and
TestParameterConfig

# Checklist

The following aspects have been respected by the author of this pull
request, confirmed by both pull request assignee **and** reviewer:

* Adherence to coding conventions
  * [x] Pull Request Assignee
  * [x] Reviewer
* Adherence to javadoc conventions
  * [x] Pull Request Assignee
  * [x] Reviewer
* Changelog update (necessity checked and entry added or not added
respectively)
  * [x] Pull Request Assignee
  * [x] Reviewer
* README update (necessity checked and entry added or not added
respectively)
  * [x] Pull Request Assignee
  * [x] Reviewer
* config update (necessity checked and entry added or not added
respectively)
  * [x] Pull Request Assignee
  * [x] Reviewer
* SDCcc executable ran against a test device (if necessary)
  * [x] Pull Request Assignee
  * [x] Reviewer
  • Loading branch information
belagertem authored Jul 22, 2024
1 parent 9435c23 commit 38b6903
Showing 1 changed file with 22 additions and 10 deletions.
32 changes: 22 additions & 10 deletions sdccc/src/main/java/com/draeger/medical/sdccc/TestSuite.java
Original file line number Diff line number Diff line change
Expand Up @@ -427,20 +427,22 @@ private Launcher createLauncher(final File reportDirectory, final String reportF
return launcher;
}

private static Injector createInjector(final Module... override) {
return Guice.createInjector(Modules.override(
new DefaultTestSuiteModule(),
new DefaultTestSuiteConfig(),
new DefaultEnabledTestConfig(),
new DefaultTestParameterConfig())
.with(override));
private static Injector createInjector(final List<Module> additionalDefaults, final Module... override) {
final List<Module> standardDefaults = new ArrayList<>(Arrays.asList(
new DefaultTestSuiteModule(),
new DefaultTestSuiteConfig(),
new DefaultEnabledTestConfig(),
new DefaultTestParameterConfig()));
standardDefaults.addAll(additionalDefaults);
return Guice.createInjector(Modules.override(standardDefaults).with(override));
}

private static Injector createTestRunInjector(
final CommandLineOptions cmdLine,
final File testRunDir,
final Class<? extends EnabledTestConfig> enabledTestConfigClass,
final Class<? extends TestParameterConfig> testParameterClass,
final List<Module> defaultConfigurationModules,
final String[] sdcTestDirectories,
@Nullable final AbstractModule overrides)
throws IOException {
Expand Down Expand Up @@ -550,9 +552,10 @@ protected void defaultConfigure() {
.with(cliOverrideModule));

if (overrides != null) {
return createInjector(configurationModule, new TestRunConfig(testRunDir), overrides);
return createInjector(
defaultConfigurationModules, configurationModule, new TestRunConfig(testRunDir), overrides);
} else {
return createInjector(configurationModule, new TestRunConfig(testRunDir));
return createInjector(defaultConfigurationModules, configurationModule, new TestRunConfig(testRunDir));
}
}

Expand Down Expand Up @@ -661,6 +664,7 @@ public static void main(final String[] args) throws IOException {
cmdLine,
EnabledTestConfig.class,
TestParameterConfig.class,
List.of(),
DefaultTestSuiteConfig.DEFAULT_DIRECTORIES,
null);
}
Expand All @@ -687,12 +691,14 @@ public static CommandLineOptions initialize(final String[] args) {
* @param enabledTestConfigClass class containing test identifier constants
* @param testParameterClass class containing test parameter
* @param sdcTestDirectories directories to search for test cases
* @param defaultConfigModules default configuration modules for extended EnabledTestConfig and TestParameterConfig
* @param overrides abstract module to override test run injector
*/
public static void runWithArgs(
final CommandLineOptions cmdLine,
final Class<? extends EnabledTestConfig> enabledTestConfigClass,
final Class<? extends TestParameterConfig> testParameterClass,
final List<Module> defaultConfigModules,
final String[] sdcTestDirectories,
@Nullable final AbstractModule overrides)
throws IOException {
Expand All @@ -719,7 +725,13 @@ public static void runWithArgs(
}

final Injector injector = createTestRunInjector(
cmdLine, testRunDir, enabledTestConfigClass, testParameterClass, sdcTestDirectories, overrides);
cmdLine,
testRunDir,
enabledTestConfigClass,
testParameterClass,
defaultConfigModules,
sdcTestDirectories,
overrides);

final TriggerOnErrorOrWorseLogAppender triggerOnErrorOrWorseLogAppender =
findTriggerOnErrorOrWorseLogAppender(logConfig);
Expand Down

0 comments on commit 38b6903

Please sign in to comment.