Skip to content
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

CHE-5555: try to fix occasionally failing tests on CI #5585

Merged
merged 1 commit into from
Jul 10, 2017
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -70,11 +70,11 @@
import org.eclipse.che.plugin.docker.client.params.PullParams;
import org.eclipse.che.plugin.docker.client.params.RemoveContainerParams;
import org.eclipse.che.plugin.docker.client.params.RemoveImageParams;
import org.eclipse.che.plugin.docker.client.params.network.RemoveNetworkParams;
import org.eclipse.che.plugin.docker.client.params.StartContainerParams;
import org.eclipse.che.plugin.docker.client.params.TagParams;
import org.eclipse.che.plugin.docker.client.params.network.ConnectContainerToNetworkParams;
import org.eclipse.che.plugin.docker.client.params.network.CreateNetworkParams;
import org.eclipse.che.plugin.docker.client.params.network.RemoveNetworkParams;
import org.eclipse.che.plugin.docker.machine.node.DockerNode;
import org.slf4j.Logger;

Expand Down Expand Up @@ -713,10 +713,11 @@ private void connectContainerToAdditionalNetworks(String container,
}
}

private void readContainerLogsInSeparateThread(String container,
String workspaceId,
String machineId,
LineConsumer outputConsumer) {
@VisibleForTesting
void readContainerLogsInSeparateThread(String container,
String workspaceId,
String machineId,
LineConsumer outputConsumer) {
executor.execute(() -> {
long lastProcessedLogDate = 0;
boolean isContainerRunning = true;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,7 @@
import static org.mockito.Matchers.any;
import static org.mockito.Matchers.anyString;
import static org.mockito.Matchers.eq;
import static org.mockito.Mockito.doNothing;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.doThrow;
import static org.mockito.Mockito.never;
Expand Down Expand Up @@ -163,7 +164,7 @@ public DockerConnector get() {
public void setUp() throws Exception {
when(dockerConnectorConfiguration.getDockerHostIp()).thenReturn("123.123.123.123");

provider = spy(new MachineProviderBuilder().build());
provider = new MachineProviderBuilder().build();

EnvironmentContext envCont = new EnvironmentContext();
envCont.setSubject(new SubjectImpl(USER_NAME, "userId", USER_TOKEN, false));
Expand Down Expand Up @@ -208,8 +209,7 @@ public void shouldNotPullDockerImageOnInstanceCreationFromLocalSnapshot() throws
String repo = MACHINE_SNAPSHOT_PREFIX + "repo";
String tag = "latest";
String registry = "localhost:1234";
provider = spy(new MachineProviderBuilder().setSnapshotUseRegistry(false)
.build());
provider = new MachineProviderBuilder().setSnapshotUseRegistry(false).build();

createInstanceFromSnapshot(repo, tag, registry);

Expand All @@ -218,8 +218,7 @@ public void shouldNotPullDockerImageOnInstanceCreationFromLocalSnapshot() throws

@Test
public void shouldPullDockerImageIfAlwaysPullIsTrueEvenIfImageExistsLocally() throws Exception {
provider = spy(new MachineProviderBuilder().setDoForcePullImage(true)
.build());
provider = new MachineProviderBuilder().setDoForcePullImage(true).build();
doReturn(true).when(provider).isDockerImageExistLocally(anyString());

createInstanceFromRecipe();
Expand All @@ -229,8 +228,7 @@ public void shouldPullDockerImageIfAlwaysPullIsTrueEvenIfImageExistsLocally() th

@Test
public void shouldPullDockerImageIfAlwaysPullIsFalseButImageDoesNotExist() throws Exception {
provider = spy(new MachineProviderBuilder().setDoForcePullImage(false)
.build());
provider = new MachineProviderBuilder().setDoForcePullImage(false).build();
doReturn(false).when(provider).isDockerImageExistLocally(anyString());

createInstanceFromRecipe();
Expand All @@ -240,8 +238,7 @@ public void shouldPullDockerImageIfAlwaysPullIsFalseButImageDoesNotExist() throw

@Test
public void shouldNotPullDockerImageIfAlwaysPullIsFalseAndTheImageExistLocally() throws Exception {
provider = spy(new MachineProviderBuilder().setDoForcePullImage(false)
.build());
provider = new MachineProviderBuilder().setDoForcePullImage(false).build();
doReturn(true).when(provider).isDockerImageExistLocally(anyString());

createInstanceFromRecipe();
Expand All @@ -253,8 +250,7 @@ public void shouldNotPullDockerImageIfAlwaysPullIsFalseAndTheImageExistLocally()
public void shouldUseLocalImageOnInstanceCreationFromSnapshot() throws Exception {
final String repo = MACHINE_SNAPSHOT_PREFIX + "repo";
final String tag = "latest";
provider = spy(new MachineProviderBuilder().setSnapshotUseRegistry(false)
.build());
provider = new MachineProviderBuilder().setSnapshotUseRegistry(false).build();

CheServiceImpl machine = createService();
machine.setImage(repo + ":" + tag);
Expand All @@ -276,8 +272,7 @@ public void shouldUseLocalImageOnInstanceCreationFromSnapshot() throws Exception
public void shouldNotRemoveImageAfterRestoreFromLocalSnapshot() throws Exception {
String repo = MACHINE_SNAPSHOT_PREFIX + "repo";
String tag = "latest";
provider = spy(new MachineProviderBuilder().setSnapshotUseRegistry(false)
.build());
provider = new MachineProviderBuilder().setSnapshotUseRegistry(false).build();

createInstanceFromSnapshot(repo, tag, null);

Expand All @@ -288,8 +283,7 @@ public void shouldNotRemoveImageAfterRestoreFromLocalSnapshot() throws Exception
public void shouldNotRemoveImageWhenCreatingInstanceFromLocalImage() throws Exception {
String repo = "repo1";
String tag = "latest";
MachineProviderImpl provider = spy(new MachineProviderBuilder().setSnapshotUseRegistry(false)
.build());
MachineProviderImpl provider = new MachineProviderBuilder().setSnapshotUseRegistry(false).build();

CheServiceImpl machine = createService();
machine.setBuild(null);
Expand Down Expand Up @@ -385,8 +379,7 @@ public void shouldPublishAllExposedPortsOnCreateContainerOnInstanceCreationFromS

@Test
public void shouldBeAbleToCreateContainerWithPrivilegeMode() throws Exception {
provider = spy(new MachineProviderBuilder().setPrivilegedMode(true)
.build());
provider = new MachineProviderBuilder().setPrivilegedMode(true).build();

createInstanceFromRecipe();

Expand All @@ -397,8 +390,7 @@ public void shouldBeAbleToCreateContainerWithPrivilegeMode() throws Exception {

@Test
public void shouldBeAbleToCreateContainerWithCpuSet() throws Exception {
provider = spy(new MachineProviderBuilder().setCpuSet("0-3")
.build());
provider = new MachineProviderBuilder().setCpuSet("0-3").build();

createInstanceFromRecipe();

Expand All @@ -409,8 +401,7 @@ public void shouldBeAbleToCreateContainerWithCpuSet() throws Exception {

@Test
public void shouldBeAbleToCreateContainerWithCpuPeriod() throws Exception {
provider = spy(new MachineProviderBuilder().setCpuPeriod(200)
.build());
provider = new MachineProviderBuilder().setCpuPeriod(200).build();

createInstanceFromRecipe();

Expand All @@ -421,8 +412,7 @@ public void shouldBeAbleToCreateContainerWithCpuPeriod() throws Exception {

@Test(dataProvider = "dnsResolverTestProvider")
public void shouldSetDnsResolversOnContainerCreation(String[] dnsResolvers) throws Exception {
provider = spy(new MachineProviderBuilder().setDnsResolvers(dnsResolvers)
.build());
provider = new MachineProviderBuilder().setDnsResolvers(dnsResolvers).build();

createInstanceFromRecipe();

Expand All @@ -443,7 +433,7 @@ public static Object[][] dnsResolverTestProvider() {

@Test
public void shouldSetNullDnsResolversOnContainerCreationByDefault() throws Exception {
provider = spy(new MachineProviderBuilder().build());
provider = new MachineProviderBuilder().build();

createInstanceFromRecipe();

Expand All @@ -454,8 +444,7 @@ public void shouldSetNullDnsResolversOnContainerCreationByDefault() throws Excep

@Test
public void shouldBeAbleToCreateContainerWithCgroupParent() throws Exception {
provider = spy(new MachineProviderBuilder().setParentCgroup("some_parent")
.build());
provider = new MachineProviderBuilder().setParentCgroup("some_parent").build();

createInstanceFromRecipe();

Expand All @@ -466,8 +455,7 @@ public void shouldBeAbleToCreateContainerWithCgroupParent() throws Exception {

@Test
public void shouldCreateContainerWithPidsLimit() throws Exception {
provider = spy(new MachineProviderBuilder().setPidsLimit(512)
.build());
provider = new MachineProviderBuilder().setPidsLimit(512).build();

createInstanceFromRecipe();

Expand Down Expand Up @@ -565,8 +553,7 @@ public void shouldSetMemorySizeInContainersOnInstanceCreationFromSnapshot() thro
public void shouldBeAbleToSetCorrectSwapSize(double swapMultiplier, int memoryMB, long expectedSwapSize)
throws Exception {
// given
provider = spy(new MachineProviderBuilder().setMemorySwapMultiplier(swapMultiplier)
.build());
provider = new MachineProviderBuilder().setMemorySwapMultiplier(swapMultiplier).build();

// when
createInstanceFromRecipe(memoryMB);
Expand Down Expand Up @@ -1410,8 +1397,7 @@ public void shouldAddLinksToContainerOnCreation() throws Exception {
@Test
public void shouldBeAbleToCreateContainerWithCpuQuota() throws Exception {
// given
provider = spy(new MachineProviderBuilder().setCpuQuota(200)
.build());
provider = new MachineProviderBuilder().setCpuQuota(200).build();

// when
createInstanceFromRecipe();
Expand Down Expand Up @@ -1792,33 +1778,37 @@ public MachineProviderBuilder setDnsResolvers(String[] dnsResolvers) {
}

MachineProviderImpl build() throws IOException {
return new MachineProviderImpl(new MockConnectorProvider(),
credentialsReader,
dockerMachineFactory,
dockerInstanceStopDetector,
transmitter,
jsonRpcEndpointToMachineNameHolder,
devMachineServers,
allMachineServers,
devMachineVolumes,
allMachineVolumes,
doForcePullImage,
privilegedMode,
pidsLimit,
devMachineEnvVars,
allMachineEnvVars,
snapshotUseRegistry,
memorySwapMultiplier,
additionalNetworks,
networkDriver,
parentCgroup,
cpuSet,
cpuPeriod,
cpuQuota,
pathEscaper,
extraHosts,
dnsResolvers,
emptyMap());
MachineProviderImpl provider = spy(new MachineProviderImpl(new MockConnectorProvider(),
credentialsReader,
dockerMachineFactory,
dockerInstanceStopDetector,
transmitter,
jsonRpcEndpointToMachineNameHolder,
devMachineServers,
allMachineServers,
devMachineVolumes,
allMachineVolumes,
doForcePullImage,
privilegedMode,
pidsLimit,
devMachineEnvVars,
allMachineEnvVars,
snapshotUseRegistry,
memorySwapMultiplier,
additionalNetworks,
networkDriver,
parentCgroup,
cpuSet,
cpuPeriod,
cpuQuota,
pathEscaper,
extraHosts,
dnsResolvers,
emptyMap()));
doNothing().when(provider).readContainerLogsInSeparateThread(anyString(), anyString(),
anyString(), any(LineConsumer.class));

return provider;
}
}
}