Fix race condition in InstallSpec using PollingConditions.

This commit is contained in:
Marco Vermeulen
2016-01-06 09:03:39 +00:00
parent e6d8a4694c
commit e24a89adab

View File

@@ -4,6 +4,7 @@ import com.github.tomakehurst.wiremock.WireMockServer
import sdkman.env.CleanBashEnvBuilder
import sdkman.support.BashEnvSpecification
import sdkman.support.WireMockServerProvider
import spock.util.concurrent.PollingConditions
import java.nio.file.Files
import java.nio.file.Paths
@@ -19,6 +20,8 @@ class InstallSpec extends BashEnvSpecification {
File sdkmanBaseDirectory
def pollingConditions = new PollingConditions()
void setup() {
sdkmanBaseDirectory = prepareBaseDir()
bash = CleanBashEnvBuilder.create(sdkmanBaseDirectory).build()
@@ -41,8 +44,10 @@ class InstallSpec extends BashEnvSpecification {
bash.execute("curl -s ${service} | bash")
then:
sdkmanBinFolder.exists()
sdkmanInitScript.exists()
pollingConditions.eventually {
assert sdkmanBinFolder.exists()
assert sdkmanInitScript.exists()
}
}
void "should skip installation if SDKMAN has been already installed"() {