@@ -124,7 +124,7 @@ module JavaBuildpack::Jre
124124 :configuration => BASE_CONFIGURATION . merge ( { 'java.heap.size' => HEAP_SIZE } )
125125 ) . release
126126
127- expect ( java_opts . length ) . to eq ( 3 )
127+ expect ( java_opts . length ) . to eq ( 4 )
128128 expect ( java_opts . join ( ' ' ) ) . to match ( /-Xmx#{ HEAP_SIZE } / )
129129 end
130130 end
@@ -141,7 +141,7 @@ module JavaBuildpack::Jre
141141 :configuration => BASE_CONFIGURATION
142142 ) . release
143143
144- expect ( java_opts . length ) . to eq ( 3 )
144+ expect ( java_opts . length ) . to eq ( 4 )
145145 expect ( java_opts . join ( ' ' ) ) . to match ( /-Xmx/ )
146146 end
147147 end
@@ -170,7 +170,7 @@ module JavaBuildpack::Jre
170170 :configuration => BASE_CONFIGURATION . merge ( { 'java.permgen.size' => PERMGEN_SIZE } )
171171 ) . release
172172
173- expect ( java_opts . length ) . to eq ( 3 )
173+ expect ( java_opts . length ) . to eq ( 4 )
174174 expect ( java_opts . join ( ' ' ) ) . to match ( /-XX:MaxPermSize=#{ PERMGEN_SIZE } / )
175175 end
176176 end
@@ -187,7 +187,7 @@ module JavaBuildpack::Jre
187187 :configuration => BASE_CONFIGURATION
188188 ) . release
189189
190- expect ( java_opts . length ) . to eq ( 3 )
190+ expect ( java_opts . length ) . to eq ( 4 )
191191 expect ( java_opts . join ( ' ' ) ) . to match ( /-XX:MaxPermSize=/ )
192192 end
193193 end
@@ -216,7 +216,7 @@ module JavaBuildpack::Jre
216216 :configuration => BASE_CONFIGURATION . merge ( { 'java.stack.size' => STACK_SIZE } )
217217 ) . release
218218
219- expect ( java_opts . length ) . to eq ( 3 )
219+ expect ( java_opts . length ) . to eq ( 4 )
220220 expect ( java_opts . join ( ' ' ) ) . to match ( /-Xss#{ STACK_SIZE } / )
221221 end
222222 end
@@ -233,7 +233,7 @@ module JavaBuildpack::Jre
233233 :configuration => BASE_CONFIGURATION
234234 ) . release
235235
236- expect ( java_opts . length ) . to eq ( 3 )
236+ expect ( java_opts . length ) . to eq ( 4 )
237237 expect ( java_opts . join ( ' ' ) ) . to match ( /-Xss1M/ )
238238 end
239239 end
@@ -262,7 +262,7 @@ module JavaBuildpack::Jre
262262 :configuration => BASE_CONFIGURATION . merge ( { 'java.metaspace.size' => METASPACE_SIZE } )
263263 ) . release
264264
265- expect ( java_opts . length ) . to eq ( 3 )
265+ expect ( java_opts . length ) . to eq ( 4 )
266266 expect ( java_opts . join ( ' ' ) ) . to match ( /-XX:MaxMetaspaceSize=#{ PERMGEN_SIZE } / )
267267 end
268268 end
@@ -279,7 +279,7 @@ module JavaBuildpack::Jre
279279 :configuration => BASE_CONFIGURATION
280280 ) . release
281281
282- expect ( java_opts . length ) . to eq ( 3 )
282+ expect ( java_opts . length ) . to eq ( 4 )
283283 expect ( java_opts . join ( ' ' ) ) . to match ( /-XX:MaxMetaspaceSize=/ )
284284 end
285285 end
@@ -296,8 +296,8 @@ module JavaBuildpack::Jre
296296 :configuration => BASE_CONFIGURATION
297297 ) . release
298298
299- expect ( java_opts . length ) . to eq ( 1 )
300- expect ( java_opts [ 0 ] ) . to match ( /-Xss1M/ )
299+ expect ( java_opts . length ) . to eq ( 2 )
300+ expect ( java_opts . join ( ' ' ) ) . to match ( /-Xss1M/ )
301301 end
302302 end
303303
@@ -311,6 +311,23 @@ module JavaBuildpack::Jre
311311 ) . detect } . to raise_error ( /OpenJDK\ JRE\ error:\ test\ error/ )
312312 end
313313
314+ it 'adds OnOutOfMemoryError to java_opts' do
315+ with_memory_limit ( nil ) do
316+ JavaBuildpack ::Repository ::ConfiguredItem . stub ( :find_item ) . and_return ( DETAILS_PRE_8 )
317+
318+ java_opts = [ ]
319+ OpenJdk . new (
320+ :app_dir => '' ,
321+ :java_home => '' ,
322+ :java_opts => java_opts ,
323+ :configuration => BASE_CONFIGURATION . merge ( { 'java.heap.size' => HEAP_SIZE } )
324+ ) . release
325+
326+ expect ( java_opts . length ) . to eq ( 3 )
327+ expect ( java_opts . join ( ' ' ) ) . to match ( /-XX:OnOutOfMemoryError='kill -9 %p'/ )
328+ end
329+ end
330+
314331 def with_memory_limit ( memory_limit )
315332 previous_value = ENV [ 'MEMORY_LIMIT' ]
316333 begin
0 commit comments