mirror of
https://github.com/ipfs/kubo.git
synced 2026-02-23 03:17:43 +08:00
This is intended as a replacement for sharness. These are vanilla Go tests which can be run in your IDE for quick iteration on end-to-end CLI tests. This also removes IPTB by duplicating its functionality in the test harness. This isn't a big deal...IPTB's complexity is mostly around the fact that its state needs to be saved to disk in between `iptb` command invocations, and that it uses Go plugins to inject functionality, neither of which are relevant here. If we merge this, we'll have to live with bifurcated tests for a while until they are all migrated. I'd recommend we self-enforce a rule that, if we need to touch a sharness test, we migrate it and one more test over to Go tests first. Then eventually we will have migrated everything.
38 lines
550 B
Go
38 lines
550 B
Go
package testutils
|
|
|
|
import (
|
|
"os"
|
|
"runtime"
|
|
"testing"
|
|
)
|
|
|
|
func RequiresDocker(t *testing.T) {
|
|
if os.Getenv("TEST_NO_DOCKER") == "1" {
|
|
t.SkipNow()
|
|
}
|
|
}
|
|
|
|
func RequiresFUSE(t *testing.T) {
|
|
if os.Getenv("TEST_NO_FUSE") == "1" {
|
|
t.SkipNow()
|
|
}
|
|
}
|
|
|
|
func RequiresExpensive(t *testing.T) {
|
|
if os.Getenv("TEST_EXPENSIVE") == "1" || testing.Short() {
|
|
t.SkipNow()
|
|
}
|
|
}
|
|
|
|
func RequiresPlugins(t *testing.T) {
|
|
if os.Getenv("TEST_NO_PLUGIN") == "1" {
|
|
t.SkipNow()
|
|
}
|
|
}
|
|
|
|
func RequiresLinux(t *testing.T) {
|
|
if runtime.GOOS != "linux" {
|
|
t.SkipNow()
|
|
}
|
|
}
|