本文整理汇总了Golang中go/skia/org/infra/go/testutils.SkipIfShort函数的典型用法代码示例。如果您正苦于以下问题:Golang SkipIfShort函数的具体用法?Golang SkipIfShort怎么用?Golang SkipIfShort使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了SkipIfShort函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: TestGetGSResultFileLocations
func TestGetGSResultFileLocations(t *testing.T) {
testutils.SkipIfShort(t)
storage, err := storage.New(http.DefaultClient)
assert.Nil(t, err)
startTS := time.Date(2014, time.December, 10, 0, 0, 0, 0, time.UTC).Unix()
endTS := time.Date(2014, time.December, 10, 23, 59, 59, 0, time.UTC).Unix()
// TODO(stephana): Switch this to a dedicated test bucket, so we are not
// in danger of removing it.
resultFiles, err := getGSResultsFileLocations(startTS, endTS, storage, "chromium-skia-gm", "dm-json-v1")
assert.Nil(t, err)
// Read the expected list of files and compare them.
content, err := ioutil.ReadFile("./testdata/filelist_dec_10.txt")
assert.Nil(t, err)
lines := strings.Split(strings.TrimSpace(string(content)), "\n")
sort.Strings(lines)
resultNames := make([]string, len(resultFiles))
for idx, rf := range resultFiles {
resultNames[idx] = rf.Name
}
sort.Strings(resultNames)
assert.Equal(t, len(lines), len(resultNames))
assert.Equal(t, lines, resultNames)
}
示例2: TestGoogleStorageSource
func TestGoogleStorageSource(t *testing.T) {
testutils.SkipIfShort(t)
src, err := NewGoogleStorageSource("gs-test-src", TEST_GS_BUCKET, TEST_GS_DIR, http.DefaultClient)
assert.Nil(t, err)
testSource(t, src)
}
示例3: testBuildKeyOrdering
// testBuildKeyOrdering ensures that we properly sort build keys so that the
// build numbers are strictly ascending.
func testBuildKeyOrdering(t *testing.T, local bool) {
testutils.SkipIfShort(t)
d := clearDB(t, local)
defer d.Close(t)
b := "Test-Builder"
m := "test.master"
assert.Nil(t, d.DB().PutBuild(&Build{
Builder: b,
Master: m,
Number: 1,
}))
assert.Nil(t, d.DB().PutBuild(&Build{
Builder: b,
Master: m,
Number: 10,
}))
assert.Nil(t, d.DB().PutBuild(&Build{
Builder: b,
Master: m,
Number: 2,
}))
max, err := d.DB().GetMaxBuildNumber(m, b)
assert.Nil(t, err)
assert.Equal(t, 10, max)
}
示例4: TestGetLocalResultFileLocations
func TestGetLocalResultFileLocations(t *testing.T) {
testutils.SkipIfShort(t)
err := testutils.DownloadTestDataArchive(t, TEST_DATA_STORAGE_PATH, TEST_DATA_DIR)
assert.Nil(t, err)
startTS := time.Date(2015, time.May, 5, 0, 0, 0, 0, time.UTC).Unix()
endTS := time.Date(2015, time.May, 17, 23, 59, 59, 0, time.UTC).Unix()
resultFiles, err := getLocalResultsFileLocations(startTS, endTS, filepath.Join(TEST_DATA_DIR, "nano-json-v1"))
assert.Nil(t, err)
// Read the expected list of files and compare them.
content, err := ioutil.ReadFile("./testdata/local_ingest_files.txt")
assert.Nil(t, err)
lines := strings.Split(strings.TrimSpace(string(content)), "\n")
sort.Strings(lines)
resultNames := make([]string, len(resultFiles))
for idx, rf := range resultFiles {
resultNames[idx] = rf.Name
}
sort.Strings(resultNames)
assert.Equal(t, len(lines), len(resultNames))
assert.Equal(t, lines, resultNames)
}
示例5: testBuildDbSerialization
// testBuildDbSerialization verifies that we can write a build to the DB and
// pull it back out without losing or corrupting the data.
func testBuildDbSerialization(t *testing.T, local bool) {
testutils.SkipIfShort(t)
d := clearDB(t, local)
defer d.Close(t)
// Load the test repo.
tr := util.NewTempRepo()
defer tr.Cleanup()
repos := gitinfo.NewRepoMap(tr.Dir)
// Test case: an empty build. Tests null and empty values.
emptyBuild := &Build{
Steps: []*BuildStep{},
Commits: []string{},
}
emptyBuild.fixup()
// Test case: a completely filled-out build.
buildFromFullJson, err := testGetBuildFromMaster(repos)
assert.Nil(t, err)
testCases := []*Build{emptyBuild, buildFromFullJson}
for _, b := range testCases {
dbSerializeAndCompare(t, d, b, true)
}
}
示例6: TestGetModeHistory
// TestGetModeHistory verifies that we correctly track mode history.
func TestGetModeHistory(t *testing.T) {
testutils.SkipIfShort(t)
d := newTestDB(t)
defer d.cleanup(t)
// Single mode.
m1 := &ModeChange{
Message: "Starting!",
Mode: MODE_RUNNING,
Time: time.Now().UTC(),
User: "[email protected]",
}
assert.Nil(t, d.db.SetMode(m1))
history, err := d.db.GetModeHistory(10)
assert.Nil(t, err)
assert.Equal(t, 1, len(history))
testutils.AssertDeepEqual(t, m1, history[0])
// Add more modes, ensuring that we retrieve them consistently.
m2 := &ModeChange{
Message: "Stoppit",
Mode: MODE_STOPPED,
Time: time.Now().UTC().Add(time.Minute),
User: "[email protected]",
}
m3 := &ModeChange{
Message: "Dry run",
Mode: MODE_DRY_RUN,
Time: time.Now().UTC().Add(2 * time.Minute),
User: "[email protected]",
}
m4 := &ModeChange{
Message: "Dry run",
Mode: MODE_DRY_RUN,
Time: time.Now().UTC().Add(3 * time.Minute),
User: "[email protected]",
}
assert.Nil(t, d.db.SetMode(m2))
history, err = d.db.GetModeHistory(10)
assert.Nil(t, err)
testutils.AssertDeepEqual(t, []*ModeChange{m2, m1}, history)
assert.Nil(t, d.db.SetMode(m3))
history, err = d.db.GetModeHistory(10)
assert.Nil(t, err)
testutils.AssertDeepEqual(t, []*ModeChange{m3, m2, m1}, history)
assert.Nil(t, d.db.SetMode(m4))
history, err = d.db.GetModeHistory(10)
assert.Nil(t, err)
testutils.AssertDeepEqual(t, []*ModeChange{m4, m3, m2, m1}, history)
// Only three changes?
history, err = d.db.GetModeHistory(3)
assert.Nil(t, err)
testutils.AssertDeepEqual(t, []*ModeChange{m4, m3, m2}, history)
}
示例7: testBuildQueue
func testBuildQueue(t *testing.T, timeDecay24Hr float64, expectations []*buildQueueExpect, testInsert bool) {
testutils.SkipIfShort(t)
// Initialize the buildbot database.
d := clearDB(t)
defer d.Close(t)
// Load the test repo.
tr := util.NewTempRepo()
defer tr.Cleanup()
repos := gitinfo.NewRepoMap(tr.Dir)
repo, err := repos.Repo(TEST_REPO)
assert.Nil(t, err)
assert.Nil(t, repos.Update())
// Create the BuildQueue.
q, err := NewBuildQueue(PERIOD_FOREVER, repos, DEFAULT_SCORE_THRESHOLD, timeDecay24Hr, []*regexp.Regexp{}, d.db)
assert.Nil(t, err)
// Fake time.Now()
details, err := repo.Details(hashes['I'], false)
assert.Nil(t, err)
now := details.Timestamp.Add(1 * time.Hour)
// Update the queue.
assert.Nil(t, q.update(now))
// Ensure that we get the expected BuildCandidate at each step. Insert
// each BuildCandidate into the buildbot database to simulate actually
// running builds.
buildNum := 0
for _, expected := range expectations {
bc, err := q.Pop([]string{TEST_BUILDER})
assert.Equal(t, expected.err, err)
if err != nil {
break
}
glog.Infof("\n%v\n%v", expected.bc, bc)
assert.True(t, reflect.DeepEqual(expected.bc, bc))
if testInsert || buildNum == 0 {
// Actually insert a build, as if we're really using the scheduler.
// Do this even if we're not testing insertion, because if we don't,
// the queue won't know about this builder.
b := &buildbot.Build{
Builder: bc.Builder,
Master: "fake",
Number: buildNum,
BuildSlave: "fake",
Branch: "master",
GotRevision: bc.Commit,
Repository: TEST_REPO,
}
assert.Nil(t, buildbot.IngestBuild(d.db, b, repos))
buildNum++
assert.Nil(t, q.update(now))
}
}
}
示例8: testUnfinishedBuild
// testUnfinishedBuild verifies that we can write a build which is not yet
// finished, load the build back from the database, and update it when it
// finishes.
func testUnfinishedBuild(t *testing.T, local bool) {
testutils.SkipIfShort(t)
d := clearDB(t, local)
defer d.Close(t)
// Load the test repo.
tr := util.NewTempRepo()
defer tr.Cleanup()
repos := gitinfo.NewRepoMap(tr.Dir)
// Obtain and insert an unfinished build.
httpClient = testHttpClient
b, err := getBuildFromMaster("client.skia", "Test-Ubuntu12-ShuttleA-GTX550Ti-x86_64-Release-Valgrind", 152, repos)
assert.Nil(t, err)
assert.False(t, b.IsFinished(), "Unfinished build thinks it's finished!")
dbSerializeAndCompare(t, d, b, true)
// Ensure that the build is found by GetUnfinishedBuilds.
unfinished, err := d.DB().GetUnfinishedBuilds(b.Master)
assert.Nil(t, err)
found := false
for _, u := range unfinished {
if u.Master == b.Master && u.Builder == b.Builder && u.Number == b.Number {
found = true
break
}
}
assert.True(t, found, "Unfinished build was not found by getUnfinishedBuilds!")
// Add another step to the build to "finish" it, ensure that we can
// retrieve it as expected.
b.Finished = b.Started.Add(30 * time.Second)
stepStarted := b.Started.Add(500 * time.Millisecond)
s := &BuildStep{
Name: "LastStep",
Number: len(b.Steps),
Results: 0,
Started: stepStarted,
Finished: b.Finished,
}
b.Steps = append(b.Steps, s)
assert.True(t, b.IsFinished(), "Finished build thinks it's unfinished!")
dbSerializeAndCompare(t, d, b, true)
// Ensure that the finished build is NOT found by getUnfinishedBuilds.
unfinished, err = d.DB().GetUnfinishedBuilds(b.Master)
assert.Nil(t, err)
found = false
for _, u := range unfinished {
if u.Master == b.Master && u.Builder == b.Builder && u.Number == b.Number {
found = true
break
}
}
assert.False(t, found, "Finished build was found by getUnfinishedBuilds!")
}
示例9: TestModeHistory
// TestModeHistory verifies that we correctly track mode history.
func TestModeHistory(t *testing.T) {
testutils.SkipIfShort(t)
// Create the ModeHistory.
tmpDir, err := ioutil.TempDir("", "test_autoroll_mode_")
assert.Nil(t, err)
defer testutils.RemoveAll(t, tmpDir)
mh, err := NewModeHistory(path.Join(tmpDir, "test.db"))
assert.Nil(t, err)
defer func() {
assert.Nil(t, mh.Close())
}()
// Use this function for checking expectations.
check := func(expect, actual []*ModeChange) {
assert.Equal(t, len(expect), len(actual))
for i, e := range expect {
assert.Equal(t, e.Mode, actual[i].Mode)
assert.Equal(t, e.Message, actual[i].Message)
assert.Equal(t, e.User, actual[i].User)
}
}
// Initial mode, set automatically.
mc0 := &ModeChange{
Message: "Setting initial mode.",
Mode: MODE_RUNNING,
User: "AutoRoll Bot",
}
expect := []*ModeChange{mc0}
setModeAndCheck := func(mc *ModeChange) {
assert.Nil(t, mh.Add(mc.Mode, mc.User, mc.Message))
assert.Equal(t, mc.Mode, mh.CurrentMode())
expect = append([]*ModeChange{mc}, expect...)
check(expect, mh.GetHistory())
}
// Ensure that we set our initial state properly.
assert.Equal(t, mc0.Mode, mh.CurrentMode())
check(expect, mh.GetHistory())
// Change the mode.
setModeAndCheck(&ModeChange{
Message: "Stop the presses!",
Mode: MODE_STOPPED,
User: "[email protected]",
})
// Change a few times.
setModeAndCheck(&ModeChange{
Message: "Resume!",
Mode: MODE_RUNNING,
User: "[email protected]",
})
}
示例10: TestBlamerWithLiveData
func TestBlamerWithLiveData(t *testing.T) {
testutils.SkipIfShort(t)
err := testutils.DownloadTestDataFile(t, TEST_DATA_STORAGE_PATH, TEST_DATA_PATH)
assert.Nil(t, err, "Unable to download testdata.")
defer testutils.RemoveAll(t, TEST_DATA_DIR)
tileStore := mocks.NewMockTileStoreFromJson(t, TEST_DATA_PATH)
testBlamerWithLiveData(t, tileStore)
}
示例11: TestStatusWatcher
func TestStatusWatcher(t *testing.T) {
testutils.SkipIfShort(t)
err := testutils.DownloadTestDataFile(t, TEST_DATA_STORAGE_PATH, TEST_DATA_PATH)
assert.Nil(t, err, "Unable to download testdata.")
defer testutils.RemoveAll(t, TEST_DATA_DIR)
tileBuilder := mocks.NewMockTileBuilderFromJson(t, TEST_DATA_PATH)
testStatusWatcher(t, tileBuilder)
}
示例12: TestFileSystemResultFileLocations
func TestFileSystemResultFileLocations(t *testing.T) {
testutils.SkipIfShort(t)
err := testutils.DownloadTestDataArchive(t, TEST_DATA_STORAGE_PATH, TEST_DATA_DIR)
assert.Nil(t, err)
defer testutils.RemoveAll(t, TEST_DATA_DIR)
src, err := NewFileSystemSource("test-fs-source", TEST_DATA_DIR)
assert.Nil(t, err)
testSource(t, src)
}
示例13: testBuildQueue
func testBuildQueue(t *testing.T, timeDecay24Hr float64, expectations []*buildQueueExpect) {
testutils.SkipIfShort(t)
// Initialize the buildbot database.
d := clearDB(t)
defer d.Close(t)
// Load the test repo.
tr := util.NewTempRepo()
defer tr.Cleanup()
repos := gitinfo.NewRepoMap(tr.Dir)
repo, err := repos.Repo("/skia.git")
assert.Nil(t, err)
assert.Nil(t, repos.Update())
// Create the BuildQueue.
q, err := NewBuildQueue(PERIOD_FOREVER, tr.Dir, DEFAULT_SCORE_THRESHOLD, timeDecay24Hr, []string{TEST_BUILDER})
assert.Nil(t, err)
// Fake time.Now()
details, err := repo.Details(hashes['I'])
assert.Nil(t, err)
now := details.Timestamp.Add(1 * time.Hour)
// Ensure that we get the expected BuildCandidate at each step. Insert
// each BuildCandidate into the buildbot database to simulate actually
// running builds.
buildNum := 0
for _, expected := range expectations {
assert.Nil(t, q.update(now))
bc, err := q.Pop(TEST_BUILDER)
assert.Equal(t, expected.err, err)
if err != nil {
break
}
hash, err := repo.FullHash(bc.Commit)
assert.Nil(t, err)
bc.Commit = hash
assert.True(t, reflect.DeepEqual(expected.bc, bc))
b := &buildbot.Build{
Builder: bc.Builder,
Master: "fake",
Number: buildNum,
BuildSlave: "fake",
Branch: "master",
GotRevision: bc.Commit,
Repository: TEST_REPO,
}
assert.Nil(t, buildbot.IngestBuild(b, repos))
buildNum++
}
}
示例14: TestEventBus
// TODO(stephana): Disable until fixed.
func TestEventBus(t *testing.T) {
testutils.SkipIfShort(t)
eventBus, err := NewNSQEventBus("127.0.0.1:4150")
assert.Nil(t, err)
ch := make(chan string, 100)
var wg sync.WaitGroup
callbackFn := func(ready *int32) func([]byte) {
return func(data []byte) {
if string(data) == "ready" {
atomic.StoreInt32(ready, 0)
return
}
ch <- string(data)
wg.Done()
}
}
var ready_1 int32 = -1
var ready_2 int32 = -1
var ready_3 int32 = -1
assert.Nil(t, eventBus.SubscribeAsync("topic1", callbackFn(&ready_1)))
assert.Nil(t, eventBus.SubscribeAsync("topic2", callbackFn(&ready_2)))
assert.Nil(t, eventBus.SubscribeAsync("topic2", callbackFn(&ready_3)))
for atomic.LoadInt32(&ready_1)+atomic.LoadInt32(&ready_2)+atomic.LoadInt32(&ready_3) < 0 {
assert.Nil(t, eventBus.Publish("topic1", []byte("ready")))
assert.Nil(t, eventBus.Publish("topic2", []byte("ready")))
time.Sleep(time.Millisecond)
}
wg.Add(3)
assert.Nil(t, eventBus.Publish("topic1", []byte("0")))
assert.Nil(t, eventBus.Publish("topic2", []byte("msg-01")))
wg.Wait()
assert.True(t, len(ch) >= 3)
close(ch)
vals := []string{}
for val := range ch {
vals = append(vals, val)
}
sort.Strings(vals)
assert.Equal(t, []string{"0", "msg-01", "msg-01"}, vals)
assert.Nil(t, eventBus.Close())
}
示例15: TestGetBuildFromMaster
// TestGetBuildFromMaster verifies that we can load JSON data from the build master and
// decode it into a Build object.
func TestGetBuildFromMaster(t *testing.T) {
testutils.SkipIfShort(t)
// Load the test repo.
tr := util.NewTempRepo()
defer tr.Cleanup()
repos := gitinfo.NewRepoMap(tr.Dir)
// Default, complete build.
_, err := testGetBuildFromMaster(repos)
assert.Nil(t, err)
// Incomplete build.
_, err = getBuildFromMaster("client.skia", "Test-Ubuntu12-ShuttleA-GTX550Ti-x86_64-Release-Valgrind", 152, repos)
assert.Nil(t, err)
}