diff --git a/internal/dotwriter/writer.go b/internal/dotwriter/writer.go index a1749c80..17d0b23f 100644 --- a/internal/dotwriter/writer.go +++ b/internal/dotwriter/writer.go @@ -5,20 +5,15 @@ terminal. package dotwriter import ( - "bytes" "io" ) -// ESC is the ASCII code for escape character -const ESC = 27 - // Writer buffers writes until Flush is called. Flush clears previously written // lines before writing new lines from the buffer. // The main logic is platform specific, see the related files. type Writer struct { - out io.Writer - buf bytes.Buffer - lineCount int + out io.Writer + inProgressLines int } // New returns a new Writer @@ -26,7 +21,17 @@ func New(out io.Writer) *Writer { return &Writer{out: out} } -// Write saves buf to a buffer -func (w *Writer) Write(buf []byte) (int, error) { - return w.buf.Write(buf) +func (w *Writer) Write(persistent []string, progressing []string) { + defer w.hideCursor()() + // Move up to the top of our last output. + up := w.inProgressLines + w.up(up) + for _, lines := range [][]string{persistent, progressing} { + for _, l := range lines { + w.write([]byte(l)) + w.clearRest() + w.write([]byte{'\n'}) + } + } + w.inProgressLines = len(progressing) } diff --git a/internal/dotwriter/writer_posix.go b/internal/dotwriter/writer_posix.go index beccae9c..89f71a12 100644 --- a/internal/dotwriter/writer_posix.go +++ b/internal/dotwriter/writer_posix.go @@ -4,45 +4,20 @@ package dotwriter import ( - "bytes" "fmt" ) +// ESC is the ASCII code for escape character +const ESC = 27 + // hide cursor var hide = fmt.Sprintf("%c[?25l", ESC) // show cursor var show = fmt.Sprintf("%c[?25h", ESC) -// Flush the buffer, writing all buffered lines to out -func (w *Writer) Flush() error { - if w.buf.Len() == 0 { - return nil - } - // Hide cursor during write to avoid it moving around the screen - defer w.hideCursor()() - - // Move up to the top of our last output. - w.up(w.lineCount) - lines := bytes.Split(w.buf.Bytes(), []byte{'\n'}) - w.lineCount = len(lines) - 1 // Record how many lines we will write for the next Flush() - for i, line := range lines { - // For each line, write the contents and clear everything else on the line - _, err := w.out.Write(line) - if err != nil { - return err - } - w.clearRest() - // Add a newline if this isn't the last line - if i != len(lines)-1 { - _, err := w.out.Write([]byte{'\n'}) - if err != nil { - return err - } - } - } - w.buf.Reset() - return nil +func (w *Writer) write(b []byte) { + _, _ = w.out.Write(b) } func (w *Writer) up(count int) { diff --git a/internal/dotwriter/writer_windows.go b/internal/dotwriter/writer_windows.go index b73a9f8d..f16f1eee 100644 --- a/internal/dotwriter/writer_windows.go +++ b/internal/dotwriter/writer_windows.go @@ -42,8 +42,8 @@ func (w *Writer) Flush() error { if w.buf.Len() == 0 { return nil } - w.clearLines(w.lineCount) - w.lineCount = bytes.Count(w.buf.Bytes(), []byte{'\n'}) + w.clearLines(w.inProgressLines) + w.inProgressLines = bytes.Count(w.buf.Bytes(), []byte{'\n'}) _, err := w.out.Write(w.buf.Bytes()) w.buf.Reset() return err diff --git a/testjson/dotformat.go b/testjson/dotformat.go index 625cd87a..7e4cbea0 100644 --- a/testjson/dotformat.go +++ b/testjson/dotformat.go @@ -2,6 +2,7 @@ package testjson import ( "bufio" + "bytes" "fmt" "io" "os" @@ -56,6 +57,7 @@ type dotLine struct { runes int builder *strings.Builder lastUpdate time.Time + terminal bool } func (l *dotLine) update(dot string) { @@ -96,6 +98,8 @@ func (d *dotFormatter) Format(event TestEvent, exec *Execution) error { } line := d.pkgs[event.Package] line.lastUpdate = event.Time + epkg := exec.Package(event.Package) + line.terminal = epkg.action.IsTerminal() || epkg.skipped if !event.PackageEvent() { line.update(fmtDot(event)) @@ -105,29 +109,46 @@ func (d *dotFormatter) Format(event TestEvent, exec *Execution) error { return nil } - // Add an empty header to work around incorrect line counting - fmt.Fprint(d.writer, "\n\n") - - sort.Slice(d.order, d.orderByLastUpdated) + persistent, progressing := []string{}, []string{} + sort.SliceStable(d.order, d.orderByLastUpdated) for _, pkg := range d.order { - if d.opts.HideEmptyPackages && exec.Package(pkg).IsEmpty() { + p := exec.Package(pkg) + if d.opts.HideEmptyPackages && p.IsEmpty() { continue } - line := d.pkgs[pkg] + if line.terminal && pkg != event.Package { + // The package is done already, and the event is not for this package. + // This means we have already persistently emitted the package once; skip it + continue + } + pkgname := RelativePackagePath(pkg) + " " - prefix := fmtDotElapsed(exec.Package(pkg)) + prefix := fmtDotElapsed(p) line.checkWidth(len(prefix+pkgname), d.termWidth) - fmt.Fprintf(d.writer, prefix+pkgname+line.builder.String()+"\n") + lines := strings.Split(prefix+pkgname+line.builder.String(), "\n") + + if line.terminal { + // This should happen exactly once per package, and any future times we filter our the line above + // Persist it so we permanently write the final line output + persistent = append(persistent, lines...) + } else { + progressing = append(progressing, lines...) + } } - PrintSummary(d.writer, exec, SummarizeNone) - return d.writer.Flush() + buf := &bytes.Buffer{} + PrintSummary(buf, exec, SummarizeNone) + progressing = append(progressing, strings.Split(buf.String(), "\n")...) + d.writer.Write(persistent, progressing) + return nil } // orderByLastUpdated so that the most recently updated packages move to the // bottom of the list, leaving completed package in the same order at the top. func (d *dotFormatter) orderByLastUpdated(i, j int) bool { - return d.pkgs[d.order[i]].lastUpdate.Before(d.pkgs[d.order[j]].lastUpdate) + iterm := d.pkgs[d.order[i]].terminal + jterm := d.pkgs[d.order[j]].terminal + return iterm && !jterm } func fmtDotElapsed(p *Package) string { @@ -139,6 +160,8 @@ func fmtDotElapsed(p *Package) string { switch { case p.cached: return f("๐Ÿ–ด ") + case p.skipped: + return f("โ†ท") case elapsed <= 0: return f("") case elapsed >= time.Hour: diff --git a/testjson/execution.go b/testjson/execution.go index 25d4be08..666523e8 100644 --- a/testjson/execution.go +++ b/testjson/execution.go @@ -109,6 +109,7 @@ type Package struct { // output caused by a test timeout. This is necessary to work around a race // condition in test2json. See https://github.com/golang/go/issues/57305. testTimeoutPanicInTest string + skipped bool } // Result returns if the package passed, failed, or was skipped because there @@ -371,6 +372,8 @@ func (p *Package) addEvent(event TestEvent) { case ActionPass, ActionFail: p.action = event.Action p.elapsed = elapsedDuration(event.Elapsed) + case ActionSkip: + p.skipped = true case ActionOutput: if coverage, ok := isCoverageOutput(event.Output); ok { p.coverage = coverage diff --git a/testjson/testdata/format/dots-v2.out b/testjson/testdata/format/dots-v2.out index 21f2afa8..5a2b9189 100644 --- a/testjson/testdata/format/dots-v2.out +++ b/testjson/testdata/format/dots-v2.out @@ -1,1210 +1,597 @@ -[?25l - - 1ms testjson/internal/badmain  +[?25l 1ms testjson/internal/badmain   0 tests, 1 failure, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  +[?25h[?25l ๐Ÿ–ด testjson/internal/empty   0 tests, 1 failure, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - testjson/internal/good  +[?25h[?25l testjson/internal/good   1 tests, 1 failure, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - testjson/internal/good ยท +[?25h[?25l testjson/internal/good ยท  1 tests, 1 failure, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - testjson/internal/good ยท +[?25h[?25l testjson/internal/good ยท  2 tests, 1 failure, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - testjson/internal/good ยทยท +[?25h[?25l testjson/internal/good ยทยท  2 tests, 1 failure, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - testjson/internal/good ยทยท +[?25h[?25l testjson/internal/good ยทยท  3 tests, 1 failure, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - testjson/internal/good ยทยทยท +[?25h[?25l testjson/internal/good ยทยทยท  3 tests, 1 failure, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - testjson/internal/good ยทยทยท +[?25h[?25l testjson/internal/good ยทยทยท  4 tests, 1 failure, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - testjson/internal/good ยทยทยทโ†ท +[?25h[?25l testjson/internal/good ยทยทยทโ†ท  4 tests, 1 skipped, 1 failure, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - testjson/internal/good ยทยทยทโ†ท +[?25h[?25l testjson/internal/good ยทยทยทโ†ท  5 tests, 1 skipped, 1 failure, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - testjson/internal/good ยทยทยทโ†ทโ†ท +[?25h[?25l testjson/internal/good ยทยทยทโ†ทโ†ท  5 tests, 2 skipped, 1 failure, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - testjson/internal/good ยทยทยทโ†ทโ†ท +[?25h[?25l testjson/internal/good ยทยทยทโ†ทโ†ท  6 tests, 2 skipped, 1 failure, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - testjson/internal/good ยทยทยทโ†ทโ†ทยท +[?25h[?25l testjson/internal/good ยทยทยทโ†ทโ†ทยท  6 tests, 2 skipped, 1 failure, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - testjson/internal/good ยทยทยทโ†ทโ†ทยท +[?25h[?25l testjson/internal/good ยทยทยทโ†ทโ†ทยท  7 tests, 2 skipped, 1 failure, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - testjson/internal/good ยทยทยทโ†ทโ†ทยท +[?25h[?25l testjson/internal/good ยทยทยทโ†ทโ†ทยท  7 tests, 2 skipped, 1 failure, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - testjson/internal/good ยทยทยทโ†ทโ†ทยท +[?25h[?25l testjson/internal/good ยทยทยทโ†ทโ†ทยท  8 tests, 2 skipped, 1 failure, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - testjson/internal/good ยทยทยทโ†ทโ†ทยท +[?25h[?25l testjson/internal/good ยทยทยทโ†ทโ†ทยท  8 tests, 2 skipped, 1 failure, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - testjson/internal/good ยทยทยทโ†ทโ†ทยท +[?25h[?25l testjson/internal/good ยทยทยทโ†ทโ†ทยท  9 tests, 2 skipped, 1 failure, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - testjson/internal/good ยทยทยทโ†ทโ†ทยท +[?25h[?25l testjson/internal/good ยทยทยทโ†ทโ†ทยท  9 tests, 2 skipped, 1 failure, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - testjson/internal/good ยทยทยทโ†ทโ†ทยท +[?25h[?25l testjson/internal/good ยทยทยทโ†ทโ†ทยท  10 tests, 2 skipped, 1 failure, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - testjson/internal/good ยทยทยทโ†ทโ†ทยท +[?25h[?25l testjson/internal/good ยทยทยทโ†ทโ†ทยท  11 tests, 2 skipped, 1 failure, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - testjson/internal/good ยทยทยทโ†ทโ†ทยท +[?25h[?25l testjson/internal/good ยทยทยทโ†ทโ†ทยท  12 tests, 2 skipped, 1 failure, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - testjson/internal/good ยทยทยทโ†ทโ†ทยท +[?25h[?25l testjson/internal/good ยทยทยทโ†ทโ†ทยท  13 tests, 2 skipped, 1 failure, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - testjson/internal/good ยทยทยทโ†ทโ†ทยท +[?25h[?25l testjson/internal/good ยทยทยทโ†ทโ†ทยท  14 tests, 2 skipped, 1 failure, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - testjson/internal/good ยทยทยทโ†ทโ†ทยท +[?25h[?25l testjson/internal/good ยทยทยทโ†ทโ†ทยท  15 tests, 2 skipped, 1 failure, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - testjson/internal/good ยทยทยทโ†ทโ†ทยท +[?25h[?25l testjson/internal/good ยทยทยทโ†ทโ†ทยท  16 tests, 2 skipped, 1 failure, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - testjson/internal/good ยทยทยทโ†ทโ†ทยท +[?25h[?25l testjson/internal/good ยทยทยทโ†ทโ†ทยท  17 tests, 2 skipped, 1 failure, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - testjson/internal/good ยทยทยทโ†ทโ†ทยท +[?25h[?25l testjson/internal/good ยทยทยทโ†ทโ†ทยท  18 tests, 2 skipped, 1 failure, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - testjson/internal/good ยทยทยทโ†ทโ†ทยทยท +[?25h[?25l testjson/internal/good ยทยทยทโ†ทโ†ทยทยท  18 tests, 2 skipped, 1 failure, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยท +[?25h[?25l testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยท  18 tests, 2 skipped, 1 failure, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยท +[?25h[?25l testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยท  18 tests, 2 skipped, 1 failure, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยท +[?25h[?25l testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยท  18 tests, 2 skipped, 1 failure, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยท +[?25h[?25l testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยท  18 tests, 2 skipped, 1 failure, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยท +[?25h[?25l testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยท  18 tests, 2 skipped, 1 failure, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยท +[?25h[?25l testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยท  18 tests, 2 skipped, 1 failure, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยท +[?25h[?25l testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยท  18 tests, 2 skipped, 1 failure, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยท +[?25h[?25l testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยท  18 tests, 2 skipped, 1 failure, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยท +[?25h[?25l testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยท  18 tests, 2 skipped, 1 failure, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยท +[?25h[?25l testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยท  18 tests, 2 skipped, 1 failure, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยท +[?25h[?25l testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยท  18 tests, 2 skipped, 1 failure, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยท +[?25h[?25l testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยท  18 tests, 2 skipped, 1 failure, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยท +[?25h[?25l testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยท  18 tests, 2 skipped, 1 failure, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท +[?25h[?25l testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท  18 tests, 2 skipped, 1 failure, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - ๐Ÿ–ด testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท +[?25h[?25l ๐Ÿ–ด testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท  18 tests, 2 skipped, 1 failure, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - ๐Ÿ–ด testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท - testjson/internal/parallelfails  +[?25h[?25l testjson/internal/parallelfails   19 tests, 2 skipped, 1 failure, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - ๐Ÿ–ด testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท - testjson/internal/parallelfails ยท +[?25h[?25l testjson/internal/parallelfails ยท  19 tests, 2 skipped, 1 failure, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - ๐Ÿ–ด testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท - testjson/internal/parallelfails ยท +[?25h[?25l testjson/internal/parallelfails ยท  20 tests, 2 skipped, 1 failure, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - ๐Ÿ–ด testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท - testjson/internal/parallelfails ยทยท +[?25h[?25l testjson/internal/parallelfails ยทยท  20 tests, 2 skipped, 1 failure, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - ๐Ÿ–ด testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท - testjson/internal/parallelfails ยทยท +[?25h[?25l testjson/internal/parallelfails ยทยท  21 tests, 2 skipped, 1 failure, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - ๐Ÿ–ด testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท - testjson/internal/parallelfails ยทยทยท +[?25h[?25l testjson/internal/parallelfails ยทยทยท  21 tests, 2 skipped, 1 failure, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - ๐Ÿ–ด testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท - testjson/internal/parallelfails ยทยทยท +[?25h[?25l testjson/internal/parallelfails ยทยทยท  22 tests, 2 skipped, 1 failure, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - ๐Ÿ–ด testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท - testjson/internal/parallelfails ยทยทยทยท +[?25h[?25l testjson/internal/parallelfails ยทยทยทยท  22 tests, 2 skipped, 1 failure, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - ๐Ÿ–ด testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท - testjson/internal/parallelfails ยทยทยทยท +[?25h[?25l testjson/internal/parallelfails ยทยทยทยท  23 tests, 2 skipped, 1 failure, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - ๐Ÿ–ด testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท - testjson/internal/parallelfails ยทยทยทยท +[?25h[?25l testjson/internal/parallelfails ยทยทยทยท  23 tests, 2 skipped, 1 failure, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - ๐Ÿ–ด testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท - testjson/internal/parallelfails ยทยทยทยท +[?25h[?25l testjson/internal/parallelfails ยทยทยทยท  24 tests, 2 skipped, 1 failure, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - ๐Ÿ–ด testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท - testjson/internal/parallelfails ยทยทยทยท +[?25h[?25l testjson/internal/parallelfails ยทยทยทยท  24 tests, 2 skipped, 1 failure, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - ๐Ÿ–ด testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท - testjson/internal/parallelfails ยทยทยทยท +[?25h[?25l testjson/internal/parallelfails ยทยทยทยท  25 tests, 2 skipped, 1 failure, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - ๐Ÿ–ด testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท - testjson/internal/parallelfails ยทยทยทยท +[?25h[?25l testjson/internal/parallelfails ยทยทยทยท  25 tests, 2 skipped, 1 failure, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - ๐Ÿ–ด testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท - testjson/internal/parallelfails ยทยทยทยท +[?25h[?25l testjson/internal/parallelfails ยทยทยทยท  26 tests, 2 skipped, 1 failure, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - ๐Ÿ–ด testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท - testjson/internal/parallelfails ยทยทยทยท +[?25h[?25l testjson/internal/parallelfails ยทยทยทยท  27 tests, 2 skipped, 1 failure, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - ๐Ÿ–ด testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท - testjson/internal/parallelfails ยทยทยทยท +[?25h[?25l testjson/internal/parallelfails ยทยทยทยท  27 tests, 2 skipped, 1 failure, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - ๐Ÿ–ด testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท - testjson/internal/parallelfails ยทยทยทยท +[?25h[?25l testjson/internal/parallelfails ยทยทยทยท  28 tests, 2 skipped, 1 failure, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - ๐Ÿ–ด testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท - testjson/internal/parallelfails ยทยทยทยท +[?25h[?25l testjson/internal/parallelfails ยทยทยทยท  28 tests, 2 skipped, 1 failure, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - ๐Ÿ–ด testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท - testjson/internal/parallelfails ยทยทยทยท +[?25h[?25l testjson/internal/parallelfails ยทยทยทยท  29 tests, 2 skipped, 1 failure, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - ๐Ÿ–ด testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท - testjson/internal/parallelfails ยทยทยทยท +[?25h[?25l testjson/internal/parallelfails ยทยทยทยท  29 tests, 2 skipped, 1 failure, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - ๐Ÿ–ด testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท - testjson/internal/parallelfails ยทยทยทยท +[?25h[?25l testjson/internal/parallelfails ยทยทยทยท  30 tests, 2 skipped, 1 failure, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - ๐Ÿ–ด testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท - testjson/internal/parallelfails ยทยทยทยท +[?25h[?25l testjson/internal/parallelfails ยทยทยทยท  30 tests, 2 skipped, 1 failure, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - ๐Ÿ–ด testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท - testjson/internal/parallelfails ยทยทยทยท +[?25h[?25l testjson/internal/parallelfails ยทยทยทยท  30 tests, 2 skipped, 1 failure, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - ๐Ÿ–ด testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท - testjson/internal/parallelfails ยทยทยทยท +[?25h[?25l testjson/internal/parallelfails ยทยทยทยท  30 tests, 2 skipped, 1 failure, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - ๐Ÿ–ด testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท - testjson/internal/parallelfails ยทยทยทยท +[?25h[?25l testjson/internal/parallelfails ยทยทยทยท  30 tests, 2 skipped, 1 failure, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - ๐Ÿ–ด testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท - testjson/internal/parallelfails ยทยทยทยท +[?25h[?25l testjson/internal/parallelfails ยทยทยทยท  30 tests, 2 skipped, 1 failure, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - ๐Ÿ–ด testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท - testjson/internal/parallelfails ยทยทยทยทโœ– +[?25h[?25l testjson/internal/parallelfails ยทยทยทยทโœ–  30 tests, 2 skipped, 2 failures, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - ๐Ÿ–ด testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท - testjson/internal/parallelfails ยทยทยทยทโœ–โœ– +[?25h[?25l testjson/internal/parallelfails ยทยทยทยทโœ–โœ–  30 tests, 2 skipped, 3 failures, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - ๐Ÿ–ด testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท - testjson/internal/parallelfails ยทยทยทยทโœ–โœ–โœ– +[?25h[?25l testjson/internal/parallelfails ยทยทยทยทโœ–โœ–โœ–  30 tests, 2 skipped, 4 failures, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - ๐Ÿ–ด testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท - testjson/internal/parallelfails ยทยทยทยทโœ–โœ–โœ–โœ– +[?25h[?25l testjson/internal/parallelfails ยทยทยทยทโœ–โœ–โœ–โœ–  30 tests, 2 skipped, 5 failures, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - ๐Ÿ–ด testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท - testjson/internal/parallelfails ยทยทยทยทโœ–โœ–โœ–โœ–โœ– +[?25h[?25l testjson/internal/parallelfails ยทยทยทยทโœ–โœ–โœ–โœ–โœ–  30 tests, 2 skipped, 6 failures, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - ๐Ÿ–ด testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท - testjson/internal/parallelfails ยทยทยทยทโœ–โœ–โœ–โœ–โœ– +[?25h[?25l testjson/internal/parallelfails ยทยทยทยทโœ–โœ–โœ–โœ–โœ–  30 tests, 2 skipped, 6 failures, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - ๐Ÿ–ด testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท - testjson/internal/parallelfails ยทยทยทยทโœ–โœ–โœ–โœ–โœ–โœ– +[?25h[?25l testjson/internal/parallelfails ยทยทยทยทโœ–โœ–โœ–โœ–โœ–โœ–  30 tests, 2 skipped, 7 failures, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - ๐Ÿ–ด testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท - testjson/internal/parallelfails ยทยทยทยทโœ–โœ–โœ–โœ–โœ–โœ– +[?25h[?25l testjson/internal/parallelfails ยทยทยทยทโœ–โœ–โœ–โœ–โœ–โœ–  30 tests, 2 skipped, 7 failures, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - ๐Ÿ–ด testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท - testjson/internal/parallelfails ยทยทยทยทโœ–โœ–โœ–โœ–โœ–โœ–โœ– +[?25h[?25l testjson/internal/parallelfails ยทยทยทยทโœ–โœ–โœ–โœ–โœ–โœ–โœ–  30 tests, 2 skipped, 8 failures, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - ๐Ÿ–ด testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท - testjson/internal/parallelfails ยทยทยทยทโœ–โœ–โœ–โœ–โœ–โœ–โœ– +[?25h[?25l testjson/internal/parallelfails ยทยทยทยทโœ–โœ–โœ–โœ–โœ–โœ–โœ–  30 tests, 2 skipped, 8 failures, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - ๐Ÿ–ด testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท - testjson/internal/parallelfails ยทยทยทยทโœ–โœ–โœ–โœ–โœ–โœ–โœ–โœ– +[?25h[?25l testjson/internal/parallelfails ยทยทยทยทโœ–โœ–โœ–โœ–โœ–โœ–โœ–โœ–  30 tests, 2 skipped, 9 failures, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - ๐Ÿ–ด testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท - 20ms testjson/internal/parallelfails ยทยทยทยทโœ–โœ–โœ–โœ–โœ–โœ–โœ–โœ– +[?25h[?25l 20ms testjson/internal/parallelfails ยทยทยทยทโœ–โœ–โœ–โœ–โœ–โœ–โœ–โœ–  30 tests, 2 skipped, 9 failures, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - ๐Ÿ–ด testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท - 20ms testjson/internal/parallelfails ยทยทยทยทโœ–โœ–โœ–โœ–โœ–โœ–โœ–โœ– - testjson/internal/withfails  +[?25h[?25l testjson/internal/withfails   31 tests, 2 skipped, 9 failures, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - ๐Ÿ–ด testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท - 20ms testjson/internal/parallelfails ยทยทยทยทโœ–โœ–โœ–โœ–โœ–โœ–โœ–โœ– - testjson/internal/withfails ยท +[?25h[?25l testjson/internal/withfails ยท  31 tests, 2 skipped, 9 failures, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - ๐Ÿ–ด testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท - 20ms testjson/internal/parallelfails ยทยทยทยทโœ–โœ–โœ–โœ–โœ–โœ–โœ–โœ– - testjson/internal/withfails ยท +[?25h[?25l testjson/internal/withfails ยท  32 tests, 2 skipped, 9 failures, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - ๐Ÿ–ด testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท - 20ms testjson/internal/parallelfails ยทยทยทยทโœ–โœ–โœ–โœ–โœ–โœ–โœ–โœ– - testjson/internal/withfails ยทยท +[?25h[?25l testjson/internal/withfails ยทยท  32 tests, 2 skipped, 9 failures, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - ๐Ÿ–ด testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท - 20ms testjson/internal/parallelfails ยทยทยทยทโœ–โœ–โœ–โœ–โœ–โœ–โœ–โœ– - testjson/internal/withfails ยทยท +[?25h[?25l testjson/internal/withfails ยทยท  33 tests, 2 skipped, 9 failures, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - ๐Ÿ–ด testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท - 20ms testjson/internal/parallelfails ยทยทยทยทโœ–โœ–โœ–โœ–โœ–โœ–โœ–โœ– - testjson/internal/withfails ยทยทยท +[?25h[?25l testjson/internal/withfails ยทยทยท  33 tests, 2 skipped, 9 failures, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - ๐Ÿ–ด testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท - 20ms testjson/internal/parallelfails ยทยทยทยทโœ–โœ–โœ–โœ–โœ–โœ–โœ–โœ– - testjson/internal/withfails ยทยทยท +[?25h[?25l testjson/internal/withfails ยทยทยท  34 tests, 2 skipped, 9 failures, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - ๐Ÿ–ด testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท - 20ms testjson/internal/parallelfails ยทยทยทยทโœ–โœ–โœ–โœ–โœ–โœ–โœ–โœ– - testjson/internal/withfails ยทยทยทโ†ท +[?25h[?25l testjson/internal/withfails ยทยทยทโ†ท  34 tests, 3 skipped, 9 failures, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - ๐Ÿ–ด testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท - 20ms testjson/internal/parallelfails ยทยทยทยทโœ–โœ–โœ–โœ–โœ–โœ–โœ–โœ– - testjson/internal/withfails ยทยทยทโ†ท +[?25h[?25l testjson/internal/withfails ยทยทยทโ†ท  35 tests, 3 skipped, 9 failures, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - ๐Ÿ–ด testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท - 20ms testjson/internal/parallelfails ยทยทยทยทโœ–โœ–โœ–โœ–โœ–โœ–โœ–โœ– - testjson/internal/withfails ยทยทยทโ†ทโ†ท +[?25h[?25l testjson/internal/withfails ยทยทยทโ†ทโ†ท  35 tests, 4 skipped, 9 failures, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - ๐Ÿ–ด testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท - 20ms testjson/internal/parallelfails ยทยทยทยทโœ–โœ–โœ–โœ–โœ–โœ–โœ–โœ– - testjson/internal/withfails ยทยทยทโ†ทโ†ท +[?25h[?25l testjson/internal/withfails ยทยทยทโ†ทโ†ท  36 tests, 4 skipped, 9 failures, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - ๐Ÿ–ด testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท - 20ms testjson/internal/parallelfails ยทยทยทยทโœ–โœ–โœ–โœ–โœ–โœ–โœ–โœ– - testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ– +[?25h[?25l testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ–  36 tests, 4 skipped, 10 failures, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - ๐Ÿ–ด testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท - 20ms testjson/internal/parallelfails ยทยทยทยทโœ–โœ–โœ–โœ–โœ–โœ–โœ–โœ– - testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ– +[?25h[?25l testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ–  37 tests, 4 skipped, 10 failures, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - ๐Ÿ–ด testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท - 20ms testjson/internal/parallelfails ยทยทยทยทโœ–โœ–โœ–โœ–โœ–โœ–โœ–โœ– - testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ–ยท +[?25h[?25l testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ–ยท  37 tests, 4 skipped, 10 failures, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - ๐Ÿ–ด testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท - 20ms testjson/internal/parallelfails ยทยทยทยทโœ–โœ–โœ–โœ–โœ–โœ–โœ–โœ– - testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ–ยท +[?25h[?25l testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ–ยท  38 tests, 4 skipped, 10 failures, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - ๐Ÿ–ด testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท - 20ms testjson/internal/parallelfails ยทยทยทยทโœ–โœ–โœ–โœ–โœ–โœ–โœ–โœ– - testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ–ยทโœ– +[?25h[?25l testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ–ยทโœ–  38 tests, 4 skipped, 11 failures, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - ๐Ÿ–ด testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท - 20ms testjson/internal/parallelfails ยทยทยทยทโœ–โœ–โœ–โœ–โœ–โœ–โœ–โœ– - testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ–ยทโœ– +[?25h[?25l testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ–ยทโœ–  39 tests, 4 skipped, 11 failures, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - ๐Ÿ–ด testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท - 20ms testjson/internal/parallelfails ยทยทยทยทโœ–โœ–โœ–โœ–โœ–โœ–โœ–โœ– - testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ–ยทโœ– +[?25h[?25l testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ–ยทโœ–  39 tests, 4 skipped, 11 failures, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - ๐Ÿ–ด testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท - 20ms testjson/internal/parallelfails ยทยทยทยทโœ–โœ–โœ–โœ–โœ–โœ–โœ–โœ– - testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ–ยทโœ– +[?25h[?25l testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ–ยทโœ–  40 tests, 4 skipped, 11 failures, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - ๐Ÿ–ด testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท - 20ms testjson/internal/parallelfails ยทยทยทยทโœ–โœ–โœ–โœ–โœ–โœ–โœ–โœ– - testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ–ยทโœ– +[?25h[?25l testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ–ยทโœ–  40 tests, 4 skipped, 11 failures, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - ๐Ÿ–ด testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท - 20ms testjson/internal/parallelfails ยทยทยทยทโœ–โœ–โœ–โœ–โœ–โœ–โœ–โœ– - testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ–ยทโœ– +[?25h[?25l testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ–ยทโœ–  41 tests, 4 skipped, 11 failures, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - ๐Ÿ–ด testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท - 20ms testjson/internal/parallelfails ยทยทยทยทโœ–โœ–โœ–โœ–โœ–โœ–โœ–โœ– - testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ–ยทโœ– +[?25h[?25l testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ–ยทโœ–  41 tests, 4 skipped, 11 failures, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - ๐Ÿ–ด testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท - 20ms testjson/internal/parallelfails ยทยทยทยทโœ–โœ–โœ–โœ–โœ–โœ–โœ–โœ– - testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ–ยทโœ– +[?25h[?25l testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ–ยทโœ–  42 tests, 4 skipped, 11 failures, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - ๐Ÿ–ด testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท - 20ms testjson/internal/parallelfails ยทยทยทยทโœ–โœ–โœ–โœ–โœ–โœ–โœ–โœ– - testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ–ยทโœ– +[?25h[?25l testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ–ยทโœ–  43 tests, 4 skipped, 11 failures, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - ๐Ÿ–ด testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท - 20ms testjson/internal/parallelfails ยทยทยทยทโœ–โœ–โœ–โœ–โœ–โœ–โœ–โœ– - testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ–ยทโœ– +[?25h[?25l testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ–ยทโœ–  44 tests, 4 skipped, 11 failures, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - ๐Ÿ–ด testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท - 20ms testjson/internal/parallelfails ยทยทยทยทโœ–โœ–โœ–โœ–โœ–โœ–โœ–โœ– - testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ–ยทโœ– +[?25h[?25l testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ–ยทโœ–  45 tests, 4 skipped, 11 failures, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - ๐Ÿ–ด testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท - 20ms testjson/internal/parallelfails ยทยทยทยทโœ–โœ–โœ–โœ–โœ–โœ–โœ–โœ– - testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ–ยทโœ– +[?25h[?25l testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ–ยทโœ–  46 tests, 4 skipped, 11 failures, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - ๐Ÿ–ด testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท - 20ms testjson/internal/parallelfails ยทยทยทยทโœ–โœ–โœ–โœ–โœ–โœ–โœ–โœ– - testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ–ยทโœ– +[?25h[?25l testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ–ยทโœ–  47 tests, 4 skipped, 11 failures, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - ๐Ÿ–ด testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท - 20ms testjson/internal/parallelfails ยทยทยทยทโœ–โœ–โœ–โœ–โœ–โœ–โœ–โœ– - testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ–ยทโœ– +[?25h[?25l testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ–ยทโœ–  48 tests, 4 skipped, 11 failures, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - ๐Ÿ–ด testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท - 20ms testjson/internal/parallelfails ยทยทยทยทโœ–โœ–โœ–โœ–โœ–โœ–โœ–โœ– - testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ–ยทโœ– +[?25h[?25l testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ–ยทโœ–  49 tests, 4 skipped, 11 failures, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - ๐Ÿ–ด testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท - 20ms testjson/internal/parallelfails ยทยทยทยทโœ–โœ–โœ–โœ–โœ–โœ–โœ–โœ– - testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ–ยทโœ–ยท +[?25h[?25l testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ–ยทโœ–ยท  49 tests, 4 skipped, 11 failures, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - ๐Ÿ–ด testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท - 20ms testjson/internal/parallelfails ยทยทยทยทโœ–โœ–โœ–โœ–โœ–โœ–โœ–โœ– - testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ–ยทโœ–ยทยท +[?25h[?25l testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ–ยทโœ–ยทยท  49 tests, 4 skipped, 11 failures, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - ๐Ÿ–ด testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท - 20ms testjson/internal/parallelfails ยทยทยทยทโœ–โœ–โœ–โœ–โœ–โœ–โœ–โœ– - testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ–ยทโœ–ยทยทยท +[?25h[?25l testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ–ยทโœ–ยทยทยท  49 tests, 4 skipped, 11 failures, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - ๐Ÿ–ด testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท - 20ms testjson/internal/parallelfails ยทยทยทยทโœ–โœ–โœ–โœ–โœ–โœ–โœ–โœ– - testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ–ยทโœ–ยทยทยทยท +[?25h[?25l testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ–ยทโœ–ยทยทยทยท  49 tests, 4 skipped, 11 failures, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - ๐Ÿ–ด testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท - 20ms testjson/internal/parallelfails ยทยทยทยทโœ–โœ–โœ–โœ–โœ–โœ–โœ–โœ– - testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ–ยทโœ–ยทยทยทยทโœ– +[?25h[?25l testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ–ยทโœ–ยทยทยทยทโœ–  49 tests, 4 skipped, 12 failures, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - ๐Ÿ–ด testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท - 20ms testjson/internal/parallelfails ยทยทยทยทโœ–โœ–โœ–โœ–โœ–โœ–โœ–โœ– - testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ–ยทโœ–ยทยทยทยทโœ–ยท +[?25h[?25l testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ–ยทโœ–ยทยทยทยทโœ–ยท  49 tests, 4 skipped, 12 failures, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - ๐Ÿ–ด testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท - 20ms testjson/internal/parallelfails ยทยทยทยทโœ–โœ–โœ–โœ–โœ–โœ–โœ–โœ– - testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ–ยทโœ–ยทยทยทยทโœ–ยทยท +[?25h[?25l testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ–ยทโœ–ยทยทยทยทโœ–ยทยท  49 tests, 4 skipped, 12 failures, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - ๐Ÿ–ด testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท - 20ms testjson/internal/parallelfails ยทยทยทยทโœ–โœ–โœ–โœ–โœ–โœ–โœ–โœ– - testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ–ยทโœ–ยทยทยทยทโœ–ยทยทโœ– +[?25h[?25l testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ–ยทโœ–ยทยทยทยทโœ–ยทยทโœ–  49 tests, 4 skipped, 13 failures, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - ๐Ÿ–ด testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท - 20ms testjson/internal/parallelfails ยทยทยทยทโœ–โœ–โœ–โœ–โœ–โœ–โœ–โœ– - testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ–ยทโœ–ยทยทยทยทโœ–ยทยทโœ– +[?25h[?25l testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ–ยทโœ–ยทยทยทยทโœ–ยทยทโœ–  50 tests, 4 skipped, 13 failures, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - ๐Ÿ–ด testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท - 20ms testjson/internal/parallelfails ยทยทยทยทโœ–โœ–โœ–โœ–โœ–โœ–โœ–โœ– - testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ–ยทโœ–ยทยทยทยทโœ–ยทยทโœ– +[?25h[?25l testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ–ยทโœ–ยทยทยทยทโœ–ยทยทโœ–  51 tests, 4 skipped, 13 failures, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - ๐Ÿ–ด testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท - 20ms testjson/internal/parallelfails ยทยทยทยทโœ–โœ–โœ–โœ–โœ–โœ–โœ–โœ– - testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ–ยทโœ–ยทยทยทยทโœ–ยทยทโœ– +[?25h[?25l testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ–ยทโœ–ยทยทยทยทโœ–ยทยทโœ–  52 tests, 4 skipped, 13 failures, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - ๐Ÿ–ด testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท - 20ms testjson/internal/parallelfails ยทยทยทยทโœ–โœ–โœ–โœ–โœ–โœ–โœ–โœ– - testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ–ยทโœ–ยทยทยทยทโœ–ยทยทโœ– +[?25h[?25l testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ–ยทโœ–ยทยทยทยทโœ–ยทยทโœ–  53 tests, 4 skipped, 13 failures, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - ๐Ÿ–ด testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท - 20ms testjson/internal/parallelfails ยทยทยทยทโœ–โœ–โœ–โœ–โœ–โœ–โœ–โœ– - testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ–ยทโœ–ยทยทยทยทโœ–ยทยทโœ– +[?25h[?25l testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ–ยทโœ–ยทยทยทยทโœ–ยทยทโœ–  54 tests, 4 skipped, 13 failures, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - ๐Ÿ–ด testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท - 20ms testjson/internal/parallelfails ยทยทยทยทโœ–โœ–โœ–โœ–โœ–โœ–โœ–โœ– - testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ–ยทโœ–ยทยทยทยทโœ–ยทยทโœ– +[?25h[?25l testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ–ยทโœ–ยทยทยทยทโœ–ยทยทโœ–  55 tests, 4 skipped, 13 failures, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - ๐Ÿ–ด testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท - 20ms testjson/internal/parallelfails ยทยทยทยทโœ–โœ–โœ–โœ–โœ–โœ–โœ–โœ– - testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ–ยทโœ–ยทยทยทยทโœ–ยทยทโœ– +[?25h[?25l testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ–ยทโœ–ยทยทยทยทโœ–ยทยทโœ–  56 tests, 4 skipped, 13 failures, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - ๐Ÿ–ด testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท - 20ms testjson/internal/parallelfails ยทยทยทยทโœ–โœ–โœ–โœ–โœ–โœ–โœ–โœ– - testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ–ยทโœ–ยทยทยทยทโœ–ยทยทโœ– +[?25h[?25l testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ–ยทโœ–ยทยทยทยทโœ–ยทยทโœ–  57 tests, 4 skipped, 13 failures, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - ๐Ÿ–ด testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท - 20ms testjson/internal/parallelfails ยทยทยทยทโœ–โœ–โœ–โœ–โœ–โœ–โœ–โœ– - testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ–ยทโœ–ยทยทยทยทโœ–ยทยทโœ– +[?25h[?25l testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ–ยทโœ–ยทยทยทยทโœ–ยทยทโœ–  58 tests, 4 skipped, 13 failures, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - ๐Ÿ–ด testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท - 20ms testjson/internal/parallelfails ยทยทยทยทโœ–โœ–โœ–โœ–โœ–โœ–โœ–โœ– - testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ–ยทโœ–ยทยทยทยทโœ–ยทยทโœ–ยท +[?25h[?25l testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ–ยทโœ–ยทยทยทยทโœ–ยทยทโœ–ยท  58 tests, 4 skipped, 13 failures, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - ๐Ÿ–ด testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท - 20ms testjson/internal/parallelfails ยทยทยทยทโœ–โœ–โœ–โœ–โœ–โœ–โœ–โœ– - testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ–ยทโœ–ยทยทยทยทโœ–ยทยทโœ–ยทยท +[?25h[?25l testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ–ยทโœ–ยทยทยทยทโœ–ยทยทโœ–ยทยท  58 tests, 4 skipped, 13 failures, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - ๐Ÿ–ด testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท - 20ms testjson/internal/parallelfails ยทยทยทยทโœ–โœ–โœ–โœ–โœ–โœ–โœ–โœ– - testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ–ยทโœ–ยทยทยทยทโœ–ยทยทโœ–ยทยทยท +[?25h[?25l testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ–ยทโœ–ยทยทยทยทโœ–ยทยทโœ–ยทยทยท  58 tests, 4 skipped, 13 failures, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - ๐Ÿ–ด testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท - 20ms testjson/internal/parallelfails ยทยทยทยทโœ–โœ–โœ–โœ–โœ–โœ–โœ–โœ– - testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ–ยทโœ–ยทยทยทยทโœ–ยทยทโœ–ยทยทยทยท +[?25h[?25l testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ–ยทโœ–ยทยทยทยทโœ–ยทยทโœ–ยทยทยทยท  58 tests, 4 skipped, 13 failures, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - ๐Ÿ–ด testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท - 20ms testjson/internal/parallelfails ยทยทยทยทโœ–โœ–โœ–โœ–โœ–โœ–โœ–โœ– - testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ–ยทโœ–ยทยทยทยทโœ–ยทยทโœ–ยทยทยทยทยท +[?25h[?25l testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ–ยทโœ–ยทยทยทยทโœ–ยทยทโœ–ยทยทยทยทยท  58 tests, 4 skipped, 13 failures, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - ๐Ÿ–ด testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท - 20ms testjson/internal/parallelfails ยทยทยทยทโœ–โœ–โœ–โœ–โœ–โœ–โœ–โœ– - testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ–ยทโœ–ยทยทยทยทโœ–ยทยทโœ–ยทยทยทยทยทยท +[?25h[?25l testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ–ยทโœ–ยทยทยทยทโœ–ยทยทโœ–ยทยทยทยทยทยท  58 tests, 4 skipped, 13 failures, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - ๐Ÿ–ด testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท - 20ms testjson/internal/parallelfails ยทยทยทยทโœ–โœ–โœ–โœ–โœ–โœ–โœ–โœ– - testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ–ยทโœ–ยทยทยทยทโœ–ยทยทโœ–ยทยทยทยทยทยทยท +[?25h[?25l testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ–ยทโœ–ยทยทยทยทโœ–ยทยทโœ–ยทยทยทยทยทยทยท  58 tests, 4 skipped, 13 failures, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - ๐Ÿ–ด testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท - 20ms testjson/internal/parallelfails ยทยทยทยทโœ–โœ–โœ–โœ–โœ–โœ–โœ–โœ– - testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ–ยทโœ–ยทยทยทยทโœ–ยทยทโœ–ยทยทยทยทยทยทยทยท +[?25h[?25l testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ–ยทโœ–ยทยทยทยทโœ–ยทยทโœ–ยทยทยทยทยทยทยทยท  58 tests, 4 skipped, 13 failures, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - ๐Ÿ–ด testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท - 20ms testjson/internal/parallelfails ยทยทยทยทโœ–โœ–โœ–โœ–โœ–โœ–โœ–โœ– - testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ–ยทโœ–ยทยทยทยทโœ–ยทยทโœ–ยทยทยทยทยทยทยทยทยท +[?25h[?25l testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ–ยทโœ–ยทยทยทยทโœ–ยทยทโœ–ยทยทยทยทยทยทยทยทยท  58 tests, 4 skipped, 13 failures, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - ๐Ÿ–ด testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท - 20ms testjson/internal/parallelfails ยทยทยทยทโœ–โœ–โœ–โœ–โœ–โœ–โœ–โœ– - testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ–ยทโœ–ยทยทยทยทโœ–ยทยทโœ–ยทยทยทยทยทยทยทยทยท +[?25h[?25l testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ–ยทโœ–ยทยทยทยทโœ–ยทยทโœ–ยทยทยทยทยทยทยทยทยท  59 tests, 4 skipped, 13 failures, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - ๐Ÿ–ด testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท - 20ms testjson/internal/parallelfails ยทยทยทยทโœ–โœ–โœ–โœ–โœ–โœ–โœ–โœ– - testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ–ยทโœ–ยทยทยทยทโœ–ยทยทโœ–ยทยทยทยทยทยทยทยทยทโ†ท +[?25h[?25l testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ–ยทโœ–ยทยทยทยทโœ–ยทยทโœ–ยทยทยทยทยทยทยทยทยทโ†ท  59 tests, 5 skipped, 13 failures, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - ๐Ÿ–ด testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท - 20ms testjson/internal/parallelfails ยทยทยทยทโœ–โœ–โœ–โœ–โœ–โœ–โœ–โœ– - testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ–ยทโœ–ยทยทยทยทโœ–ยทยทโœ–ยทยทยทยทยทยทยทยทยทโ†ท +[?25h[?25l testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ–ยทโœ–ยทยทยทยทโœ–ยทยทโœ–ยทยทยทยทยทยทยทยทยทโ†ท  59 tests, 5 skipped, 13 failures, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - ๐Ÿ–ด testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท - 20ms testjson/internal/parallelfails ยทยทยทยทโœ–โœ–โœ–โœ–โœ–โœ–โœ–โœ– - testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ–ยทโœ–ยทยทยทยทโœ–ยทยทโœ–ยทยทยทยทยทยทยทยทยทโ†ทยท +[?25h[?25l testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ–ยทโœ–ยทยทยทยทโœ–ยทยทโœ–ยทยทยทยทยทยทยทยทยทโ†ทยท  59 tests, 5 skipped, 13 failures, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - ๐Ÿ–ด testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท - 20ms testjson/internal/parallelfails ยทยทยทยทโœ–โœ–โœ–โœ–โœ–โœ–โœ–โœ– - testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ–ยทโœ–ยทยทยทยทโœ–ยทยทโœ–ยทยทยทยทยทยทยทยทยทโ†ทยท +[?25h[?25l testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ–ยทโœ–ยทยทยทยทโœ–ยทยทโœ–ยทยทยทยทยทยทยทยทยทโ†ทยท  59 tests, 5 skipped, 13 failures, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - ๐Ÿ–ด testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท - 20ms testjson/internal/parallelfails ยทยทยทยทโœ–โœ–โœ–โœ–โœ–โœ–โœ–โœ– - testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ–ยทโœ–ยทยทยทยทโœ–ยทยทโœ–ยทยทยทยทยทยทยทยทยทโ†ทยทยท +[?25h[?25l testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ–ยทโœ–ยทยทยทยทโœ–ยทยทโœ–ยทยทยทยทยทยทยทยทยทโ†ทยทยท  59 tests, 5 skipped, 13 failures, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - ๐Ÿ–ด testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท - 20ms testjson/internal/parallelfails ยทยทยทยทโœ–โœ–โœ–โœ–โœ–โœ–โœ–โœ– - testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ–ยทโœ–ยทยทยทยทโœ–ยทยทโœ–ยทยทยทยทยทยทยทยทยทโ†ทยทยท +[?25h[?25l testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ–ยทโœ–ยทยทยทยทโœ–ยทยทโœ–ยทยทยทยทยทยทยทยทยทโ†ทยทยท  59 tests, 5 skipped, 13 failures, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - ๐Ÿ–ด testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท - 20ms testjson/internal/parallelfails ยทยทยทยทโœ–โœ–โœ–โœ–โœ–โœ–โœ–โœ– - testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ–ยทโœ–ยทยทยทยทโœ–ยทยทโœ–ยทยทยทยทยทยทยทยทยทโ†ทยทยทยท +[?25h[?25l testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ–ยทโœ–ยทยทยทยทโœ–ยทยทโœ–ยทยทยทยทยทยทยทยทยทโ†ทยทยทยท  59 tests, 5 skipped, 13 failures, 1 error -[?25h[?25l  - 1ms testjson/internal/badmain  - ๐Ÿ–ด testjson/internal/empty  - ๐Ÿ–ด testjson/internal/good ยทยทยทโ†ทโ†ทยทยทยทยทยทยทยทยทยทยทยทยทยท - 20ms testjson/internal/parallelfails ยทยทยทยทโœ–โœ–โœ–โœ–โœ–โœ–โœ–โœ– - 20ms testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ–ยทโœ–ยทยทยทยทโœ–ยทยทโœ–ยทยทยทยทยทยทยทยทยทโ†ทยทยทยท +[?25h[?25l 20ms testjson/internal/withfails ยทยทยทโ†ทโ†ทโœ–ยทโœ–ยทยทยทยทโœ–ยทยทโœ–ยทยทยทยทยทยทยทยทยทโ†ทยทยทยท  59 tests, 5 skipped, 13 failures, 1 error -[?25h + +[?25h