@@ -104,17 +104,46 @@ object SubprocessTests extends TestSuite {
104104
105105 test(" envArgs" ) {
106106 if (Unix ()) {
107- val res0 = proc(" bash" , " -c" , " echo \" Hello$ENV_ARG\" " ).call(env = Map (" ENV_ARG" -> " 12" ))
108- assert(res0.out.lines() == Seq (" Hello12" ))
107+ locally {
108+ val res0 = proc(" bash" , " -c" , " echo \" Hello$ENV_ARG\" " ).call(env = Map (" ENV_ARG" -> " 12" ))
109+ assert(res0.out.lines() == Seq (" Hello12" ))
110+ }
109111
110- val res1 = proc(" bash" , " -c" , " echo \" Hello$ENV_ARG\" " ).call(env = Map (" ENV_ARG" -> " 12" ))
111- assert(res1.out.lines() == Seq (" Hello12" ))
112+ locally {
113+ val res1 = proc(" bash" , " -c" , " echo \" Hello$ENV_ARG\" " ).call(env = Map (" ENV_ARG" -> " 12" ))
114+ assert(res1.out.lines() == Seq (" Hello12" ))
115+ }
112116
113- val res2 = proc(" bash" , " -c" , " echo 'Hello$ENV_ARG'" ).call(env = Map (" ENV_ARG" -> " 12" ))
114- assert(res2.out.lines() == Seq (" Hello$ENV_ARG" ))
117+ locally {
118+ val res2 = proc(" bash" , " -c" , " echo 'Hello$ENV_ARG'" ).call(env = Map (" ENV_ARG" -> " 12" ))
119+ assert(res2.out.lines() == Seq (" Hello$ENV_ARG" ))
120+ }
121+
122+ locally {
123+ val res3 = proc(" bash" , " -c" , " echo 'Hello'$ENV_ARG" ).call(env = Map (" ENV_ARG" -> " 123" ))
124+ assert(res3.out.lines() == Seq (" Hello123" ))
125+ }
115126
116- val res3 = proc(" bash" , " -c" , " echo 'Hello'$ENV_ARG" ).call(env = Map (" ENV_ARG" -> " 123" ))
117- assert(res3.out.lines() == Seq (" Hello123" ))
127+ locally {
128+ // TEST_SUBPROCESS_ENV env should be set in forkEnv in build.sc
129+ assert(sys.env.get(" TEST_SUBPROCESS_ENV" ) == Some (" value" ))
130+ val res4 = proc(" bash" , " -c" , " echo \" $TEST_SUBPROCESS_ENV\" " ).call(
131+ env = Map .empty,
132+ propagateEnv = false
133+ ).out.lines()
134+ assert(res4 == Seq (" " ))
135+ }
136+
137+ locally {
138+ // TEST_SUBPROCESS_ENV env should be set in forkEnv in build.sc
139+ assert(sys.env.get(" TEST_SUBPROCESS_ENV" ) == Some (" value" ))
140+
141+ val res5 = proc(" bash" , " -c" , " echo \" $TEST_SUBPROCESS_ENV\" " ).call(
142+ env = Map .empty,
143+ propagateEnv = true
144+ ).out.lines()
145+ assert(res5 == Seq (" value" ))
146+ }
118147 }
119148 }
120149 test(" multiChunk" ) {
0 commit comments