22use lib ' .' ;
33use t::TestCore::Stream;
44
5- plan tests => repeat_each() * (blocks() * 2 + 2 );
5+ plan tests => repeat_each() * (blocks() * 2 + 1 );
66
77$ENV {TEST_NGINX_BAR } = ' world' ;
88$ENV {TEST_NGINX_LUA_PACKAGE_PATH } = " $t::TestCore::Stream::lua_package_path " ;
@@ -154,81 +154,38 @@ in content:\s+
154154
155155
156156=== TEST 8: os.getenv() overwrite is reverted in worker phases
157- --- stream_config
158- lua_package_path "$TEST_NGINX_LUA_PACKAGE_PATH";
159- lua_load_resty_core off;
160-
161- init_by_lua_block {
162- package.loaded.os_getenv = os.getenv
163- require "resty.core"
164- package.loaded.is_os_getenv = os.getenv == package.loaded.os_getenv
165- }
166- --- stream_server_config
167- content_by_lua_block {
168- os.getenv("")
169-
170- ngx.say("in init: ", package.loaded.is_os_getenv, "\n",
171- "in content: ", os.getenv == package.loaded.os_getenv)
172- }
173- --- stream_response
174- in init: false
175- in content: true
176-
177-
178-
179- === TEST 9: os.getenv() can be localized before loading resty.core
180157--- main_config
181158env FOO=hello;
182159--- stream_config
183160 lua_package_path "$TEST_NGINX_LUA_PACKAGE_PATH";
184- lua_load_resty_core off;
185161
186162 init_by_lua_block {
187- package.loaded.os_getenv = os.getenv
188- require "resty.core"
189-
190- do
191- local getenv = os.getenv
192-
193- package.loaded.f = function ()
194- ngx.log(ngx.NOTICE, "FOO: ", getenv("FOO"))
195- end
196- end
197-
198- package.loaded.f()
199-
200- package.loaded.is_os_getenv = os.getenv == package.loaded.os_getenv
163+ package.loaded.init_os_getenv = os.getenv
201164 }
202165--- stream_server_config
203166 content_by_lua_block {
204- package.loaded.f()
205- package.loaded.f()
167+ ngx.say("FOO=", os.getenv("FOO"))
206168
207- ngx.say("in init: ", package.loaded.is_os_getenv, "\n",
208- "in content: ", os.getenv == package.loaded.os_getenv)
169+ if os.getenv ~= package.loaded.init_os_getenv then
170+ ngx.say("os.getenv() overwrite was reverted")
171+
172+ else
173+ ngx.say("os.getenv() overwrite was not reverted")
174+ end
209175 }
210176--- stream_response
211- in init: false
212- in content: true
213- --- grep_error_log eval
214- qr/FOO: [a-z]+/
215- --- grep_error_log_out
216- FOO: hello
217- FOO: hello
218- FOO: hello
177+ FOO=hello
178+ os.getenv() overwrite was reverted
219179
220180
221181
222- === TEST 10 : os.getenv() can be localized after loading resty.core
182+ === TEST 9 : os.getenv() can be localized after loading resty.core
223183--- main_config
224184env FOO=hello;
225185--- stream_config
226186 lua_package_path "$TEST_NGINX_LUA_PACKAGE_PATH";
227- lua_load_resty_core off;
228187
229188 init_by_lua_block {
230- package.loaded.os_getenv = os.getenv
231-
232189 do
233190 local getenv = os.getenv
234191
@@ -248,15 +205,18 @@ env FOO=hello;
248205 package.loaded.f()
249206 package.loaded.f()
250207
251- ngx.say("in init: ", package.loaded.is_os_getenv, "\n",
252- "in content: ", os.getenv == package.loaded.os_getenv)
208+ if os.getenv ~= package.loaded.init_os_getenv then
209+ ngx.say("os.getenv() overwrite was reverted")
210+
211+ else
212+ ngx.say("os.getenv() overwrite was not reverted")
213+ end
253214 }
254215--- stream_response
255- in init: false
256- in content: false
216+ os.getenv() overwrite was reverted
257217--- grep_error_log eval
258218qr/FOO: [a-z]+/
259219--- grep_error_log_out
260- FOO: nil
220+ FOO: hello
261221FOO: hello
262222FOO: hello
0 commit comments