mirror of
https://github.com/AdguardTeam/AdGuardHome.git
synced 2024-11-17 10:58:29 -07:00
a3dddd72c1
Merge in DNS/adguard-home from 2639-testify-require-2 to master Updates #2639. Squashed commit of the following: commit 31cc29a166e2e48a73956853cbc6d6dd681ab6da Author: Eugene Burkov <e.burkov@adguard.com> Date: Tue Feb 9 18:48:31 2021 +0300 all: deal with t.Run commit 484f477fbfedd03aca4d322bc1cc9e131f30e1ce Author: Eugene Burkov <e.burkov@adguard.com> Date: Tue Feb 9 17:44:02 2021 +0300 all: fix readability, imp tests commit 1231a825b353c16e43eae1b660dbb4c87805f564 Author: Eugene Burkov <e.burkov@adguard.com> Date: Tue Feb 9 16:06:29 2021 +0300 all: imp tests
46 lines
853 B
Go
46 lines
853 B
Go
package aghtest
|
|
|
|
import (
|
|
"io/ioutil"
|
|
"os"
|
|
"runtime"
|
|
"testing"
|
|
"time"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
// PrepareTestDir returns the full path to temporary created directory and
|
|
// registers the appropriate cleanup for *t.
|
|
func PrepareTestDir(t *testing.T) (dir string) {
|
|
t.Helper()
|
|
|
|
wd, err := os.Getwd()
|
|
require.Nil(t, err)
|
|
|
|
dir, err = ioutil.TempDir(wd, "agh-test")
|
|
require.Nil(t, err)
|
|
require.NotEmpty(t, dir)
|
|
|
|
t.Cleanup(func() {
|
|
// TODO(e.burkov): Replace with t.TempDir methods after updating
|
|
// go version to 1.15.
|
|
start := time.Now()
|
|
for {
|
|
err := os.RemoveAll(dir)
|
|
if err == nil {
|
|
break
|
|
}
|
|
|
|
if runtime.GOOS != "windows" || time.Since(start) >= 500*time.Millisecond {
|
|
break
|
|
}
|
|
time.Sleep(5 * time.Millisecond)
|
|
}
|
|
assert.Nil(t, err)
|
|
})
|
|
|
|
return dir
|
|
}
|