@@ -64,3 +64,107 @@ def test_s2i_build_from_df(self, app_path, s2i_args, src_image, dest_image, df):
6464 dst_image = dest_image ,
6565 )
6666 assert generated_df == df
67+
68+ def test_check_envs_set (self ):
69+ run_envs = """MANPATH=/opt/rh/rh-ruby26/root/usr/local/share/man:/opt/rh/rh-ruby26/root/usr/share/man:/opt/rh/rh-nodejs14/root/usr/share/man:
70+ APP_ROOT=/opt/app-root
71+ NODEJS_SCL=rh-nodejs14
72+ X_SCLS=rh-nodejs14 rh-ruby26
73+ LD_LIBRARY_PATH=/opt/rh/rh-ruby26/root/usr/local/lib64:/opt/rh/rh-ruby26/root/usr/lib64:/opt/rh/rh-nodejs14/root/usr/lib64
74+ PATH=/opt/rh/rh-ruby26/root/usr/local/bin:/opt/rh/rh-ruby26/root/usr/bin:/opt/rh/rh-nodejs14/root/usr/bin:/opt/app-root/src/bin:/opt/app-root/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
75+ STI_SCRIPTS_URL=image:///usr/libexec/s2i
76+ PWD=/opt/app-root/src
77+ STI_SCRIPTS_PATH=/usr/libexec/s2i
78+ IMAGE_NAME=rhscl/ruby-26-rhel7
79+ HOME=/opt/app-root/src
80+ RUBY_SCL=rh-ruby26
81+ XDG_DATA_DIRS=/opt/rh/rh-ruby26/root/usr/local/share:/opt/rh/rh-ruby26/root/usr/share:/usr/local/share:/usr/share
82+ PKG_CONFIG_PATH=/opt/rh/rh-ruby26/root/usr/local/lib64/pkgconfig:/opt/rh/rh-ruby26/root/usr/lib64/pkgconfig
83+ RUBY_VERSION=2.6"""
84+ exec_envs = """PATH=/opt/rh/rh-ruby26/root/usr/local/bin:/opt/rh/rh-ruby26/root/usr/bin:/opt/rh/rh-nodejs14/root/usr/bin:/opt/app-root/src/bin:/opt/app-root/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
85+ SUMMARY=Platform for building and running Ruby 2.6 applications
86+ STI_SCRIPTS_URL=image:///usr/libexec/s2i
87+ STI_SCRIPTS_PATH=/usr/libexec/s2i
88+ APP_ROOT=/opt/app-root
89+ HOME=/opt/app-root/src
90+ BASH_ENV=/opt/app-root/etc/scl_enable
91+ ENV=/opt/app-root/etc/scl_enable
92+ PROMPT_COMMAND=. /opt/app-root/etc/scl_enable
93+ NODEJS_SCL=rh-nodejs14
94+ RUBY_SCL=rh-ruby26
95+ IMAGE_NAME=rhscl/ruby-26-rhel7
96+ LD_LIBRARY_PATH=/opt/rh/rh-ruby26/root/usr/local/lib64:/opt/rh/rh-ruby26/root/usr/lib64:/opt/rh/rh-nodejs14/root/usr/lib64
97+ X_SCLS=rh-nodejs14 rh-ruby26
98+ MANPATH=/opt/rh/rh-ruby26/root/usr/local/share/man:/opt/rh/rh-ruby26/root/usr/share/man:/opt/rh/rh-nodejs14/root/usr/share/man:
99+ XDG_DATA_DIRS=/opt/rh/rh-ruby26/root/usr/local/share:/opt/rh/rh-ruby26/root/usr/share:/usr/local/share:/usr/share
100+ PKG_CONFIG_PATH=/opt/rh/rh-ruby26/root/usr/local/lib64/pkgconfig:/opt/rh/rh-ruby26/root/usr/lib64/pkgconfig
101+ """
102+ ccs = ContainerCISuite (image_name = "f32/nodejs:12" )
103+ ccs .test_check_envs_set (env_filter = "^X_SCLS=|/opt/rh|/opt/app-root" , check_envs = exec_envs , loop_envs = run_envs )
104+
105+ def test_check_envs_set_home_not_in_docker_exec (self ):
106+ run_envs = """MANPATH=/opt/rh/rh-ruby26/root/usr/local/share/man:/opt/rh/rh-ruby26/root/usr/share/man:/opt/rh/rh-nodejs14/root/usr/share/man:
107+ APP_ROOT=/opt/app-root
108+ X_SCLS=rh-nodejs14 rh-ruby26
109+ LD_LIBRARY_PATH=/opt/rh/rh-ruby26/root/usr/local/lib64:/opt/rh/rh-ruby26/root/usr/lib64:/opt/rh/rh-nodejs14/root/usr/lib64
110+ PATH=/opt/rh/rh-ruby26/root/usr/local/bin:/opt/rh/rh-ruby26/root/usr/bin:/opt/rh/rh-nodejs14/root/usr/bin:/opt/app-root/src/bin:/opt/app-root/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
111+ STI_SCRIPTS_URL=image:///usr/libexec/s2i
112+ STI_SCRIPTS_PATH=/usr/libexec/s2i
113+ HOME=/opt/app-root/src
114+ XDG_DATA_DIRS=/opt/rh/rh-ruby26/root/usr/local/share:/opt/rh/rh-ruby26/root/usr/share:/usr/local/share:/usr/share
115+ PKG_CONFIG_PATH=/opt/rh/rh-ruby26/root/usr/local/lib64/pkgconfig:/opt/rh/rh-ruby26/root/usr/lib64/pkgconfig
116+ RUBY_VERSION=2.6"""
117+ exec_envs = """PATH=/opt/rh/rh-ruby26/root/usr/local/bin:/opt/rh/rh-ruby26/root/usr/bin:/opt/rh/rh-nodejs14/root/usr/bin:/opt/app-root/src/bin:/opt/app-root/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
118+ STI_SCRIPTS_URL=image:///usr/libexec/s2i
119+ STI_SCRIPTS_PATH=/usr/libexec/s2i
120+ APP_ROOT=/opt/app-root
121+ BASH_ENV=/opt/app-root/etc/scl_enable
122+ ENV=/opt/app-root/etc/scl_enable
123+ PROMPT_COMMAND=. /opt/app-root/etc/scl_enable
124+ LD_LIBRARY_PATH=/opt/rh/rh-ruby26/root/usr/local/lib64:/opt/rh/rh-ruby26/root/usr/lib64:/opt/rh/rh-nodejs14/root/usr/lib64
125+ X_SCLS=rh-nodejs14 rh-ruby26
126+ MANPATH=/opt/rh/rh-ruby26/root/usr/local/share/man:/opt/rh/rh-ruby26/root/usr/share/man:/opt/rh/rh-nodejs14/root/usr/share/man:
127+ XDG_DATA_DIRS=/opt/rh/rh-ruby26/root/usr/local/share:/opt/rh/rh-ruby26/root/usr/share:/usr/local/share:/usr/share
128+ PKG_CONFIG_PATH=/opt/rh/rh-ruby26/root/usr/local/lib64/pkgconfig:/opt/rh/rh-ruby26/root/usr/lib64/pkgconfig
129+ """
130+ ccs = ContainerCISuite (image_name = "f32/nodejs:12" )
131+ ret = ccs .test_check_envs_set (
132+ env_filter = "^X_SCLS=|/opt/rh|/opt/app-root" ,
133+ check_envs = exec_envs ,
134+ loop_envs = run_envs
135+ )
136+ assert not ret
137+
138+ def test_check_envs_set_not_in_run_envs_not_path (self ):
139+ run_envs = """MANPATH=/opt/rh/rh-ruby26/root/usr/local/share/man:/opt/rh/rh-ruby26/root/usr/share/man:/opt/rh/rh-nodejs14/root/usr/share/man:
140+ APP_ROOT=/opt/app-root
141+ X_SCLS=rh-nodejs14 rh-ruby26
142+ LD_LIBRARY_PATH=/opt/rh/rh-ruby26/root/usr/local/lib64:/opt/rh/rh-ruby26/root/usr/lib64:/opt/rh/rh-nodejs14/root/usr/lib64
143+ PATH=/opt/rh/rh-ruby26/root/usr/local/bin:/opt/rh/rh-ruby26/root/usr/bin:/opt/rh/rh-nodejs14/root/usr/bin:/opt/app-root/src/bin:/opt/app-root/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
144+ STI_SCRIPTS_URL=image:///usr/libexec/s2i
145+ STI_SCRIPTS_PATH=/usr/libexec/s2i
146+ HOME=/opt/app-root/src
147+ XDG_DATA_DIRS=/opt/rh/rh-ruby26/root/usr/local/share:/opt/rh/rh-ruby26/root/usr/share:/usr/local/share:/usr/share
148+ PKG_CONFIG_PATH=/opt/rh/rh-ruby26/root/usr/local/lib64/pkgconfig:/opt/rh/rh-ruby26/root/usr/lib64/pkgconfig
149+ RUBY_VERSION=2.6"""
150+ exec_envs = """PATH=/opt/rh/rh-ruby26/root/usr/local/bin:/opt/rh/rh-nodejs14/root/usr/bin:/opt/app-root/src/bin:/opt/app-root/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
151+ STI_SCRIPTS_URL=image:///usr/libexec/s2i
152+ STI_SCRIPTS_PATH=/usr/libexec/s2i
153+ APP_ROOT=/opt/app-root
154+ BASH_ENV=/opt/app-root/etc/scl_enable
155+ ENV=/opt/app-root/etc/scl_enable
156+ PROMPT_COMMAND=. /opt/app-root/etc/scl_enable
157+ LD_LIBRARY_PATH=/opt/rh/rh-ruby26/root/usr/local/lib64:/opt/rh/rh-ruby26/root/usr/lib64:/opt/rh/rh-nodejs14/root/usr/lib64
158+ X_SCLS=rh-nodejs14 rh-ruby26
159+ HOME=/opt/app-root/src
160+ MANPATH=/opt/rh/rh-ruby26/root/usr/local/share/man:/opt/rh/rh-ruby26/root/usr/share/man:/opt/rh/rh-nodejs14/root/usr/share/man:
161+ XDG_DATA_DIRS=/opt/rh/rh-ruby26/root/usr/local/share:/opt/rh/rh-ruby26/root/usr/share:/usr/local/share:/usr/share
162+ PKG_CONFIG_PATH=/opt/rh/rh-ruby26/root/usr/local/lib64/pkgconfig:/opt/rh/rh-ruby26/root/usr/lib64/pkgconfig
163+ """
164+ ccs = ContainerCISuite (image_name = "f32/nodejs:12" )
165+ ret = ccs .test_check_envs_set (
166+ env_filter = "^X_SCLS=|/opt/rh|/opt/app-root" ,
167+ check_envs = exec_envs ,
168+ loop_envs = run_envs
169+ )
170+ assert not ret
0 commit comments