From 6e7513f32c9c12428757fb0a50282f41620845fd Mon Sep 17 00:00:00 2001 From: Charlie Moog Date: Mon, 2 Nov 2020 13:20:46 -0600 Subject: [PATCH 1/4] Add unit tests for clog --- .github/workflows/test.yaml | 2 +- pkg/clog/clog_test.go | 76 +++++++++++++++++++++++++++++++++++++ 2 files changed, 77 insertions(+), 1 deletion(-) create mode 100644 pkg/clog/clog_test.go diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 81c7a10d..5e847624 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -38,7 +38,7 @@ jobs: - name: test uses: ./ci/image with: - args: go test -v -cover -covermode=count ./internal/... ./cmd/... + args: go test $(go list ./... | grep -v pkg/tcli | grep -v ci/integration) gendocs: runs-on: ubuntu-latest steps: diff --git a/pkg/clog/clog_test.go b/pkg/clog/clog_test.go new file mode 100644 index 00000000..8d1c88b4 --- /dev/null +++ b/pkg/clog/clog_test.go @@ -0,0 +1,76 @@ +package clog + +import ( + "fmt" + "io/ioutil" + "os" + "testing" + + "cdr.dev/slog/sloggers/slogtest/assert" + "golang.org/x/xerrors" +) + +func TestError(t *testing.T) { + t.Run("oneline", func(t *testing.T) { + var mockErr error = Error("fake error") + mockErr = xerrors.Errorf("wrap 1: %w", mockErr) + mockErr = fmt.Errorf("wrap 2: %w", mockErr) + + reader, writer, err := os.Pipe() + assert.Success(t, "create pipe", err) + + //! clearly not thread safe + os.Stderr = writer + + Log(mockErr) + writer.Close() + + output, err := ioutil.ReadAll(reader) + assert.Success(t, "read all stderr output", err) + + assert.Equal(t, "output is as expected", "error: fake error\n\n", string(output)) + }) + + t.Run("plain-error", func(t *testing.T) { + mockErr := xerrors.Errorf("base error") + mockErr = fmt.Errorf("wrap 1: %w", mockErr) + + reader, writer, err := os.Pipe() + assert.Success(t, "create pipe", err) + + //! clearly not thread safe + os.Stderr = writer + + Log(mockErr) + writer.Close() + + output, err := ioutil.ReadAll(reader) + assert.Success(t, "read all stderr output", err) + + assert.Equal(t, "output is as expected", "fatal: wrap 1: base error\n\n", string(output)) + }) + + t.Run("multi-line", func(t *testing.T) { + var mockErr error = Error("fake header", "next line", BlankLine, Tipf("content of fake tip")) + mockErr = xerrors.Errorf("wrap 1: %w", mockErr) + mockErr = fmt.Errorf("wrap 1: %w", mockErr) + + reader, writer, err := os.Pipe() + assert.Success(t, "create pipe", err) + + //! clearly not thread safe + os.Stderr = writer + + Log(mockErr) + writer.Close() + + output, err := ioutil.ReadAll(reader) + assert.Success(t, "read all stderr output", err) + + assert.Equal(t, + "output is as expected", + "error: fake header\n | next line\n | \n | tip: content of fake tip\n\n", + string(output), + ) + }) +} From 8c6d8e1de705182752af49176542fc8cfbeecbb4 Mon Sep 17 00:00:00 2001 From: Charlie Moog Date: Mon, 2 Nov 2020 13:26:19 -0600 Subject: [PATCH 2/4] fixup! Add unit tests for clog --- ci/image/Dockerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/ci/image/Dockerfile b/ci/image/Dockerfile index 8eb77371..f814866d 100644 --- a/ci/image/Dockerfile +++ b/ci/image/Dockerfile @@ -5,3 +5,4 @@ ENV CI=true RUN go get golang.org/x/tools/cmd/goimports RUN go get github.com/mattn/goveralls +RUN apt update && apt install grep From 619269b48651aa0ad02bb4fd1e8eaff71baeffe4 Mon Sep 17 00:00:00 2001 From: Charlie Moog Date: Mon, 2 Nov 2020 13:34:57 -0600 Subject: [PATCH 3/4] fixup! Add unit tests for clog --- .github/workflows/test.yaml | 2 +- ci/steps/unit_test.sh | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) create mode 100755 ci/steps/unit_test.sh diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 5e847624..fd942730 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -38,7 +38,7 @@ jobs: - name: test uses: ./ci/image with: - args: go test $(go list ./... | grep -v pkg/tcli | grep -v ci/integration) + args: ./ci/steps/unit_test.sh gendocs: runs-on: ubuntu-latest steps: diff --git a/ci/steps/unit_test.sh b/ci/steps/unit_test.sh new file mode 100755 index 00000000..9f7c9e13 --- /dev/null +++ b/ci/steps/unit_test.sh @@ -0,0 +1,9 @@ +#!/bin/bash + +set -euo pipefail + +cd "$(git rev-parse --show-toplevel)" + +echo "--- go test..." + +go test $(go list ./... | grep -v pkg/tcli | grep -v ci/integration) From 810ed7af72bcfc61a8b6e6865cc2611a181b1bb7 Mon Sep 17 00:00:00 2001 From: Charlie Moog Date: Mon, 2 Nov 2020 14:00:55 -0600 Subject: [PATCH 4/4] fixup! Add unit tests for clog --- pkg/clog/{error.go => clog.go} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename pkg/clog/{error.go => clog.go} (100%) diff --git a/pkg/clog/error.go b/pkg/clog/clog.go similarity index 100% rename from pkg/clog/error.go rename to pkg/clog/clog.go pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy