//go:build darwin

package docker

import (
	"fmt"
	"os"
	"testing"
	"time"
)

// TestMain is a hacky test entrypoint to set temp directory to a path that can
// be mounted into Docker containers on macOS without needing dev performing
// special setup.
//
// macOS sets tempdir as `/var`, which Docker does not allowlist as a path that
// can be bind-mounted.
func TestMain(m *testing.M) {
	tmpdir := fmt.Sprintf("/tmp/nomad-docker-tests-%d", time.Now().Unix())

	defer os.Setenv("TMPDIR", os.Getenv("TMPDIR"))
	os.Setenv("TMPDIR", tmpdir)

	os.MkdirAll(tmpdir, 0700)
	defer os.RemoveAll(tmpdir)

	os.Exit(m.Run())
}
