kubo/test/cli/testutils/requires.go
Gus Eggert 579175f81d feat: add basic CLI tests using Go Test
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.
2022-12-12 09:43:09 -05:00

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()
}
}