MCPcopy Index your code
hub / github.com/gogs/gogs / TestPullRequests

Function TestPullRequests

internal/database/pull.go:839–881  ·  view source on GitHub ↗

TestPullRequests checks and tests untested patches of pull requests. TODO: test more pull requests at same time.

()

Source from the content-addressed store, hash-verified

837// TestPullRequests checks and tests untested patches of pull requests.
838// TODO: test more pull requests at same time.
839func TestPullRequests() {
840 prs := make([]*PullRequest, 0, 10)
841 _ = x.Iterate(PullRequest{
842 Status: PullRequestStatusChecking,
843 },
844 func(idx int, bean any) error {
845 pr := bean.(*PullRequest)
846
847 if err := pr.LoadAttributes(); err != nil {
848 log.Error("LoadAttributes: %v", err)
849 return nil
850 }
851
852 if err := pr.testPatch(); err != nil {
853 log.Error("testPatch: %v", err)
854 return nil
855 }
856 prs = append(prs, pr)
857 return nil
858 })
859
860 // Update pull request status.
861 for _, pr := range prs {
862 pr.checkAndUpdateStatus()
863 }
864
865 // Start listening on new test requests.
866 for prID := range PullRequestQueue.Queue() {
867 log.Trace("TestPullRequests[%v]: processing test task", prID)
868 PullRequestQueue.Remove(prID)
869
870 pr, err := GetPullRequestByID(com.StrTo(prID).MustInt64())
871 if err != nil {
872 log.Error("GetPullRequestByID[%s]: %v", prID, err)
873 continue
874 } else if err = pr.testPatch(); err != nil {
875 log.Error("testPatch[%d]: %v", pr.ID, err)
876 continue
877 }
878
879 pr.checkAndUpdateStatus()
880 }
881}
882
883func InitTestPullRequests() {
884 go TestPullRequests()

Callers 1

InitTestPullRequestsFunction · 0.85

Calls 9

appendFunction · 0.85
GetPullRequestByIDFunction · 0.85
IterateMethod · 0.80
testPatchMethod · 0.80
checkAndUpdateStatusMethod · 0.80
QueueMethod · 0.80
RemoveMethod · 0.80
LoadAttributesMethod · 0.45
ErrorMethod · 0.45

Tested by

no test coverage detected