Skip to content

Commit 2781a70

Browse files
committed
chore: #log_base_dir unit tests
1 parent 4b34dd8 commit 2781a70

File tree

2 files changed

+51
-3
lines changed

2 files changed

+51
-3
lines changed

lib/roby/app.rb

+3-3
Original file line numberDiff line numberDiff line change
@@ -1492,10 +1492,10 @@ def log_base_dir
14921492
if @log_base_dir ||= log["dir"]
14931493
@log_base_dir
14941494
elsif (global_base_dir = ENV["ROBY_BASE_LOG_DIR"])
1495-
if ENV["ROBY_ADD_APP_NAME_TO_BASE_LOG_DIR"] == "1"
1496-
global_base_dir
1497-
else
1495+
if ENV["ROBY_ADD_APP_NAME_TO_BASE_LOG_DIR"] != "0"
14981496
File.join(global_base_dir, app_name)
1497+
else
1498+
global_base_dir
14991499
end
15001500
else
15011501
"logs"

test/test_app.rb

+48
Original file line numberDiff line numberDiff line change
@@ -138,6 +138,54 @@ def initialize(formatter)
138138
end
139139
end
140140

141+
describe "#log_base_dir" do
142+
before do
143+
ENV.delete("ROBY_BASE_LOG_DIR")
144+
ENV.delete("ROBY_ADD_APP_NAME_TO_BASE_LOG_DIR")
145+
app.log.delete("dir")
146+
end
147+
it "it uses log[dir] when no ENV variable is set and log is set" do
148+
app.log["dir"] = "strawberry"
149+
log_base_dir = app.log_base_dir
150+
151+
assert_equal(File.join(app_dir, "strawberry"), log_base_dir)
152+
end
153+
it "it uses ROBY_BASE_LOG_DIR with app name if no "\
154+
"ROBY_ADD_APP_NAME_TO_BASE_LOG_DIR is set" do
155+
ENV["ROBY_BASE_LOG_DIR"] = "pineaple"
156+
log_base_dir = app.log_base_dir
157+
158+
expected_no_app_base_dir = File.join(app_dir, "pineaple")
159+
expected_base_dir = File.join(expected_no_app_base_dir, app.app_name)
160+
assert_equal(expected_base_dir, log_base_dir)
161+
end
162+
it "it uses ROBY_BASE_LOG_DIR with app name if "\
163+
"ROBY_ADD_APP_NAME_TO_BASE_LOG_DIR is set to true" do
164+
ENV["ROBY_BASE_LOG_DIR"] = "banana"
165+
ENV["ROBY_ADD_APP_NAME_TO_BASE_LOG_DIR"] = "1"
166+
log_base_dir = app.log_base_dir
167+
168+
expected_no_app_base_dir = File.join(app_dir, "banana")
169+
expected_base_dir = File.join(expected_no_app_base_dir, app.app_name)
170+
assert_equal(expected_base_dir, log_base_dir)
171+
end
172+
it "it uses ROBY_BASE_LOG_DIR without app name if "\
173+
"ROBY_ADD_APP_NAME_TO_BASE_LOG_DIR is set to false" do
174+
ENV["ROBY_BASE_LOG_DIR"] = "coconut"
175+
ENV["ROBY_ADD_APP_NAME_TO_BASE_LOG_DIR"] = "0"
176+
log_base_dir = app.log_base_dir
177+
178+
expected_no_app_base_dir = File.join(app_dir, "coconut")
179+
assert_equal(expected_no_app_base_dir, log_base_dir)
180+
end
181+
it "if nothing is set, it defaults to logs as base logs dir" do
182+
log_base_dir = app.log_base_dir
183+
184+
expected_no_app_base_dir = File.join(app_dir, "logs")
185+
assert_equal(expected_no_app_base_dir, log_base_dir)
186+
end
187+
end
188+
141189
describe "#find_and_create_log_dir" do
142190
before do
143191
app.log_base_dir = File.join(make_tmpdir, "log", "path")

0 commit comments

Comments
 (0)