Skip to content

Commit 4fbd4a2

Browse files
committed
[grid] Passing env vars along to child containers
Only the ones prefixed with `SE_`. Fixes SeleniumHQ/docker-selenium#1319
1 parent 40c16bb commit 4fbd4a2

File tree

1 file changed

+12
-5
lines changed

1 file changed

+12
-5
lines changed

java/src/org/openqa/selenium/grid/node/docker/DockerSessionFactory.java

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717

1818
package org.openqa.selenium.grid.node.docker;
1919

20-
import java.util.List;
2120
import org.openqa.selenium.Capabilities;
2221
import org.openqa.selenium.Dimension;
2322
import org.openqa.selenium.ImmutableCapabilities;
@@ -74,6 +73,7 @@
7473
import java.util.Arrays;
7574
import java.util.Collections;
7675
import java.util.HashMap;
76+
import java.util.List;
7777
import java.util.Map;
7878
import java.util.Optional;
7979
import java.util.TimeZone;
@@ -305,11 +305,16 @@ private Map<String, String> getBrowserContainerEnvVars(Capabilities sessionReque
305305
ofNullable(getScreenResolution(sessionRequestCapabilities));
306306
Map<String, String> envVars = new HashMap<>();
307307
if (screenResolution.isPresent()) {
308-
envVars.put("SCREEN_WIDTH", String.valueOf(screenResolution.get().getWidth()));
309-
envVars.put("SCREEN_HEIGHT", String.valueOf(screenResolution.get().getHeight()));
308+
envVars.put("SE_SCREEN_WIDTH", String.valueOf(screenResolution.get().getWidth()));
309+
envVars.put("SE_SCREEN_HEIGHT", String.valueOf(screenResolution.get().getHeight()));
310310
}
311311
Optional<TimeZone> timeZone = ofNullable(getTimeZone(sessionRequestCapabilities));
312312
timeZone.ifPresent(zone -> envVars.put("TZ", zone.getID()));
313+
// Passing env vars set to the child container
314+
Map<String, String> seEnvVars = System.getenv();
315+
seEnvVars.entrySet()
316+
.stream().filter(entry -> entry.getKey().startsWith("SE_"))
317+
.forEach(entry -> envVars.put(entry.getKey(), entry.getValue()));
313318
return envVars;
314319
}
315320

@@ -356,8 +361,10 @@ private Map<String, String> getVideoContainerEnvVars(Capabilities sessionRequest
356361
envVars.put("DISPLAY_CONTAINER_NAME", containerIp);
357362
Optional<Dimension> screenResolution =
358363
ofNullable(getScreenResolution(sessionRequestCapabilities));
359-
screenResolution.ifPresent(dimension -> envVars
360-
.put("VIDEO_SIZE", String.format("%sx%s", dimension.getWidth(), dimension.getHeight())));
364+
screenResolution.ifPresent(dimension -> {
365+
envVars.put("SE_SCREEN_WIDTH", String.valueOf(dimension.getWidth()));
366+
envVars.put("SE_SCREEN_HEIGHT", String.valueOf(dimension.getHeight()));
367+
});
361368
return envVars;
362369
}
363370

0 commit comments

Comments
 (0)