From a87381a3c19ebc88e4f128598aaf6b49935c7fe2 Mon Sep 17 00:00:00 2001 From: Bohdan Sviripa Date: Mon, 29 Apr 2024 21:58:11 -0400 Subject: [PATCH] Update checkRunEnv to create nested tmp subdirectories --- runner/_testdata/nested/.air.toml | 1 + runner/engine.go | 2 +- runner/engine_test.go | 17 +++++++++++++++++ 3 files changed, 19 insertions(+), 1 deletion(-) create mode 100644 runner/_testdata/nested/.air.toml diff --git a/runner/_testdata/nested/.air.toml b/runner/_testdata/nested/.air.toml new file mode 100644 index 00000000..8d616841 --- /dev/null +++ b/runner/_testdata/nested/.air.toml @@ -0,0 +1 @@ +tmp_dir = "./tmp/nested" diff --git a/runner/engine.go b/runner/engine.go index 69db92d4..fa148a5d 100644 --- a/runner/engine.go +++ b/runner/engine.go @@ -104,7 +104,7 @@ func (e *Engine) checkRunEnv() error { p := e.config.tmpPath() if _, err := os.Stat(p); os.IsNotExist(err) { e.runnerLog("mkdir %s", p) - if err := os.Mkdir(p, 0o755); err != nil { + if err := os.MkdirAll(p, 0o755); err != nil { e.runnerLog("failed to mkdir, error: %s", err.Error()) return err } diff --git a/runner/engine_test.go b/runner/engine_test.go index 2521e308..8fb5282f 100644 --- a/runner/engine_test.go +++ b/runner/engine_test.go @@ -49,6 +49,23 @@ func TestCheckRunEnv(t *testing.T) { } } +func TestCheckRunEnvNestedTmp(t *testing.T) { + _ = os.Unsetenv(airWd) + engine, err := NewEngine("_testdata/nested/.air.toml", true) + if err != nil { + t.Fatalf("Should not be fail: %s.", err) + } + + err = engine.checkRunEnv() + if err != nil { + t.Fatal("Should not return an err") + } + + if _, err := os.Stat("./tmp/nested"); os.IsNotExist(err) { + t.Fatal("Should create a nested tmp folder") + } +} + func TestWatching(t *testing.T) { engine, err := NewEngine("", true) if err != nil {