Skip to content

Commit 6bdbd19

Browse files
committed
Fix spec intermittent nil $ir
Signed-off-by: Jimmy Tanagra <jcode@tanagra.id.au>
1 parent 44e1585 commit 6bdbd19

1 file changed

Lines changed: 14 additions & 0 deletions

File tree

lib/openhab/rspec/helpers.rb

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -229,6 +229,20 @@ def launch_karaf(include_bindings: true,
229229
karaf.use_root_instance = use_root_instance
230230
main = karaf.launch
231231

232+
# Ensure DefaultScriptScopeProvider has registered with ScriptExtensionManager
233+
# before loading the DSL. openhab/core calls import_default_presets at load time
234+
# to set $ir; if DefaultScriptScopeProvider hasn't bound yet, $ir ends up nil.
235+
# ScriptExtensionManager binds providers synchronously on service registration,
236+
# so waiting for the provider service is sufficient.
237+
karaf.send(:wait) do |continue|
238+
karaf.send(
239+
:wait_for_service,
240+
"org.openhab.core.automation.module.script.ScriptExtensionProvider",
241+
filter: "(component.name=org.openhab.core.automation.module.script" \
242+
".internal.defaultscope.DefaultScriptScopeProvider)"
243+
) { continue.call }
244+
end
245+
232246
require "openhab/dsl"
233247

234248
require_relative "mocks/persistence_service"

0 commit comments

Comments
 (0)