aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/cli/internal/logstreamer/logstreamer_test.go
diff options
context:
space:
mode:
author简律纯 <hsiangnianian@outlook.com>2023-04-28 01:36:55 +0800
committer简律纯 <hsiangnianian@outlook.com>2023-04-28 01:36:55 +0800
commitfc8c5fdce62fb229202659408798a7b6c98f6e8b (patch)
tree7554f80e50de4af6fd255afa7c21bcdd58a7af34 /cli/internal/logstreamer/logstreamer_test.go
parentdd84b9d64fb98746a230cd24233ff50a562c39c9 (diff)
downloadHydroRoll-fc8c5fdce62fb229202659408798a7b6c98f6e8b.tar.gz
HydroRoll-fc8c5fdce62fb229202659408798a7b6c98f6e8b.zip
Diffstat (limited to 'cli/internal/logstreamer/logstreamer_test.go')
-rw-r--r--cli/internal/logstreamer/logstreamer_test.go114
1 files changed, 0 insertions, 114 deletions
diff --git a/cli/internal/logstreamer/logstreamer_test.go b/cli/internal/logstreamer/logstreamer_test.go
deleted file mode 100644
index 94d8a82..0000000
--- a/cli/internal/logstreamer/logstreamer_test.go
+++ /dev/null
@@ -1,114 +0,0 @@
-// Copyright (c) 2013 Kevin van Zonneveld <kevin@vanzonneveld.net>. All rights reserved.
-// Source: https://github.com/kvz/logstreamer
-// SPDX-License-Identifier: MIT
-package logstreamer
-
-import (
- "bufio"
- "bytes"
- "fmt"
- "log"
- "os"
- "os/exec"
- "strings"
- "testing"
-)
-
-func TestLogstreamerOk(t *testing.T) {
- // Create a logger (your app probably already has one)
- logger := log.New(os.Stdout, "--> ", log.Ldate|log.Ltime)
-
- // Setup a streamer that we'll pipe cmd.Stdout to
- logStreamerOut := NewLogstreamer(logger, "stdout", false)
- defer logStreamerOut.Close()
- // Setup a streamer that we'll pipe cmd.Stderr to.
- // We want to record/buffer anything that's written to this (3rd argument true)
- logStreamerErr := NewLogstreamer(logger, "stderr", true)
- defer logStreamerErr.Close()
-
- // Execute something that succeeds
- cmd := exec.Command(
- "ls",
- "-al",
- )
- cmd.Stderr = logStreamerErr
- cmd.Stdout = logStreamerOut
-
- // Reset any error we recorded
- logStreamerErr.FlushRecord()
-
- // Execute command
- err := cmd.Start()
-
- // Failed to spawn?
- if err != nil {
- t.Fatal("ERROR could not spawn command.", err.Error())
- }
-
- // Failed to execute?
- err = cmd.Wait()
- if err != nil {
- t.Fatal("ERROR command finished with error. ", err.Error(), logStreamerErr.FlushRecord())
- }
-}
-
-func TestLogstreamerErr(t *testing.T) {
- // Create a logger (your app probably already has one)
- logger := log.New(os.Stdout, "--> ", log.Ldate|log.Ltime)
-
- // Setup a streamer that we'll pipe cmd.Stdout to
- logStreamerOut := NewLogstreamer(logger, "stdout", false)
- defer logStreamerOut.Close()
- // Setup a streamer that we'll pipe cmd.Stderr to.
- // We want to record/buffer anything that's written to this (3rd argument true)
- logStreamerErr := NewLogstreamer(logger, "stderr", true)
- defer logStreamerErr.Close()
-
- // Execute something that succeeds
- cmd := exec.Command(
- "ls",
- "nonexisting",
- )
- cmd.Stderr = logStreamerErr
- cmd.Stdout = logStreamerOut
-
- // Reset any error we recorded
- logStreamerErr.FlushRecord()
-
- // Execute command
- err := cmd.Start()
-
- // Failed to spawn?
- if err != nil {
- logger.Print("ERROR could not spawn command. ")
- }
-
- // Failed to execute?
- err = cmd.Wait()
- if err != nil {
- fmt.Printf("Good. command finished with %s. %s. \n", err.Error(), logStreamerErr.FlushRecord())
- } else {
- t.Fatal("This command should have failed")
- }
-}
-
-func TestLogstreamerFlush(t *testing.T) {
- const text = "Text without newline"
-
- var buffer bytes.Buffer
- byteWriter := bufio.NewWriter(&buffer)
-
- logger := log.New(byteWriter, "", 0)
- logStreamerOut := NewLogstreamer(logger, "", false)
- defer logStreamerOut.Close()
-
- logStreamerOut.Write([]byte(text))
- logStreamerOut.Flush()
- byteWriter.Flush()
-
- s := strings.TrimSpace(buffer.String())
-
- if s != text {
- t.Fatalf("Expected '%s', got '%s'.", text, s)
- }
-}