blob: 68d4edce813541666a78642d4f8e97299bfb5953 [file] [log] [blame]
package util
import (
"path/filepath"
"strings"
"testing"
"github.com/stretchr/testify/require"
"go.skia.org/infra/go/testutils/unittest"
)
const (
TEST_FILE_NAME = "testingtesting"
GS_TEST_TIMESTAMP_VALUE = "123"
)
func TestGetStartRange(t *testing.T) {
unittest.SmallTest(t)
require.Equal(t, 1, GetStartRange(1, 1000))
require.Equal(t, 2001, GetStartRange(3, 1000))
require.Equal(t, 41, GetStartRange(3, 20))
}
func TestGetPathToPyFiles(t *testing.T) {
unittest.SmallTest(t)
expectedLocalPathSuffix := filepath.Join("ct", "py")
expectedSwarmingPathSuffix := "py"
// Test local path.
pathToPyFiles, err := GetPathToPyFiles(true /* local */)
require.NoError(t, err)
require.True(t, strings.HasSuffix(pathToPyFiles, expectedLocalPathSuffix))
// Test swarming path.
pathToPyFiles, err = GetPathToPyFiles(false /* local */)
require.NoError(t, err)
require.True(t, strings.HasSuffix(pathToPyFiles, expectedSwarmingPathSuffix))
}
func TestGetStrFlagValue(t *testing.T) {
unittest.SmallTest(t)
require.Equal(t, "desktop", GetStrFlagValue("--user-agent=desktop", USER_AGENT_FLAG, "default-value"))
require.Equal(t, "desktop", GetStrFlagValue("--user-agent desktop", USER_AGENT_FLAG, "default-value"))
// Use first value if multiple are specified.
require.Equal(t, "desktop", GetStrFlagValue("--user-agent=desktop --user-agent=mobile", USER_AGENT_FLAG, "default-value"))
// Test that default value gets returned.
require.Equal(t, "default-value", GetStrFlagValue("", USER_AGENT_FLAG, "default-value"))
require.Equal(t, "default-value", GetStrFlagValue("--user-agentsssss=desktop", USER_AGENT_FLAG, "default-value"))
require.Equal(t, "default-value", GetStrFlagValue("--somethingelse", USER_AGENT_FLAG, "default-value"))
}
func TestGetIntFlagValue(t *testing.T) {
unittest.SmallTest(t)
require.Equal(t, 4, GetIntFlagValue("--pageset-repeat=4", PAGESET_REPEAT_FLAG, 1))
require.Equal(t, 4, GetIntFlagValue("--pageset-repeat 4", PAGESET_REPEAT_FLAG, 1))
// Use first value if multiple are specified.
require.Equal(t, 4, GetIntFlagValue("--pageset-repeat=4 --pageset-repeat=3", PAGESET_REPEAT_FLAG, 1))
// Test that default value gets returned.
require.Equal(t, 2, GetIntFlagValue("", PAGESET_REPEAT_FLAG, 2))
require.Equal(t, 2, GetIntFlagValue("--pageset-repeatsssss=4", PAGESET_REPEAT_FLAG, 2))
require.Equal(t, 2, GetIntFlagValue("--somethingelse", PAGESET_REPEAT_FLAG, 2))
}
func TestRemoveFlagsFromArgs(t *testing.T) {
unittest.SmallTest(t)
require.Equal(t, "", RemoveFlagsFromArgs("--pageset-repeat=4", PAGESET_REPEAT_FLAG))
require.Equal(t, "", RemoveFlagsFromArgs("--pageset-repeat=4 --run-benchmark-timeout=400", PAGESET_REPEAT_FLAG, RUN_BENCHMARK_TIMEOUT_FLAG))
require.Equal(t, "--abc", RemoveFlagsFromArgs("--pageset-repeat=4 --pageset-repeat=abc --pageset-repeat --abc", PAGESET_REPEAT_FLAG))
require.Equal(t, "", RemoveFlagsFromArgs("", PAGESET_REPEAT_FLAG))
require.Equal(t, "--abc", RemoveFlagsFromArgs("--abc", PAGESET_REPEAT_FLAG))
require.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))
}