@@ -12,6 +12,23 @@ pacmd set-default-sink v1
1212# set the monitor of v1 sink to be the default source
1313pacmd set-default-source v1.monitor
1414
15+ function append_se_opts() {
16+ local option=" ${1} "
17+ local value=" ${2:- " " } "
18+ local log_message=" ${3:- true} "
19+ if [[ " ${SE_OPTS} " != * " ${option} " * ]]; then
20+ if [ " ${log_message} " = " true" ]; then
21+ echo " Appending Selenium option: ${option} ${value} "
22+ fi
23+ SE_OPTS=" ${SE_OPTS} ${option} "
24+ if [ ! -z " ${value} " ]; then
25+ SE_OPTS=" ${SE_OPTS} ${value} "
26+ fi
27+ else
28+ echo " Selenium option: ${option} already set in env variable SE_OPTS. Ignore new option: ${option} ${value} "
29+ fi
30+ }
31+
1532if [ ! -z " $SE_SUB_PATH " ]; then
1633 echo " Using SE_SUB_PATH: ${SE_SUB_PATH} "
1734 SUB_PATH_CONFIG=" --sub-path ${SE_SUB_PATH} "
@@ -22,63 +39,51 @@ if [ ! -z "$SE_OPTS" ]; then
2239fi
2340
2441if [ ! -z " $SE_DISABLE_UI " ]; then
25- echo " Appending Selenium options: --disable-ui ${SE_DISABLE_UI} "
26- SE_OPTS=" $SE_OPTS --disable-ui ${SE_DISABLE_UI} "
42+ append_se_opts " --disable-ui" " ${SE_DISABLE_UI} "
2743fi
2844
2945if [ ! -z " $SE_ROUTER_USERNAME " ]; then
30- echo " Appending Selenium options: --username ${SE_ROUTER_USERNAME} "
31- SE_OPTS=" $SE_OPTS --username ${SE_ROUTER_USERNAME} "
46+ append_se_opts " --username" " ${SE_ROUTER_USERNAME} "
3247fi
3348
3449if [ ! -z " $SE_ROUTER_PASSWORD " ]; then
35- echo " Appending Selenium options: --password ${SE_ROUTER_PASSWORD} "
36- SE_OPTS=" $SE_OPTS --password ${SE_ROUTER_PASSWORD} "
50+ append_se_opts " --password" " ${SE_ROUTER_PASSWORD} "
3751fi
3852
3953if [ ! -z " $SE_NODE_ENABLE_MANAGED_DOWNLOADS " ]; then
40- echo " Appending Selenium options: --enable-managed-downloads ${SE_NODE_ENABLE_MANAGED_DOWNLOADS} "
41- SE_OPTS=" $SE_OPTS --enable-managed-downloads ${SE_NODE_ENABLE_MANAGED_DOWNLOADS} "
54+ append_se_opts " --enable-managed-downloads" " ${SE_NODE_ENABLE_MANAGED_DOWNLOADS} "
4255fi
4356
4457if [ ! -z " $SE_NODE_ENABLE_CDP " ]; then
45- echo " Appending Selenium options: --enable-cdp ${SE_NODE_ENABLE_CDP} "
46- SE_OPTS=" $SE_OPTS --enable-cdp ${SE_NODE_ENABLE_CDP} "
58+ append_se_opts " --enable-cdp" " ${SE_NODE_ENABLE_CDP} "
4759fi
4860
4961if [ ! -z " $SE_NODE_REGISTER_PERIOD " ]; then
50- echo " Appending Selenium options: --register-period ${SE_NODE_REGISTER_PERIOD} "
51- SE_OPTS=" $SE_OPTS --register-period ${SE_NODE_REGISTER_PERIOD} "
62+ append_se_opts " --register-period" " ${SE_NODE_REGISTER_PERIOD} "
5263fi
5364
5465if [ ! -z " $SE_NODE_REGISTER_CYCLE " ]; then
55- echo " Appending Selenium options: --register-cycle ${SE_NODE_REGISTER_CYCLE} "
56- SE_OPTS=" $SE_OPTS --register-cycle ${SE_NODE_REGISTER_CYCLE} "
66+ append_se_opts " --register-cycle" " ${SE_NODE_REGISTER_CYCLE} "
5767fi
5868
5969if [ ! -z " $SE_NODE_HEARTBEAT_PERIOD " ]; then
60- echo " Appending Selenium options: --heartbeat-period ${SE_NODE_HEARTBEAT_PERIOD} "
61- SE_OPTS=" $SE_OPTS --heartbeat-period ${SE_NODE_HEARTBEAT_PERIOD} "
70+ append_se_opts " --heartbeat-period" " ${SE_NODE_HEARTBEAT_PERIOD} "
6271fi
6372
6473if [ ! -z " $SE_LOG_LEVEL " ]; then
65- echo " Appending Selenium options: --log-level ${SE_LOG_LEVEL} "
66- SE_OPTS=" $SE_OPTS --log-level ${SE_LOG_LEVEL} "
74+ append_se_opts " --log-level" " ${SE_LOG_LEVEL} "
6775fi
6876
6977if [ ! -z " $SE_HTTP_LOGS " ]; then
70- echo " Appending Selenium options: --http-logs ${SE_HTTP_LOGS} "
71- SE_OPTS=" $SE_OPTS --http-logs ${SE_HTTP_LOGS} "
78+ append_se_opts " --http-logs" " ${SE_HTTP_LOGS} "
7279fi
7380
7481if [ ! -z " $SE_STRUCTURED_LOGS " ]; then
75- echo " Appending Selenium options: --structured-logs ${SE_STRUCTURED_LOGS} "
76- SE_OPTS=" $SE_OPTS --structured-logs ${SE_STRUCTURED_LOGS} "
82+ append_se_opts " --structured-logs" " ${SE_STRUCTURED_LOGS} "
7783fi
7884
7985if [ ! -z " $SE_EXTERNAL_URL " ]; then
80- echo " Appending Selenium options: --external-url ${SE_EXTERNAL_URL} "
81- SE_OPTS=" $SE_OPTS --external-url ${SE_EXTERNAL_URL} "
86+ append_se_opts " --external-url" " ${SE_EXTERNAL_URL} "
8287fi
8388
8489if [ " ${SE_ENABLE_TLS} " = " true" ]; then
@@ -99,23 +104,19 @@ if [ "${SE_ENABLE_TLS}" = "true" ]; then
99104 SE_JAVA_OPTS=" $SE_JAVA_OPTS -Djdk.internal.httpclient.disableHostnameVerification=${SE_JAVA_DISABLE_HOSTNAME_VERIFICATION} "
100105 # Configure certificate and private key for component communication
101106 if [ ! -z " $SE_HTTPS_CERTIFICATE " ]; then
102- echo " Appending Selenium options: --https-certificate ${SE_HTTPS_CERTIFICATE} "
103- SE_OPTS=" $SE_OPTS --https-certificate ${SE_HTTPS_CERTIFICATE} "
107+ append_se_opts " --https-certificate" " ${SE_HTTPS_CERTIFICATE} "
104108 fi
105109 if [ ! -z " $SE_HTTPS_PRIVATE_KEY " ]; then
106- echo " Appending Selenium options: --https-private-key ${SE_HTTPS_PRIVATE_KEY} "
107- SE_OPTS=" $SE_OPTS --https-private-key ${SE_HTTPS_PRIVATE_KEY} "
110+ append_se_opts " --https-private-key" " ${SE_HTTPS_PRIVATE_KEY} "
108111 fi
109112fi
110113
111114if [ ! -z " $SE_REJECT_UNSUPPORTED_CAPS " ]; then
112- echo " Appending Selenium options: --reject-unsupported-caps ${SE_REJECT_UNSUPPORTED_CAPS} "
113- SE_OPTS=" $SE_OPTS --reject-unsupported-caps ${SE_REJECT_UNSUPPORTED_CAPS} "
115+ append_se_opts " --reject-unsupported-caps" " ${SE_REJECT_UNSUPPORTED_CAPS} "
114116fi
115117
116118if [ ! -z " $SE_NEW_SESSION_THREAD_POOL_SIZE " ]; then
117- echo " Appending Selenium options: --newsession-threadpool-size ${SE_NEW_SESSION_THREAD_POOL_SIZE} "
118- SE_OPTS=" $SE_OPTS --newsession-threadpool-size ${SE_NEW_SESSION_THREAD_POOL_SIZE} "
119+ append_se_opts " --newsession-threadpool-size" " ${SE_NEW_SESSION_THREAD_POOL_SIZE} "
119120fi
120121
121122/opt/bin/generate_config
@@ -150,7 +151,7 @@ if [ "$SE_ENABLE_TRACING" = "true" ]; then
150151 SE_JAVA_OPTS=" $SE_JAVA_OPTS ${SE_OTEL_JVM_ARGS} "
151152 fi
152153else
153- SE_OPTS= " $SE_OPTS --tracing false"
154+ append_se_opts " --tracing" " false"
154155 SE_JAVA_OPTS=" $SE_JAVA_OPTS -Dwebdriver.remote.enableTracing=false"
155156 echo " Tracing is disabled"
156157fi
0 commit comments