light interactive pr review
This PR adds "light" interactive reviewing; ie still a top-level review but with prompts for review type and adding a body via your editor.

![review](https://user-images.githubusercontent.com/98482/81439901-c2c15b00-9134-11ea-9361-e0d54868498c.gif)



Fixes #434
### Describe the feature or problem you’d like to solve

Allowing review for github pull requests

### Proposed solution

We can use [Reviews API](https://developer.github.com/v3/pulls/reviews/#submit-a-pull-request-review) for this.

### Additional context

I'd love to approve/comment on pr inside terminal.
Possibly I would be able to add this feature and make pr for this.

Ability to review a pull request
diff --git a/command/pr_review.go b/command/pr_review.go
index 5013d2bc226..3b01d0d5b35 100644
--- a/command/pr_review.go
+++ b/command/pr_review.go
@@ -6,13 +6,16 @@ import (
 	"strconv"
 	"strings"
 
-	"github.com/cli/cli/api"
+	"github.com/AlecAivazis/survey/v2"
 	"github.com/spf13/cobra"
+
+	"github.com/cli/cli/api"
+	"github.com/cli/cli/pkg/surveyext"
+	"github.com/cli/cli/utils"
 )
 
 func init() {
-	// TODO re-register post release
-	// prCmd.AddCommand(prReviewCmd)
+	prCmd.AddCommand(prReviewCmd)
 
 	prReviewCmd.Flags().BoolP("approve", "a", false, "Approve pull request")
 	prReviewCmd.Flags().BoolP("request-changes", "r", false, "Request changes on a pull request")
@@ -28,6 +31,8 @@ var prReviewCmd = &cobra.Command{
 
 Examples:
 
+	gh pr review                                  # add a review for the current branch's pull request
+	gh pr review 123                              # add a review for pull request 123
 	gh pr review -a                               # mark the current branch's pull request as approved
 	gh pr review -c -b "interesting"              # comment on the current branch's pull request
 	gh pr review 123 -r -b "needs more ascii art" # request changes on pull request 123
@@ -56,15 +61,19 @@ func processReviewOpt(cmd *cobra.Command) (*api.PullRequestReviewInput, error) {
 		state = api.ReviewComment
 	}
 
-	if found != 1 {
-		return nil, errors.New("need exactly one of --approve, --request-changes, or --comment")
-	}
-
 	body, err := cmd.Flags().GetString("body")
 	if err != nil {
 		return nil, err
 	}
 
+	if found == 0 && body == "" {
+		return nil, nil // signal interactive mode
+	} else if found == 0 && body != "" {
+		return nil, errors.New("--body unsupported without --approve, --request-changes, or --comment")
+	} else if found > 1 {
+		return nil, errors.New("need exactly one of --approve, --request-changes, or --comment")
+	}
+
 	if (flag == "request-changes" || flag == "comment") && body == "" {
 		return nil, fmt.Errorf("body cannot be blank for %s review", flag)
 	}
@@ -108,7 +117,7 @@ func prReview(cmd *cobra.Command, args []string) error {
 		}
 	}
 
-	input, err := processReviewOpt(cmd)
+	reviewData, err := processReviewOpt(cmd)
 	if err != nil {
 		return fmt.Errorf("did not understand desired review action: %w", err)
 	}
@@ -124,12 +133,140 @@ func prReview(cmd *cobra.Command, args []string) error {
 		if err != nil {
 			return fmt.Errorf("could not find pull request: %w", err)
 		}
+		prNum = pr.Number
+	}
+
+	out := colorableOut(cmd)
+
+	if reviewData == nil {
+		reviewData, err = reviewSurvey(cmd)
+		if err != nil {
+			return err
+		}
+		if reviewData == nil && err == nil {
+			fmt.Fprint(out, "Discarding.\n")
+			return nil
+		}
 	}
 
-	err = api.AddReview(apiClient, pr, input)
+	err = api.AddReview(apiClient, pr, reviewData)
 	if err != nil {
 		return fmt.Errorf("failed to create review: %w", err)
 	}
 
+	switch reviewData.State {
+	case api.ReviewComment:
+		fmt.Fprintf(out, "%s Reviewed pull request #%d\n", utils.Gray("-"), prNum)
+	case api.ReviewApprove:
+		fmt.Fprintf(out, "%s Approved pull request #%d\n", utils.Green("✓"), prNum)
+	case api.ReviewRequestChanges:
+		fmt.Fprintf(out, "%s Requested changes to pull request #%d\n", utils.Red("+"), prNum)
+	}
+
 	return nil
 }
+
+func reviewSurvey(cmd *cobra.Command) (*api.PullRequestReviewInput, error) {
+	editorCommand, err := determineEditor(cmd)
+	if err != nil {
+		return nil, err
+	}
+
+	typeAnswers := struct {
+		ReviewType string
+	}{}
+	typeQs := []*survey.Question{
+		{
+			Name: "reviewType",
+			Prompt: &survey.Select{
+				Message: "What kind of review do you want to give?",
+				Options: []string{
+					"Comment",
+					"Approve",
+					"Request changes",
+				},
+			},
+		},
+	}
+
+	err = SurveyAsk(typeQs, &typeAnswers)
+	if err != nil {
+		return nil, err
+	}
+
+	reviewState := api.ReviewComment
+
+	switch typeAnswers.ReviewType {
+	case "Approve":
+		reviewState = api.ReviewApprove
+	case "Request Changes":
+		reviewState = api.ReviewRequestChanges
+	}
+
+	bodyAnswers := struct {
+		Body string
+	}{}
+
+	blankAllowed := false
+	if reviewState == api.ReviewApprove {
+		blankAllowed = true
+	}
+
+	bodyQs := []*survey.Question{
+		&survey.Question{
+			Name: "body",
+			Prompt: &surveyext.GhEditor{
+				BlankAllowed:  blankAllowed,
+				EditorCommand: editorCommand,
+				Editor: &survey.Editor{
+					Message:  "Review body",
+					FileName: "*.md",
+				},
+			},
+		},
+	}
+
+	err = SurveyAsk(bodyQs, &bodyAnswers)
+	if err != nil {
+		return nil, err
+	}
+
+	if bodyAnswers.Body == "" && (reviewState == api.ReviewComment || reviewState == api.ReviewRequestChanges) {
+		return nil, errors.New("this type of review cannot be blank")
+	}
+
+	if len(bodyAnswers.Body) > 0 {
+		out := colorableOut(cmd)
+		renderedBody, err := utils.RenderMarkdown(bodyAnswers.Body)
+		if err != nil {
+			return nil, err
+		}
+
+		fmt.Fprintf(out, "Got:\n%s", renderedBody)
+	}
+
+	confirm := false
+	confirmQs := []*survey.Question{
+		{
+			Name: "confirm",
+			Prompt: &survey.Confirm{
+				Message: "Submit?",
+				Default: true,
+			},
+		},
+	}
+
+	err = SurveyAsk(confirmQs, &confirm)
+	if err != nil {
+		return nil, err
+	}
+
+	if !confirm {
+		return nil, nil
+	}
+
+	return &api.PullRequestReviewInput{
+		Body:  bodyAnswers.Body,
+		State: reviewState,
+	}, nil
+}
diff --git a/command/root.go b/command/root.go
index 3ef268cb79a..ef88a3184f5 100644
--- a/command/root.go
+++ b/command/root.go
@@ -338,3 +338,17 @@ func formatRemoteURL(cmd *cobra.Command, fullRepoName string) string {
 
 	return fmt.Sprintf("https://%s/%s.git", defaultHostname, fullRepoName)
 }
+
+func determineEditor(cmd *cobra.Command) (string, error) {
+	editorCommand := os.Getenv("GH_EDITOR")
+	if editorCommand == "" {
+		ctx := contextForCommand(cmd)
+		cfg, err := ctx.Config()
+		if err != nil {
+			return "", fmt.Errorf("could not read config: %w", err)
+		}
+		editorCommand, _ = cfg.Get(defaultHostname, "editor")
+	}
+
+	return editorCommand, nil
+}
diff --git a/command/title_body_survey.go b/command/title_body_survey.go
index 06ab14a096d..488efa34a13 100644
--- a/command/title_body_survey.go
+++ b/command/title_body_survey.go
@@ -2,7 +2,6 @@ package command
 
 import (
 	"fmt"
-	"os"
 
 	"github.com/AlecAivazis/survey/v2"
 	"github.com/cli/cli/api"
@@ -127,14 +126,9 @@ func selectTemplate(templatePaths []string) (string, error) {
 }
 
 func titleBodySurvey(cmd *cobra.Command, issueState *issueMetadataState, apiClient *api.Client, repo ghrepo.Interface, providedTitle, providedBody string, defs defaults, templatePaths []string, allowReviewers, allowMetadata bool) error {
-	editorCommand := os.Getenv("GH_EDITOR")
-	if editorCommand == "" {
-		ctx := contextForCommand(cmd)
-		cfg, err := ctx.Config()
-		if err != nil {
-			return fmt.Errorf("could not read config: %w", err)
-		}
-		editorCommand, _ = cfg.Get(defaultHostname, "editor")
+	editorCommand, err := determineEditor(cmd)
+	if err != nil {
+		return err
 	}
 
 	issueState.Title = defs.Title
@@ -182,7 +176,7 @@ func titleBodySurvey(cmd *cobra.Command, issueState *issueMetadataState, apiClie
 		qs = append(qs, bodyQuestion)
 	}
 
-	err := SurveyAsk(qs, issueState)
+	err = SurveyAsk(qs, issueState)
 	if err != nil {
 		return fmt.Errorf("could not prompt: %w", err)
 	}
diff --git a/pkg/surveyext/editor.go b/pkg/surveyext/editor.go
index 3121ccf4d4b..9c1fca2e1f3 100644
--- a/pkg/surveyext/editor.go
+++ b/pkg/surveyext/editor.go
@@ -38,6 +38,7 @@ func init() {
 type GhEditor struct {
 	*survey.Editor
 	EditorCommand string
+	BlankAllowed  bool
 }
 
 func (e *GhEditor) editorCommand() string {
@@ -58,13 +59,14 @@ var EditorQuestionTemplate = `
 {{- else }}
   {{- if and .Help (not .ShowHelp)}}{{color "cyan"}}[{{ .Config.HelpInput }} for help]{{color "reset"}} {{end}}
   {{- if and .Default (not .HideDefault)}}{{color "white"}}({{.Default}}) {{color "reset"}}{{end}}
-	{{- color "cyan"}}[(e) to launch {{ .EditorCommand }}, enter to skip] {{color "reset"}}
+	{{- color "cyan"}}[(e) to launch {{ .EditorCommand }}{{- if .BlankAllowed }}, enter to skip{{ end }}] {{color "reset"}}
 {{- end}}`
 
 // EXTENDED to pass editor name (to use in prompt)
 type EditorTemplateData struct {
 	survey.Editor
 	EditorCommand string
+	BlankAllowed  bool
 	Answer        string
 	ShowAnswer    bool
 	ShowHelp      bool
@@ -75,9 +77,10 @@ type EditorTemplateData struct {
 func (e *GhEditor) prompt(initialValue string, config *survey.PromptConfig) (interface{}, error) {
 	err := e.Render(
 		EditorQuestionTemplate,
-		// EXTENDED to support printing editor in prompt
+		// EXTENDED to support printing editor in prompt and BlankAllowed
 		EditorTemplateData{
 			Editor:        *e.Editor,
+			BlankAllowed:  e.BlankAllowed,
 			EditorCommand: filepath.Base(e.editorCommand()),
 			Config:        config,
 		},
@@ -96,7 +99,7 @@ func (e *GhEditor) prompt(initialValue string, config *survey.PromptConfig) (int
 	defer cursor.Show()
 
 	for {
-		// EXTENDED to handle the e to edit / enter to skip behavior
+		// EXTENDED to handle the e to edit / enter to skip behavior + BlankAllowed
 		r, _, err := rr.ReadRune()
 		if err != nil {
 			return "", err
@@ -105,7 +108,11 @@ func (e *GhEditor) prompt(initialValue string, config *survey.PromptConfig) (int
 			break
 		}
 		if r == '\r' || r == '\n' {
-			return "", nil
+			if e.BlankAllowed {
+				return "", nil
+			} else {
+				continue
+			}
 		}
 		if r == terminal.KeyInterrupt {
 			return "", terminal.InterruptErr
@@ -117,8 +124,9 @@ func (e *GhEditor) prompt(initialValue string, config *survey.PromptConfig) (int
 			err = e.Render(
 				EditorQuestionTemplate,
 				EditorTemplateData{
-					// EXTENDED to support printing editor in prompt
+					// EXTENDED to support printing editor in prompt, BlankAllowed
 					Editor:        *e.Editor,
+					BlankAllowed:  e.BlankAllowed,
 					EditorCommand: filepath.Base(e.editorCommand()),
 					ShowHelp:      true,
 					Config:        config,

diff --git a/command/pr_review_test.go b/command/pr_review_test.go
index 781b2cb0656..231906ac080 100644
--- a/command/pr_review_test.go
+++ b/command/pr_review_test.go
@@ -4,26 +4,40 @@ import (
 	"bytes"
 	"encoding/json"
 	"io/ioutil"
+	"regexp"
 	"testing"
+
+	"github.com/cli/cli/test"
 )
 
 func TestPRReview_validation(t *testing.T) {
-	t.Skip("skipping until release is done")
 	initBlankContext("", "OWNER/REPO", "master")
 	http := initFakeHTTP()
 	for _, cmd := range []string{
-		`pr review 123`,
 		`pr review --approve --comment 123`,
 		`pr review --approve --comment -b"hey" 123`,
 	} {
 		http.StubRepoResponse("OWNER", "REPO")
 		_, err := RunCommand(cmd)
+		if err == nil {
+			t.Fatal("expected error")
+		}
 		eq(t, err.Error(), "did not understand desired review action: need exactly one of --approve, --request-changes, or --comment")
 	}
 }
 
+func TestPRReview_bad_body(t *testing.T) {
+	initBlankContext("", "OWNER/REPO", "master")
+	http := initFakeHTTP()
+	http.StubRepoResponse("OWNER", "REPO")
+	_, err := RunCommand(`pr review -b "radical"`)
+	if err == nil {
+		t.Fatal("expected error")
+	}
+	eq(t, err.Error(), "did not understand desired review action: --body unsupported without --approve, --request-changes, or --comment")
+}
+
 func TestPRReview_url_arg(t *testing.T) {
-	t.Skip("skipping until release is done")
 	initBlankContext("", "OWNER/REPO", "master")
 	http := initFakeHTTP()
 	http.StubRepoResponse("OWNER", "REPO")
@@ -46,11 +60,13 @@ func TestPRReview_url_arg(t *testing.T) {
 		} } } } `))
 	http.StubResponse(200, bytes.NewBufferString(`{"data": {} }`))
 
-	_, err := RunCommand("pr review --approve https://github.com/OWNER/REPO/pull/123")
+	output, err := RunCommand("pr review --approve https://github.com/OWNER/REPO/pull/123")
 	if err != nil {
 		t.Fatalf("error running pr review: %s", err)
 	}
 
+	test.ExpectLines(t, output.String(), "Approved pull request #123")
+
 	bodyBytes, _ := ioutil.ReadAll(http.Requests[2].Body)
 	reqBody := struct {
 		Variables struct {
@@ -69,7 +85,6 @@ func TestPRReview_url_arg(t *testing.T) {
 }
 
 func TestPRReview_number_arg(t *testing.T) {
-	t.Skip("skipping until release is done")
 	initBlankContext("", "OWNER/REPO", "master")
 	http := initFakeHTTP()
 	http.StubRepoResponse("OWNER", "REPO")
@@ -92,11 +107,13 @@ func TestPRReview_number_arg(t *testing.T) {
 		} } } } `))
 	http.StubResponse(200, bytes.NewBufferString(`{"data": {} }`))
 
-	_, err := RunCommand("pr review --approve 123")
+	output, err := RunCommand("pr review --approve 123")
 	if err != nil {
 		t.Fatalf("error running pr review: %s", err)
 	}
 
+	test.ExpectLines(t, output.String(), "Approved pull request #123")
+
 	bodyBytes, _ := ioutil.ReadAll(http.Requests[2].Body)
 	reqBody := struct {
 		Variables struct {
@@ -115,24 +132,26 @@ func TestPRReview_number_arg(t *testing.T) {
 }
 
 func TestPRReview_no_arg(t *testing.T) {
-	t.Skip("skipping until release is done")
 	initBlankContext("", "OWNER/REPO", "feature")
 	http := initFakeHTTP()
 	http.StubRepoResponse("OWNER", "REPO")
 	http.StubResponse(200, bytes.NewBufferString(`
 		{ "data": { "repository": { "pullRequests": { "nodes": [
 			{ "url": "https://github.com/OWNER/REPO/pull/123",
+			  "number": 123,
 			  "id": "foobar123",
 			  "headRefName": "feature",
 				"baseRefName": "master" }
 		] } } } }`))
 	http.StubResponse(200, bytes.NewBufferString(`{"data": {} }`))
 
-	_, err := RunCommand(`pr review --comment -b "cool story"`)
+	output, err := RunCommand(`pr review --comment -b "cool story"`)
 	if err != nil {
 		t.Fatalf("error running pr review: %s", err)
 	}
 
+	test.ExpectLines(t, output.String(), "- Reviewed pull request #123")
+
 	bodyBytes, _ := ioutil.ReadAll(http.Requests[2].Body)
 	reqBody := struct {
 		Variables struct {
@@ -151,7 +170,6 @@ func TestPRReview_no_arg(t *testing.T) {
 }
 
 func TestPRReview_blank_comment(t *testing.T) {
-	t.Skip("skipping until release is done")
 	initBlankContext("", "OWNER/REPO", "master")
 	http := initFakeHTTP()
 	http.StubRepoResponse("OWNER", "REPO")
@@ -161,7 +179,6 @@ func TestPRReview_blank_comment(t *testing.T) {
 }
 
 func TestPRReview_blank_request_changes(t *testing.T) {
-	t.Skip("skipping until release is done")
 	initBlankContext("", "OWNER/REPO", "master")
 	http := initFakeHTTP()
 	http.StubRepoResponse("OWNER", "REPO")
@@ -171,7 +188,6 @@ func TestPRReview_blank_request_changes(t *testing.T) {
 }
 
 func TestPRReview(t *testing.T) {
-	t.Skip("skipping until release is done")
 	type c struct {
 		Cmd           string
 		ExpectedEvent string
@@ -218,3 +234,170 @@ func TestPRReview(t *testing.T) {
 		eq(t, reqBody.Variables.Input.Body, kase.ExpectedBody)
 	}
 }
+
+func TestPRReview_interactive(t *testing.T) {
+	initBlankContext("", "OWNER/REPO", "feature")
+	http := initFakeHTTP()
+	http.StubRepoResponse("OWNER", "REPO")
+	http.StubResponse(200, bytes.NewBufferString(`
+		{ "data": { "repository": { "pullRequests": { "nodes": [
+			{ "url": "https://github.com/OWNER/REPO/pull/123",
+			  "number": 123,
+			  "id": "foobar123",
+			  "headRefName": "feature",
+				"baseRefName": "master" }
+		] } } } }
+	`))
+	http.StubResponse(200, bytes.NewBufferString(`{"data": {} }`))
+	as, teardown := initAskStubber()
+	defer teardown()
+
+	as.Stub([]*QuestionStub{
+		{
+			Name:  "reviewType",
+			Value: "Approve",
+		},
+	})
+	as.Stub([]*QuestionStub{
+		{
+			Name:  "body",
+			Value: "cool story",
+		},
+	})
+	as.Stub([]*QuestionStub{
+		{
+			Name:  "confirm",
+			Value: true,
+		},
+	})
+
+	output, err := RunCommand(`pr review`)
+	if err != nil {
+		t.Fatalf("got unexpected error running pr review: %s", err)
+	}
+
+	test.ExpectLines(t, output.String(),
+		"Approved pull request #123",
+		"Got:",
+		"cool.*story") // weird because markdown rendering puts a bunch of junk between works
+
+	bodyBytes, _ := ioutil.ReadAll(http.Requests[2].Body)
+	reqBody := struct {
+		Variables struct {
+			Input struct {
+				Event string
+				Body  string
+			}
+		}
+	}{}
+	_ = json.Unmarshal(bodyBytes, &reqBody)
+
+	eq(t, reqBody.Variables.Input.Event, "APPROVE")
+	eq(t, reqBody.Variables.Input.Body, "cool story")
+}
+
+func TestPRReview_interactive_no_body(t *testing.T) {
+	initBlankContext("", "OWNER/REPO", "feature")
+	http := initFakeHTTP()
+	http.StubRepoResponse("OWNER", "REPO")
+	http.StubResponse(200, bytes.NewBufferString(`
+		{ "data": { "repository": { "pullRequests": { "nodes": [
+			{ "url": "https://github.com/OWNER/REPO/pull/123",
+			  "id": "foobar123",
+			  "headRefName": "feature",
+				"baseRefName": "master" }
+		] } } } }
+	`))
+	http.StubResponse(200, bytes.NewBufferString(`{"data": {} }`))
+	as, teardown := initAskStubber()
+	defer teardown()
+
+	as.Stub([]*QuestionStub{
+		{
+			Name:  "reviewType",
+			Value: "Request Changes",
+		},
+	})
+	as.Stub([]*QuestionStub{
+		{
+			Name:    "body",
+			Default: true,
+		},
+	})
+	as.Stub([]*QuestionStub{
+		{
+			Name:  "confirm",
+			Value: true,
+		},
+	})
+
+	_, err := RunCommand(`pr review`)
+	if err == nil {
+		t.Fatal("expected error")
+	}
+	eq(t, err.Error(), "this type of review cannot be blank")
+}
+
+func TestPRReview_interactive_blank_approve(t *testing.T) {
+	initBlankContext("", "OWNER/REPO", "feature")
+	http := initFakeHTTP()
+	http.StubRepoResponse("OWNER", "REPO")
+	http.StubResponse(200, bytes.NewBufferString(`
+		{ "data": { "repository": { "pullRequests": { "nodes": [
+			{ "url": "https://github.com/OWNER/REPO/pull/123",
+				"number": 123,
+			  "id": "foobar123",
+			  "headRefName": "feature",
+				"baseRefName": "master" }
+		] } } } }
+	`))
+	http.StubResponse(200, bytes.NewBufferString(`{"data": {} }`))
+	as, teardown := initAskStubber()
+	defer teardown()
+
+	as.Stub([]*QuestionStub{
+		{
+			Name:  "reviewType",
+			Value: "Approve",
+		},
+	})
+	as.Stub([]*QuestionStub{
+		{
+			Name:    "body",
+			Default: true,
+		},
+	})
+	as.Stub([]*QuestionStub{
+		{
+			Name:  "confirm",
+			Value: true,
+		},
+	})
+
+	output, err := RunCommand(`pr review`)
+	if err != nil {
+		t.Fatalf("got unexpected error running pr review: %s", err)
+	}
+
+	unexpect := regexp.MustCompile("Got:")
+	if unexpect.MatchString(output.String()) {
+		t.Errorf("did not expect to see body printed in %s", output.String())
+	}
+
+	test.ExpectLines(t, output.String(), "Approved pull request #123")
+
+	bodyBytes, _ := ioutil.ReadAll(http.Requests[2].Body)
+	reqBody := struct {
+		Variables struct {
+			Input struct {
+				Event string
+				Body  string
+			}
+		}
+	}{}
+	_ = json.Unmarshal(bodyBytes, &reqBody)
+
+	eq(t, reqBody.Variables.Input.Event, "APPROVE")
+	eq(t, reqBody.Variables.Input.Body, "")
+
+}

{"TestPRReview_validation": {"run": "SKIP", "test": "FAIL", "fix": "PASS"}, "TestPRReview_interactive": {"run": "NONE", "test": "FAIL", "fix": "PASS"}, "TestPRReview_interactive_blank_approve": {"run": "NONE", "test": "FAIL", "fix": "PASS"}, "TestPRReview_blank_request_changes": {"run": "SKIP", "test": "FAIL", "fix": "PASS"}, "TestPRReview": {"run": "SKIP", "test": "FAIL", "fix": "PASS"}, "TestPRReview_blank_comment": {"run": "SKIP", "test": "FAIL", "fix": "PASS"}, "TestPRReview_no_arg": {"run": "SKIP", "test": "FAIL", "fix": "PASS"}, "TestPRReview_url_arg": {"run": "SKIP", "test": "FAIL", "fix": "PASS"}, "TestPRReview_bad_body": {"run": "NONE", "test": "FAIL", "fix": "PASS"}, "TestPRReview_number_arg": {"run": "SKIP", "test": "FAIL", "fix": "PASS"}, "TestPRReview_interactive_no_body": {"run": "NONE", "test": "FAIL", "fix": "PASS"}}
{"TestPRView_Preview/Closed_PR": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestPullRequest_ChecksStatus": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestIssueCreate_webTitleBody": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestPRCreate_defaults_error_autofill": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestRepoFork_in_parent_yes": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestConfigSet": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestPrStateTitleWithColor/Format_MERGED_state": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestExtractName/Incomplete_front-matter": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestIssueStateTitleWithColor/Open_state": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestCompletion_fish": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestRepoClone/shorthand_with_directory": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestReplaceExcessiveWhitespace": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestConfigGet": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestPRView_web_currentBranch": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "Test_repoFromURL/unsupported_hostname": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "Test_resolvedRemotes_triangularSetup": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestRepoClone/clone_arguments_with_directory": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestFind/Multiple_templates": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestFind": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestRepoFork_outside_survey_no": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestIssueView_Preview/Closed_issue": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "Test_determineTrackingBranch_noMatch": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestPRStatus_reviewsAndChecks": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestRepoClone": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestChangelogURL": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestPRView_web_numberArgWithHash": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestCheckForUpdate": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "Test_listHeader/one_result_after_filters": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestIssueReopen": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestPRCreate_survey_autofill": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestPRView_web_branchWithOwnerArg": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "Test_determineTrackingBranch_respectTrackingConfig": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestIssueClose_issuesDisabled": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestGraphQL": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "Test_RepoCreate": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestPRStatus_blankSlate": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestTruncate": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestTruncate/Japanese": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestPRView_Preview/Open_PR_with_reviewers_by_number": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestCompletion_bash": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestParseExtraArgs": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestExtractName/No_front-matter": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestRepoCreate_org": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestIssueReopen_alreadyOpen": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestPRCreate_survey_defaults_multicommit": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestIssueView_web_numberArgWithHash": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "Test_listHeader": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "Test_printError/Cobra_flag_error": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestPRView_Preview": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestIssueView_web": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "Test_determineTrackingBranch_empty": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestCompletion_zsh": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestPRCreate_defaults_error_interactive": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestForOS": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestIssueView_Preview/Open_issue_without_metadata": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestIssueClose": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestIssueStateTitleWithColor/Closed_state": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestRepoView_web_ownerRepo": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "Test_repoFromURL/filesystem_path": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestPRReopen": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestConfigSetHost": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestPrClose": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestPrStateTitleWithColor/Format_OPEN_state_for_Draft_PR": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestRepoCreate": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestRepoFork_outside_yes": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "Test_ttyTablePrinter_truncate": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "Test_printError/DNS_error": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestIssueStatus": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestFind/Template_in_docs": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestPRView_Preview/Open_PR_with_metadata_by_branch": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestExtractContents": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestPrClose_alreadyClosed": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestFind/Template_in_.github_takes_precedence": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "Test_printError/generic_error": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestPRCheckout_urlArg_differentBase": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestPRList_filteringClosed": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestConfigGetHost": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestIssueView_Preview/Open_issue_with_metadata": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestPRCheckout_sameRepo": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestRepoFork_outside/url_arg": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestIssueList_disabledIssues": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestPRCreate_alreadyExistsDifferentBase": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestPRList_filteringAssigneeLabels": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestExtractContents/Has_front-matter": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestIssueList_withFlags": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestRepoFork_reuseRemote": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestRepoCreate_orgWithTeam": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestPRView_Preview/Draft_PR_by_branch": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "Test_Remotes_FindByName": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestIssueView_Preview": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestIssueView_disabledIssues": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestRepoView_web_fullURL": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestPRView_Preview/Open_PR_wth_empty_body_for_the_current_branch": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "Test_listHeader/one_result_in_total": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestRepoClone/HTTPS_URL": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestCheckForUpdate/latest_is_current": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestRepoView_web": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestRemoteURLFormatting_ssh_config": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestPRCreate_web": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "Test_determineTrackingBranch_hasMatch": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestPrStateTitleWithColor": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestPRCheckout_branchArg": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestIssueCreate_metadata": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestPRCheckout_differentRepo": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestPRView_Preview/Open_PR_without_metadata": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "Test_listHeader/multiple_results": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestRepoClone_hasParent": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "Test_resolvedRemotes_forkLookup": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestPRList_filtering": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestPRView_web_urlArg": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "Test_resolvedRemotes_clonedFork": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestRESTGetDelete": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestPRCreate_withForking": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestConfigSetHost_update": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestPRView_web_numberArg": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestPRView_Preview/Open_PR_with_metadata_by_number": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestConfigGet_default": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestConfigSet_update": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestRepoFork_outside/full_name_arg": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestPRStatus_currentBranch_defaultBranch_repoFlag": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestPRList_filteringRemoveDuplicate": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestPRCreate_metadata": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestPRCheckout_differentRepo_existingBranch": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestRepoFork_already_forked": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestPRCreate_alreadyExists": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestCheckForUpdate/current_is_prerelease": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestConfigGet_not_found": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestRepoClone/clone_arguments": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "Test_repoFromURL/github.com_URL": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestIssueStatus_disabledIssues": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestPrStateTitleWithColor/Format_OPEN_state": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestIssueCreate": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestPRView_Preview/Draft_PR": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestTruncate/Korean_filled": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestGraphQLError": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestPRStatus_currentBranch_Closed_defaultBranch": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "Test_listHeader/one_result_in_total_after_filters": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestCompletion_powerShell": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestFind/Empty_multiple_templates_directory": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestExtractName": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestForOS/Windows": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestIssueView_web_urlArg": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestFuzzyAgo": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestRepoClone/shorthand": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestPRStatus_fork": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestPRView_Preview/Open_PR_for_the_current_branch": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestPRView_web_noResultsForBranch": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestTruncate/Chinese_filled": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestTruncate/Korean": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestPRStatus_currentBranch_defaultBranch": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestParseExtraArgs/only_args": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestRepoFork_in_parent_survey_yes": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestRepoView": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestPRList": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestPRView_Preview/Merged_PR": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestConfigGetHost_unset": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "Test_listHeader/no_results": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "Test_listHeader/no_matches_after_filters": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestPRReopen_alreadyOpen": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestRepoView_blanks": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestPRCheckout_differentRepo_remoteExists": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestPRCreate_ReportsUncommittedChanges": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestParseExtraArgs/args_and_target": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestPRCheckout_urlArg": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestRemoteURLFormatting_no_config": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "Test_translateRemotes": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestPRCreate_defaults_error_web": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestExtractName/Complete_front-matter": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestPRStatus_currentBranch_Closed": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestParseExtraArgs/no_args": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestRepoView_nonmarkdown_readme": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestIssueCreate_web": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestIssueView_Preview/Open_issue_with_empty_body": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestIssueClose_alreadyClosed": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestPRView_web_branchArg": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestIssueReopen_issuesDisabled": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestPRCheckout_existingBranch": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestIssueCreate_disabledIssues": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestFind/Template_in_root": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestCompletion_unsupported": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestPRCreate": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestIssueStateTitleWithColor": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestPRStatus_currentBranch_Merged_defaultBranch": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestPRCreate_survey_defaults_monocommit": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestPRList_filteringAssignee": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestExtractContents/No_front-matter": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestPRCheckout_differentRepo_currentBranch": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestCheckForUpdate/latest_is_older": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "Test_listHeader/multiple_results_after_filters": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestIssueList": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestParseExtraArgs/only_target": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestPRCheckout_maintainerCanModify": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestPrStateTitleWithColor/Format_CLOSED_state": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestTruncate/Japanese_filled": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "Test_printError": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "Test_listHeader/one_result": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestPRStatus": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "Test_printError/unknown_Cobra_command_error": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestRepoFork_outside": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestForOS/macOS": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestRepoFork_in_parent": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestForOS/Linux": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestPRStatus_currentBranch_showTheMostRecentPR": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestPRReopen_alreadyMerged": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestRepoFork_in_parent_survey_no": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestRepoClone/SSH_URL": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestIssueView_web_notFound": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestPRCreate_cross_repo_same_branch": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "Test_repoFromURL": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestPRStatus_currentBranch_Merged": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestIssueStatus_blankSlate": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestIssueList_nullAssigneeLabels": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "Test_repoFromURL/www.github.com_URL": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestCheckForUpdate/latest_is_newer": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestTruncate/Chinese": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "TestRepoFork_outside_survey_yes": {"run": "PASS", "test": "PASS", "fix": "PASS"}}
{"TestPRReview_validation": {"run": "SKIP", "test": "FAIL", "fix": "PASS"}, "TestPRReview_interactive": {"run": "NONE", "test": "FAIL", "fix": "PASS"}, "TestPRReview_interactive_blank_approve": {"run": "NONE", "test": "FAIL", "fix": "PASS"}, "TestPRReview_blank_request_changes": {"run": "SKIP", "test": "FAIL", "fix": "PASS"}, "TestPRReview": {"run": "SKIP", "test": "FAIL", "fix": "PASS"}, "TestPRReview_blank_comment": {"run": "SKIP", "test": "FAIL", "fix": "PASS"}, "TestPRReview_no_arg": {"run": "SKIP", "test": "FAIL", "fix": "PASS"}, "TestPRReview_url_arg": {"run": "SKIP", "test": "FAIL", "fix": "PASS"}, "TestPRReview_bad_body": {"run": "NONE", "test": "FAIL", "fix": "PASS"}, "TestPRReview_number_arg": {"run": "SKIP", "test": "FAIL", "fix": "PASS"}, "TestPRReview_interactive_no_body": {"run": "NONE", "test": "FAIL", "fix": "PASS"}}
{"passed_count": 216, "failed_count": 2, "skipped_count": 7, "passed_tests": ["TestPRView_Preview/Closed_PR", "TestPullRequest_ChecksStatus", "TestIssueCreate_webTitleBody", "TestPRCreate_defaults_error_autofill", "TestRepoFork_in_parent_yes", "TestConfigSet", "TestPrStateTitleWithColor/Format_MERGED_state", "TestExtractName/Incomplete_front-matter", "TestIssueStateTitleWithColor/Open_state", "TestCompletion_fish", "TestRepoClone/shorthand_with_directory", "TestReplaceExcessiveWhitespace", "TestConfigGet", "TestPRView_web_currentBranch", "Test_repoFromURL/unsupported_hostname", "Test_resolvedRemotes_triangularSetup", "TestRepoClone/clone_arguments_with_directory", "TestFind/Multiple_templates", "TestFind", "TestRepoFork_outside_survey_no", "TestIssueView_Preview/Closed_issue", "Test_determineTrackingBranch_noMatch", "TestPRStatus_reviewsAndChecks", "TestRepoClone", "TestChangelogURL", "TestPRView_web_numberArgWithHash", "TestCheckForUpdate", "Test_listHeader/one_result_after_filters", "TestIssueReopen", "TestPRCreate_survey_autofill", "TestPRView_web_branchWithOwnerArg", "Test_determineTrackingBranch_respectTrackingConfig", "TestIssueClose_issuesDisabled", "TestGraphQL", "Test_RepoCreate", "TestPRStatus_blankSlate", "TestTruncate", "TestTruncate/Japanese", "TestPRView_Preview/Open_PR_with_reviewers_by_number", "TestCompletion_bash", "TestParseExtraArgs", "TestExtractName/No_front-matter", "TestRepoCreate_org", "TestIssueReopen_alreadyOpen", "TestPRCreate_survey_defaults_multicommit", "TestIssueView_web_numberArgWithHash", "Test_listHeader", "Test_printError/Cobra_flag_error", "TestPRView_Preview", "TestIssueView_web", "Test_determineTrackingBranch_empty", "TestCompletion_zsh", "TestPRCreate_defaults_error_interactive", "TestForOS", "TestIssueView_Preview/Open_issue_without_metadata", "TestIssueClose", "TestIssueStateTitleWithColor/Closed_state", "TestRepoView_web_ownerRepo", "Test_repoFromURL/filesystem_path", "TestPRReopen", "TestConfigSetHost", "TestPrClose", "TestPrStateTitleWithColor/Format_OPEN_state_for_Draft_PR", "TestRepoCreate", "TestRepoFork_outside_yes", "Test_ttyTablePrinter_truncate", "Test_printError/DNS_error", "TestIssueStatus", "TestFind/Template_in_docs", "TestPRView_Preview/Open_PR_with_metadata_by_branch", "TestExtractContents", "TestPrClose_alreadyClosed", "TestFind/Template_in_.github_takes_precedence", "Test_printError/generic_error", "TestPRCheckout_urlArg_differentBase", "TestPRList_filteringClosed", "TestConfigGetHost", "TestIssueView_Preview/Open_issue_with_metadata", "TestPRCheckout_sameRepo", "TestRepoFork_outside/url_arg", "TestIssueList_disabledIssues", "TestPRCreate_alreadyExistsDifferentBase", "TestPRList_filteringAssigneeLabels", "TestExtractContents/Has_front-matter", "TestIssueList_withFlags", "TestRepoFork_reuseRemote", "TestRepoCreate_orgWithTeam", "TestPRView_Preview/Draft_PR_by_branch", "Test_Remotes_FindByName", "TestIssueView_Preview", "TestIssueView_disabledIssues", "TestRepoView_web_fullURL", "TestPRView_Preview/Open_PR_wth_empty_body_for_the_current_branch", "Test_listHeader/one_result_in_total", "TestRepoClone/HTTPS_URL", "TestCheckForUpdate/latest_is_current", "TestRepoView_web", "TestRemoteURLFormatting_ssh_config", "TestPRCreate_web", "Test_determineTrackingBranch_hasMatch", "TestPrStateTitleWithColor", "TestPRCheckout_branchArg", "TestIssueCreate_metadata", "TestPRCheckout_differentRepo", "TestPRView_Preview/Open_PR_without_metadata", "Test_listHeader/multiple_results", "TestRepoClone_hasParent", "Test_resolvedRemotes_forkLookup", "TestPRList_filtering", "TestPRView_web_urlArg", "Test_resolvedRemotes_clonedFork", "TestRESTGetDelete", "TestPRCreate_withForking", "TestConfigSetHost_update", "TestPRView_web_numberArg", "TestPRView_Preview/Open_PR_with_metadata_by_number", "TestConfigGet_default", "TestConfigSet_update", "TestRepoFork_outside/full_name_arg", "TestPRStatus_currentBranch_defaultBranch_repoFlag", "TestPRList_filteringRemoveDuplicate", "TestPRCreate_metadata", "TestPRCheckout_differentRepo_existingBranch", "TestRepoFork_already_forked", "TestPRCreate_alreadyExists", "TestCheckForUpdate/current_is_prerelease", "TestConfigGet_not_found", "TestRepoClone/clone_arguments", "Test_repoFromURL/github.com_URL", "TestIssueStatus_disabledIssues", "TestPrStateTitleWithColor/Format_OPEN_state", "TestIssueCreate", "TestPRView_Preview/Draft_PR", "TestTruncate/Korean_filled", "TestGraphQLError", "TestPRStatus_currentBranch_Closed_defaultBranch", "Test_listHeader/one_result_in_total_after_filters", "TestCompletion_powerShell", "TestFind/Empty_multiple_templates_directory", "TestExtractName", "TestForOS/Windows", "TestIssueView_web_urlArg", "TestFuzzyAgo", "TestRepoClone/shorthand", "TestPRView_Preview/Open_PR_for_the_current_branch", "TestPRView_web_noResultsForBranch", "TestTruncate/Chinese_filled", "TestTruncate/Korean", "TestPRStatus_currentBranch_defaultBranch", "TestParseExtraArgs/only_args", "TestRepoFork_in_parent_survey_yes", "TestRepoView", "TestPRList", "TestPRView_Preview/Merged_PR", "TestConfigGetHost_unset", "Test_listHeader/no_results", "Test_listHeader/no_matches_after_filters", "TestPRReopen_alreadyOpen", "TestRepoView_blanks", "TestPRCheckout_differentRepo_remoteExists", "TestPRCreate_ReportsUncommittedChanges", "TestParseExtraArgs/args_and_target", "TestPRCheckout_urlArg", "TestRemoteURLFormatting_no_config", "Test_translateRemotes", "TestPRCreate_defaults_error_web", "TestExtractName/Complete_front-matter", "TestPRStatus_currentBranch_Closed", "TestParseExtraArgs/no_args", "TestRepoView_nonmarkdown_readme", "TestIssueCreate_web", "TestIssueView_Preview/Open_issue_with_empty_body", "TestIssueClose_alreadyClosed", "TestPRView_web_branchArg", "TestIssueReopen_issuesDisabled", "TestPRCheckout_existingBranch", "TestIssueCreate_disabledIssues", "TestFind/Template_in_root", "TestCompletion_unsupported", "TestPRCreate", "TestIssueStateTitleWithColor", "TestPRStatus_currentBranch_Merged_defaultBranch", "TestPRCreate_survey_defaults_monocommit", "TestPRList_filteringAssignee", "TestExtractContents/No_front-matter", "TestPRCheckout_differentRepo_currentBranch", "TestCheckForUpdate/latest_is_older", "Test_listHeader/multiple_results_after_filters", "TestIssueList", "TestParseExtraArgs/only_target", "TestPRCheckout_maintainerCanModify", "TestPrStateTitleWithColor/Format_CLOSED_state", "TestCheckForUpdate/latest_is_newer", "TestTruncate/Japanese_filled", "Test_printError", "Test_listHeader/one_result", "TestPRStatus", "Test_printError/unknown_Cobra_command_error", "TestRepoFork_outside", "TestForOS/macOS", "TestRepoFork_in_parent", "TestForOS/Linux", "TestPRStatus_currentBranch_showTheMostRecentPR", "TestPRReopen_alreadyMerged", "TestRepoFork_in_parent_survey_no", "TestRepoClone/SSH_URL", "TestIssueView_web_notFound", "TestPRCreate_cross_repo_same_branch", "Test_repoFromURL", "TestPRStatus_currentBranch_Merged", "TestIssueStatus_blankSlate", "TestIssueList_nullAssigneeLabels", "Test_repoFromURL/www.github.com_URL", "TestPRStatus_fork", "TestTruncate/Chinese", "TestRepoFork_outside_survey_yes"], "failed_tests": ["github.com/cli/cli/git", "github.com/cli/cli/internal/config"], "skipped_tests": ["TestPRReview_no_arg", "TestPRReview_blank_request_changes", "TestPRReview_blank_comment", "TestPRReview_validation", "TestPRReview_url_arg", "TestPRReview", "TestPRReview_number_arg"]}
{"passed_count": 216, "failed_count": 14, "skipped_count": 0, "passed_tests": ["TestPRView_Preview/Closed_PR", "TestPullRequest_ChecksStatus", "TestIssueCreate_webTitleBody", "TestPRCreate_defaults_error_autofill", "TestRepoFork_in_parent_yes", "TestConfigSet", "TestPrStateTitleWithColor/Format_MERGED_state", "TestExtractName/Incomplete_front-matter", "TestIssueStateTitleWithColor/Open_state", "TestCompletion_fish", "TestRepoClone/shorthand_with_directory", "TestReplaceExcessiveWhitespace", "TestConfigGet", "TestPRView_web_currentBranch", "Test_repoFromURL/unsupported_hostname", "Test_resolvedRemotes_triangularSetup", "TestRepoClone/clone_arguments_with_directory", "TestFind/Multiple_templates", "TestFind", "TestRepoFork_outside_survey_no", "TestIssueView_Preview/Closed_issue", "Test_determineTrackingBranch_noMatch", "TestPRStatus_reviewsAndChecks", "TestRepoClone", "TestChangelogURL", "TestPRView_web_numberArgWithHash", "TestCheckForUpdate", "Test_listHeader/one_result_after_filters", "TestIssueReopen", "TestPRCreate_survey_autofill", "TestPRView_web_branchWithOwnerArg", "Test_determineTrackingBranch_respectTrackingConfig", "TestIssueClose_issuesDisabled", "TestGraphQL", "Test_RepoCreate", "TestPRStatus_blankSlate", "TestTruncate", "TestTruncate/Japanese", "TestPRView_Preview/Open_PR_with_reviewers_by_number", "TestCompletion_bash", "TestParseExtraArgs", "TestExtractName/No_front-matter", "TestRepoCreate_org", "TestIssueReopen_alreadyOpen", "TestPRCreate_survey_defaults_multicommit", "TestIssueView_web_numberArgWithHash", "Test_listHeader", "Test_printError/Cobra_flag_error", "TestPRView_Preview", "TestIssueView_web", "Test_determineTrackingBranch_empty", "TestCompletion_zsh", "TestPRCreate_defaults_error_interactive", "TestForOS", "TestIssueView_Preview/Open_issue_without_metadata", "TestIssueClose", "TestIssueStateTitleWithColor/Closed_state", "TestRepoView_web_ownerRepo", "Test_repoFromURL/filesystem_path", "TestPRReopen", "TestConfigSetHost", "TestPrClose", "TestPrStateTitleWithColor/Format_OPEN_state_for_Draft_PR", "TestRepoCreate", "TestRepoFork_outside_yes", "Test_ttyTablePrinter_truncate", "Test_printError/DNS_error", "TestIssueStatus", "TestFind/Template_in_docs", "TestPRView_Preview/Open_PR_with_metadata_by_branch", "TestExtractContents", "TestPrClose_alreadyClosed", "TestFind/Template_in_.github_takes_precedence", "Test_printError/generic_error", "TestPRCheckout_urlArg_differentBase", "TestPRList_filteringClosed", "TestConfigGetHost", "TestIssueView_Preview/Open_issue_with_metadata", "TestPRCheckout_sameRepo", "TestRepoFork_outside/url_arg", "TestIssueList_disabledIssues", "TestPRCreate_alreadyExistsDifferentBase", "TestPRList_filteringAssigneeLabels", "TestExtractContents/Has_front-matter", "TestIssueList_withFlags", "TestRepoFork_reuseRemote", "TestRepoCreate_orgWithTeam", "TestPRView_Preview/Draft_PR_by_branch", "Test_Remotes_FindByName", "TestIssueView_Preview", "TestIssueView_disabledIssues", "TestRepoView_web_fullURL", "TestPRView_Preview/Open_PR_wth_empty_body_for_the_current_branch", "Test_listHeader/one_result_in_total", "TestRepoClone/HTTPS_URL", "TestCheckForUpdate/latest_is_current", "TestRepoView_web", "TestRemoteURLFormatting_ssh_config", "TestPRCreate_web", "Test_determineTrackingBranch_hasMatch", "TestPrStateTitleWithColor", "TestPRCheckout_branchArg", "TestIssueCreate_metadata", "TestPRCheckout_differentRepo", "TestPRView_Preview/Open_PR_without_metadata", "Test_listHeader/multiple_results", "TestRepoClone_hasParent", "Test_resolvedRemotes_forkLookup", "TestPRList_filtering", "TestPRView_web_urlArg", "Test_resolvedRemotes_clonedFork", "TestRESTGetDelete", "TestPRCreate_withForking", "TestConfigSetHost_update", "TestPRView_web_numberArg", "TestPRView_Preview/Open_PR_with_metadata_by_number", "TestConfigGet_default", "TestConfigSet_update", "TestRepoFork_outside/full_name_arg", "TestPRStatus_currentBranch_defaultBranch_repoFlag", "TestPRList_filteringRemoveDuplicate", "TestPRCreate_metadata", "TestPRCheckout_differentRepo_existingBranch", "TestRepoFork_already_forked", "TestPRCreate_alreadyExists", "TestCheckForUpdate/current_is_prerelease", "TestConfigGet_not_found", "TestRepoClone/clone_arguments", "Test_repoFromURL/github.com_URL", "TestIssueStatus_disabledIssues", "TestPrStateTitleWithColor/Format_OPEN_state", "TestIssueCreate", "TestPRView_Preview/Draft_PR", "TestTruncate/Korean_filled", "TestGraphQLError", "TestPRStatus_currentBranch_Closed_defaultBranch", "Test_listHeader/one_result_in_total_after_filters", "TestCompletion_powerShell", "TestFind/Empty_multiple_templates_directory", "TestExtractName", "TestForOS/Windows", "TestIssueView_web_urlArg", "TestFuzzyAgo", "TestRepoClone/shorthand", "TestPRView_Preview/Open_PR_for_the_current_branch", "TestPRView_web_noResultsForBranch", "TestTruncate/Chinese_filled", "TestTruncate/Korean", "TestPRStatus_currentBranch_defaultBranch", "TestParseExtraArgs/only_args", "TestRepoFork_in_parent_survey_yes", "TestRepoView", "TestPRList", "TestPRView_Preview/Merged_PR", "TestConfigGetHost_unset", "Test_listHeader/no_results", "Test_listHeader/no_matches_after_filters", "TestPRReopen_alreadyOpen", "TestRepoView_blanks", "TestPRCheckout_differentRepo_remoteExists", "TestPRCreate_ReportsUncommittedChanges", "TestParseExtraArgs/args_and_target", "TestPRCheckout_urlArg", "TestRemoteURLFormatting_no_config", "Test_translateRemotes", "TestPRCreate_defaults_error_web", "TestExtractName/Complete_front-matter", "TestPRStatus_currentBranch_Closed", "TestParseExtraArgs/no_args", "TestRepoView_nonmarkdown_readme", "TestIssueCreate_web", "TestIssueView_Preview/Open_issue_with_empty_body", "TestIssueClose_alreadyClosed", "TestPRView_web_branchArg", "TestIssueReopen_issuesDisabled", "TestPRCheckout_existingBranch", "TestIssueCreate_disabledIssues", "TestFind/Template_in_root", "TestCompletion_unsupported", "TestPRCreate", "TestIssueStateTitleWithColor", "TestPRStatus_currentBranch_Merged_defaultBranch", "TestPRCreate_survey_defaults_monocommit", "TestPRList_filteringAssignee", "TestExtractContents/No_front-matter", "TestPRCheckout_differentRepo_currentBranch", "TestCheckForUpdate/latest_is_older", "Test_listHeader/multiple_results_after_filters", "TestIssueList", "TestParseExtraArgs/only_target", "TestPRCheckout_maintainerCanModify", "TestPrStateTitleWithColor/Format_CLOSED_state", "TestCheckForUpdate/latest_is_newer", "TestTruncate/Japanese_filled", "Test_printError", "Test_listHeader/one_result", "TestPRStatus", "Test_printError/unknown_Cobra_command_error", "TestRepoFork_outside", "TestForOS/macOS", "TestRepoFork_in_parent", "TestForOS/Linux", "TestPRStatus_currentBranch_showTheMostRecentPR", "TestPRReopen_alreadyMerged", "TestRepoFork_in_parent_survey_no", "TestRepoClone/SSH_URL", "TestIssueView_web_notFound", "TestPRCreate_cross_repo_same_branch", "Test_repoFromURL", "TestPRStatus_currentBranch_Merged", "TestIssueStatus_blankSlate", "TestIssueList_nullAssigneeLabels", "Test_repoFromURL/www.github.com_URL", "TestPRStatus_fork", "TestTruncate/Chinese", "TestRepoFork_outside_survey_yes"], "failed_tests": ["TestPRReview_interactive_no_body", "TestPRReview_no_arg", "TestPRReview_blank_request_changes", "TestPRReview_blank_comment", "TestPRReview_validation", "TestPRReview_url_arg", "github.com/cli/cli/command", "TestPRReview", "github.com/cli/cli/git", "github.com/cli/cli/internal/config", "TestPRReview_interactive_blank_approve", "TestPRReview_number_arg", "TestPRReview_interactive", "TestPRReview_bad_body"], "skipped_tests": []}
{"passed_count": 227, "failed_count": 2, "skipped_count": 0, "passed_tests": ["TestPRView_Preview/Closed_PR", "TestPullRequest_ChecksStatus", "TestIssueCreate_webTitleBody", "TestPRCreate_defaults_error_autofill", "TestRepoFork_in_parent_yes", "TestConfigSet", "TestPrStateTitleWithColor/Format_MERGED_state", "TestExtractName/Incomplete_front-matter", "TestIssueStateTitleWithColor/Open_state", "TestCompletion_fish", "TestRepoClone/shorthand_with_directory", "TestReplaceExcessiveWhitespace", "TestConfigGet", "TestPRView_web_currentBranch", "Test_repoFromURL/unsupported_hostname", "Test_resolvedRemotes_triangularSetup", "TestRepoClone/clone_arguments_with_directory", "TestFind/Multiple_templates", "TestFind", "TestRepoFork_outside_survey_no", "TestIssueView_Preview/Closed_issue", "Test_determineTrackingBranch_noMatch", "TestPRStatus_reviewsAndChecks", "TestRepoClone", "TestChangelogURL", "TestPRView_web_numberArgWithHash", "TestCheckForUpdate", "Test_listHeader/one_result_after_filters", "TestIssueReopen", "TestPRCreate_survey_autofill", "TestPRView_web_branchWithOwnerArg", "Test_determineTrackingBranch_respectTrackingConfig", "TestIssueClose_issuesDisabled", "TestGraphQL", "Test_RepoCreate", "TestPRReview_validation", "TestPRStatus_blankSlate", "TestTruncate", "TestTruncate/Japanese", "TestPRView_Preview/Open_PR_with_reviewers_by_number", "TestCompletion_bash", "TestParseExtraArgs", "TestExtractName/No_front-matter", "TestRepoCreate_org", "TestIssueReopen_alreadyOpen", "TestPRCreate_survey_defaults_multicommit", "TestIssueView_web_numberArgWithHash", "Test_listHeader", "Test_printError/Cobra_flag_error", "TestPRView_Preview", "TestIssueView_web", "Test_determineTrackingBranch_empty", "TestCompletion_zsh", "TestPRCreate_defaults_error_interactive", "TestForOS", "TestIssueView_Preview/Open_issue_without_metadata", "TestIssueClose", "TestIssueStateTitleWithColor/Closed_state", "TestRepoView_web_ownerRepo", "Test_repoFromURL/filesystem_path", "TestPRReopen", "TestConfigSetHost", "TestPrClose", "TestPrStateTitleWithColor/Format_OPEN_state_for_Draft_PR", "TestRepoCreate", "TestRepoFork_outside_yes", "Test_ttyTablePrinter_truncate", "Test_printError/DNS_error", "TestIssueStatus", "TestFind/Template_in_docs", "TestPRReview_interactive", "TestPRView_Preview/Open_PR_with_metadata_by_branch", "TestExtractContents", "TestPrClose_alreadyClosed", "TestFind/Template_in_.github_takes_precedence", "Test_printError/generic_error", "TestPRCheckout_urlArg_differentBase", "TestPRList_filteringClosed", "TestConfigGetHost", "TestIssueView_Preview/Open_issue_with_metadata", "TestPRCheckout_sameRepo", "TestRepoFork_outside/url_arg", "TestIssueList_disabledIssues", "TestPRCreate_alreadyExistsDifferentBase", "TestPRReview_interactive_blank_approve", "TestPRList_filteringAssigneeLabels", "TestExtractContents/Has_front-matter", "TestIssueList_withFlags", "TestRepoFork_reuseRemote", "TestRepoCreate_orgWithTeam", "TestPRView_Preview/Draft_PR_by_branch", "Test_Remotes_FindByName", "TestIssueView_Preview", "TestIssueView_disabledIssues", "TestRepoView_web_fullURL", "TestPRView_Preview/Open_PR_wth_empty_body_for_the_current_branch", "TestPRReview_blank_request_changes", "Test_listHeader/one_result_in_total", "TestRepoClone/HTTPS_URL", "TestCheckForUpdate/latest_is_current", "TestPRReview", "TestRepoView_web", "TestRemoteURLFormatting_ssh_config", "TestPRCreate_web", "Test_determineTrackingBranch_hasMatch", "TestPrStateTitleWithColor", "TestPRCheckout_branchArg", "TestIssueCreate_metadata", "TestPRCheckout_differentRepo", "TestPRView_Preview/Open_PR_without_metadata", "Test_listHeader/multiple_results", "TestRepoClone_hasParent", "Test_resolvedRemotes_forkLookup", "TestPRList_filtering", "TestPRView_web_urlArg", "Test_resolvedRemotes_clonedFork", "TestRESTGetDelete", "TestPRCreate_withForking", "TestConfigSetHost_update", "TestPRView_web_numberArg", "TestPRView_Preview/Open_PR_with_metadata_by_number", "TestConfigGet_default", "TestConfigSet_update", "TestRepoFork_outside/full_name_arg", "TestPRStatus_currentBranch_defaultBranch_repoFlag", "TestPRList_filteringRemoveDuplicate", "TestPRCreate_metadata", "TestPRCheckout_differentRepo_existingBranch", "TestRepoFork_already_forked", "TestPRCreate_alreadyExists", "TestCheckForUpdate/current_is_prerelease", "TestConfigGet_not_found", "TestRepoClone/clone_arguments", "Test_repoFromURL/github.com_URL", "TestIssueStatus_disabledIssues", "TestPrStateTitleWithColor/Format_OPEN_state", "TestIssueCreate", "TestPRView_Preview/Draft_PR", "TestTruncate/Korean_filled", "TestGraphQLError", "TestPRStatus_currentBranch_Closed_defaultBranch", "Test_listHeader/one_result_in_total_after_filters", "TestCompletion_powerShell", "TestFind/Empty_multiple_templates_directory", "TestExtractName", "TestPRReview_blank_comment", "TestForOS/Windows", "TestIssueView_web_urlArg", "TestFuzzyAgo", "TestRepoClone/shorthand", "TestPRView_Preview/Open_PR_for_the_current_branch", "TestPRView_web_noResultsForBranch", "TestTruncate/Chinese_filled", "TestTruncate/Korean", "TestPRStatus_currentBranch_defaultBranch", "TestParseExtraArgs/only_args", "TestRepoFork_in_parent_survey_yes", "TestPRReview_no_arg", "TestRepoView", "TestPRReview_url_arg", "TestPRList", "TestPRView_Preview/Merged_PR", "TestConfigGetHost_unset", "Test_listHeader/no_results", "Test_listHeader/no_matches_after_filters", "TestPRReopen_alreadyOpen", "TestRepoView_blanks", "TestPRCheckout_differentRepo_remoteExists", "TestPRCreate_ReportsUncommittedChanges", "TestParseExtraArgs/args_and_target", "TestPRCheckout_urlArg", "TestRemoteURLFormatting_no_config", "Test_translateRemotes", "TestPRCreate_defaults_error_web", "TestExtractName/Complete_front-matter", "TestPRStatus_currentBranch_Closed", "TestParseExtraArgs/no_args", "TestRepoView_nonmarkdown_readme", "TestIssueCreate_web", "TestIssueView_Preview/Open_issue_with_empty_body", "TestIssueClose_alreadyClosed", "TestPRView_web_branchArg", "TestIssueReopen_issuesDisabled", "TestPRReview_bad_body", "TestPRCheckout_existingBranch", "TestIssueCreate_disabledIssues", "TestFind/Template_in_root", "TestCompletion_unsupported", "TestPRCreate", "TestIssueStateTitleWithColor", "TestPRStatus_currentBranch_Merged_defaultBranch", "TestPRCreate_survey_defaults_monocommit", "TestPRReview_number_arg", "TestPRList_filteringAssignee", "TestPRCheckout_differentRepo_currentBranch", "TestExtractContents/No_front-matter", "TestCheckForUpdate/latest_is_older", "Test_listHeader/multiple_results_after_filters", "TestIssueList", "TestParseExtraArgs/only_target", "TestPRCheckout_maintainerCanModify", "TestPrStateTitleWithColor/Format_CLOSED_state", "TestCheckForUpdate/latest_is_newer", "TestTruncate/Japanese_filled", "Test_printError", "Test_listHeader/one_result", "TestPRStatus", "Test_printError/unknown_Cobra_command_error", "TestRepoFork_outside", "TestForOS/macOS", "TestRepoFork_in_parent", "TestForOS/Linux", "TestPRReview_interactive_no_body", "TestPRStatus_currentBranch_showTheMostRecentPR", "TestPRReopen_alreadyMerged", "TestRepoFork_in_parent_survey_no", "TestIssueView_web_notFound", "TestPRCreate_cross_repo_same_branch", "TestRepoClone/SSH_URL", "Test_repoFromURL", "TestPRStatus_currentBranch_Merged", "TestIssueStatus_blankSlate", "TestIssueList_nullAssigneeLabels", "Test_repoFromURL/www.github.com_URL", "TestPRStatus_fork", "TestTruncate/Chinese", "TestRepoFork_outside_survey_yes"], "failed_tests": ["github.com/cli/cli/git", "github.com/cli/cli/internal/config"], "skipped_tests": []}