本文整理匯總了Golang中github.com/google/go-github/github.CombinedStatus.State方法的典型用法代碼示例。如果您正苦於以下問題:Golang CombinedStatus.State方法的具體用法?Golang CombinedStatus.State怎麽用?Golang CombinedStatus.State使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類github.com/google/go-github/github.CombinedStatus
的用法示例。
在下文中一共展示了CombinedStatus.State方法的4個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: fakeRunGithubE2ESuccess
// fakeRunGithubE2ESuccess imitates jenkins running
func fakeRunGithubE2ESuccess(ciStatus *github.CombinedStatus, e2ePass, unitPass bool) {
ciStatus.State = stringPtr("pending")
for id := range ciStatus.Statuses {
status := &ciStatus.Statuses[id]
if *status.Context == jenkinsE2EContext || *status.Context == jenkinsUnitContext {
status.State = stringPtr("pending")
}
}
// short sleep like the test is running
time.Sleep(500 * time.Millisecond)
ciStatus.State = stringPtr("success")
foundE2E := false
foundUnit := false
for id := range ciStatus.Statuses {
status := &ciStatus.Statuses[id]
if *status.Context == jenkinsE2EContext {
setStatus(status, e2ePass)
foundE2E = true
}
if *status.Context == jenkinsUnitContext {
setStatus(status, unitPass)
foundUnit = true
}
}
if !foundE2E {
addStatus(jenkinsE2EContext, e2ePass, ciStatus)
}
if !foundUnit {
addStatus(jenkinsUnitContext, unitPass, ciStatus)
}
}
示例2: fakeRunGithubE2ESuccess
// fakeRunGithubE2ESuccess imitates jenkins running
func fakeRunGithubE2ESuccess(ciStatus *github.CombinedStatus, context1Pass, context2Pass bool) {
ciStatus.State = stringPtr("pending")
for id := range ciStatus.Statuses {
status := &ciStatus.Statuses[id]
if *status.Context == requiredReTestContext1 || *status.Context == requiredReTestContext2 {
status.State = stringPtr("pending")
}
}
// short sleep like the test is running
time.Sleep(500 * time.Millisecond)
if context1Pass && context2Pass {
ciStatus.State = stringPtr("success")
}
foundContext1 := false
foundContext2 := false
for id := range ciStatus.Statuses {
status := &ciStatus.Statuses[id]
if *status.Context == requiredReTestContext1 {
setStatus(status, context1Pass)
foundContext1 = true
}
if *status.Context == requiredReTestContext2 {
setStatus(status, context2Pass)
foundContext2 = true
}
}
if !foundContext1 {
addStatus(jenkinsE2EContext, context1Pass, ciStatus)
}
if !foundContext2 {
addStatus(jenkinsUnitContext, context2Pass, ciStatus)
}
}
示例3: fakeRunGithubE2ESuccess
// fakeRunGithubE2ESuccess imitates the github e2e running, but indicates
// success after a short sleep
func fakeRunGithubE2ESuccess(ciStatus *github.CombinedStatus, shouldPass bool) {
ciStatus.State = stringPtr("pending")
for id := range ciStatus.Statuses {
status := &ciStatus.Statuses[id]
if *status.Context == gceE2EContext {
status.State = stringPtr("pending")
break
}
}
// short sleep like the test is running
time.Sleep(500 * time.Millisecond)
ciStatus.State = stringPtr("success")
found := false
for id := range ciStatus.Statuses {
status := &ciStatus.Statuses[id]
if *status.Context == gceE2EContext {
if shouldPass {
status.State = stringPtr("success")
} else {
status.State = stringPtr("failure")
}
found = true
break
}
}
if !found {
e2eStatus := github.RepoStatus{
Context: stringPtr(gceE2EContext),
State: stringPtr("success"),
}
ciStatus.Statuses = append(ciStatus.Statuses, e2eStatus)
}
}
示例4: updateStatusState
func updateStatusState(status *github.CombinedStatus) *github.CombinedStatus {
prioMap := map[string]int{
"pending": 4,
"error": 3,
"failure": 2,
"success": 1,
"": 0,
}
backMap := map[int]string{
4: "pending",
3: "error",
2: "failure",
1: "success",
0: "",
}
sint := 1
for _, s := range status.Statuses {
newSint := prioMap[*s.State]
if newSint > sint {
sint = newSint
}
}
status.State = stringPtr(backMap[sint])
return status
}