blob: 10abdc13fd0a69eae6c0b08239402a6b2faa6617 [file] [log] [blame]
package util
import (
"fmt"
"path/filepath"
"strings"
"testing"
assert "github.com/stretchr/testify/require"
"go.skia.org/infra/go/testutils"
)
const (
TEST_FILE_NAME = "testingtesting"
GS_TEST_TIMESTAMP_VALUE = "123"
)
func TestGetStartRange(t *testing.T) {
testutils.SmallTest(t)
assert.Equal(t, 1, GetStartRange(1, 1000))
assert.Equal(t, 2001, GetStartRange(3, 1000))
assert.Equal(t, 41, GetStartRange(3, 20))
}
func TestGetPathToPyFiles(t *testing.T) {
testutils.SmallTest(t)
expectedLocalPathSuffix := filepath.Join("src", "go.skia.org", "infra", "ct", "py")
expectedMasterPath := filepath.Join("/", "usr", "local", "share", "ct-master", "py")
expectedSwarmingPathSuffix := "py"
// Test local path.
pathToPyFiles := GetPathToPyFiles(true /* local */, false /* runOnMaster */)
assert.True(t, strings.HasSuffix(pathToPyFiles, expectedLocalPathSuffix))
pathToPyFiles = GetPathToPyFiles(true /* local */, true /* runOnMaster */)
assert.True(t, strings.HasSuffix(pathToPyFiles, expectedLocalPathSuffix))
// Test master path.
pathToPyFiles = GetPathToPyFiles(false /* local */, true /* runOnMaster */)
assert.Equal(t, pathToPyFiles, expectedMasterPath)
// Test swarming path.
pathToPyFiles = GetPathToPyFiles(false /* local */, false /* runOnMaster */)
assert.True(t, strings.HasSuffix(pathToPyFiles, expectedSwarmingPathSuffix))
}
func TestGetIntFlagValue(t *testing.T) {
testutils.SmallTest(t)
assert.Equal(t, 4, GetIntFlagValue("--pageset-repeat=4", PAGESET_REPEAT_FLAG, 1))
assert.Equal(t, 4, GetIntFlagValue("--pageset-repeat 4", PAGESET_REPEAT_FLAG, 1))
// Use first value if multiple are specified.
assert.Equal(t, 4, GetIntFlagValue("--pageset-repeat=4 --pageset-repeat=3", PAGESET_REPEAT_FLAG, 1))
// Test that default value gets returned.
assert.Equal(t, 2, GetIntFlagValue("", PAGESET_REPEAT_FLAG, 2))
assert.Equal(t, 2, GetIntFlagValue("--pageset-repeatsssss=4", PAGESET_REPEAT_FLAG, 2))
assert.Equal(t, 2, GetIntFlagValue("--somethingelse", PAGESET_REPEAT_FLAG, 2))
}
func TestGetBasePixelDiffRemoteDir(t *testing.T) {
testutils.SmallTest(t)
// Test valid runID.
remoteDir, err := GetBasePixelDiffRemoteDir("rmistry-20170510163703")
assert.NoError(t, err)
assert.Equal(t, fmt.Sprintf("%s/2017/05/10/16/rmistry-20170510163703", PixelDiffRunsDir), remoteDir)
// Test invalid runID.
remoteDir, err = GetBasePixelDiffRemoteDir("blahblahblah")
assert.Error(t, err)
assert.Equal(t, "", remoteDir)
}
func TestRemoveFlagsFromArgs(t *testing.T) {
testutils.SmallTest(t)
assert.Equal(t, "", RemoveFlagsFromArgs("--pageset-repeat=4", PAGESET_REPEAT_FLAG))
assert.Equal(t, "", RemoveFlagsFromArgs("--pageset-repeat=4 --run-benchmark-timeout=400", PAGESET_REPEAT_FLAG, RUN_BENCHMARK_TIMEOUT_FLAG))
assert.Equal(t, "--abc", RemoveFlagsFromArgs("--pageset-repeat=4 --pageset-repeat=abc --pageset-repeat --abc", PAGESET_REPEAT_FLAG))
assert.Equal(t, "", RemoveFlagsFromArgs("", PAGESET_REPEAT_FLAG))
assert.Equal(t, "--abc", RemoveFlagsFromArgs("--abc", PAGESET_REPEAT_FLAG))
assert.Equal(t, "--output-format=csv --traffic-setting=Regular-3G", RemoveFlagsFromArgs("--output-format=csv --run-benchmark-timeout=900 --traffic-setting=Regular-3G", RUN_BENCHMARK_TIMEOUT_FLAG))
}