From bdaf1206f51727e2b2807ecd25c9c11a5736c3c8 Mon Sep 17 00:00:00 2001 From: Sylvain Joyeux Date: Sat, 9 Aug 2025 11:14:36 -0300 Subject: [PATCH] fix: make sure Environment#[] returns an inherited value after the inherit call It would appear as set only after some values were added to it. --- lib/autobuild/environment.rb | 1 + test/test_environment.rb | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/lib/autobuild/environment.rb b/lib/autobuild/environment.rb index ac9e0dca..b8c8ddba 100644 --- a/lib/autobuild/environment.rb +++ b/lib/autobuild/environment.rb @@ -256,6 +256,7 @@ def inherit(*names) if flag @inherited_variables |= names names.each do |env_name| + @environment[env_name] ||= [] init_from_env(env_name) end else diff --git a/test/test_environment.rb b/test/test_environment.rb index 1be01e3b..f9c96911 100644 --- a/test/test_environment.rb +++ b/test/test_environment.rb @@ -12,6 +12,11 @@ module Autobuild @env = Environment.new @env.inherit 'AUTOBUILD_TEST' end + + it "is available right after the inherit call" do + assert_equal "val1:val0", @env["AUTOBUILD_TEST"] + end + describe "push_path" do it "does not re-read the inherited environment" do end