Revive the quicksetup test suite#694
Merged
vharseko merged 2 commits intoJul 8, 2026
Merged
Conversation
The org.opends.quicksetup tests were dead three times over: every test method was annotated enabled=false, the classes were in the "slow" group excluded from CI, and the whole package was excluded from the failsafe run. Once enabled, the suite turned out to be almost entirely functional - it extracts the packaged server, runs a real setup and exercises the installation. Four failures remained: - ConfigurationTest and ServerControllerTest lacked the sequential=true annotation required by the test listener; - Configuration.getDatabasePaths() was empty because TestUtilities ran setup without creating any backend; pass -b dc=example,dc=com; - Installation.getBaseConfigurationFile() pointed at config/upgrade/config.ldif.<revision>, a snapshot which modern packages no longer ship: return the pristine configuration from template/config/config.ldif instead, which also repairs Installer.revertToBaseConfiguration(). Also make TestUtilities.getInstallPackageFile() skip the -slim archive instead of picking whichever zip the filesystem lists first. Enable all quicksetup test methods (except one Windows-only case), move the classes out of the "slow" group and drop the quicksetup exclusion from the failsafe configuration so that the suite (68 tests, ~1.5 minutes plus one server install per suite) runs in the default build.
InstallationTest.testGetOpenDSJarFile, revived by this branch, fails on Linux CI while passing on Windows: the assembly packages the server jar as lib/opendj.jar, but Installation.getOpenDSJarFile() looked up the ForgeRock-era mixed-case OpenDJ.jar, which only matched on case-insensitive file systems. The stale path also leaked into production code through Uninstaller.
This was referenced Jul 5, 2026
maximthomas
approved these changes
Jul 7, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Context
The
org.opends.quicksetuptests were dead three times over: every test method was annotatedenabled = false, the classes were in theslowgroup (excluded from CI), and the whole package was excluded from the failsafe configuration. The suite is valuable: its@BeforeSuiteextracts the packaged server zip, runs a realsetup --cliand the tests exercise the resulting installation (Installation/Configuration/ServerController/FileManager).Once enabled, 64 of 68 tests passed immediately. The four failures and their fixes:
ConfigurationTest.testGetContents,ServerControllerTest.testStartServer— failed only on the test-listener rule that the class-level@Testannotation must includesequential=true. Added.ConfigurationTest.testGetDatabasePaths—Configuration.getDatabasePaths()was empty becauseTestUtilitiesransetupwithout creating any backend. Pass-b dc=example,dc=com.InstallationTest.testGetBaseConfigurationFile—Installation.getBaseConfigurationFile()points atconfig/upgrade/config.ldif.<revision>, a snapshot which modern packages no longer ship (config/upgradeonly containsschema.ldif.*). Product fix: return the pristine configuration fromtemplate/config/config.ldifinstead — this also repairsInstaller.revertToBaseConfiguration(), which copies the base configuration and was equally broken.Also
TestUtilities.getInstallPackageFile()now skips the-slimarchive instead of picking whichever zip the filesystem lists first.Enablement
All quicksetup test methods are enabled (except one Windows-only case), the classes are moved out of the
slowgroup, and theorg/opends/quicksetup/**exclusion (listed twice) is dropped from the failsafe configuration. The packaged zip is available at integration-test time since failsafe runs after the package phase.Verification
Under the default CI group filter:
ConfigurationTest9/9,InstallationTest37/37,FileManagerTest20/20,ServerControllerTest2/2 — 68/68 green, ~1.5 minutes plus one server install per suite.