mirror of
https://github.com/trufflesecurity/trufflehog.git
synced 2024-09-20 14:42:03 +00:00
fix extra log messages (#1253)
* fix extra log messages * add small test, move flag to isindex
This commit is contained in:
parent
1db22599af
commit
458c79165a
2 changed files with 39 additions and 1 deletions
|
@ -193,6 +193,7 @@ func (c *Parser) FromReader(ctx context.Context, stdOut io.Reader, commitChan ch
|
|||
outReader := bufio.NewReader(stdOut)
|
||||
var currentCommit *Commit
|
||||
var currentDiff *Diff
|
||||
var recentlyPassedAuthor bool
|
||||
|
||||
defer common.RecoverWithExit(ctx)
|
||||
defer close(commitChan)
|
||||
|
@ -225,6 +226,7 @@ func (c *Parser) FromReader(ctx context.Context, stdOut io.Reader, commitChan ch
|
|||
}
|
||||
case isAuthorLine(line):
|
||||
currentCommit.Author = strings.TrimRight(string(line[8:]), "\n")
|
||||
recentlyPassedAuthor = true
|
||||
case isDateLine(line):
|
||||
date, err := time.Parse(c.dateFormat, strings.TrimSpace(string(line[6:])))
|
||||
if err != nil {
|
||||
|
@ -261,6 +263,7 @@ func (c *Parser) FromReader(ctx context.Context, stdOut io.Reader, commitChan ch
|
|||
case isModeLine(line):
|
||||
// NoOp
|
||||
case isIndexLine(line):
|
||||
recentlyPassedAuthor = false
|
||||
// NoOp
|
||||
case isPlusFileLine(line):
|
||||
currentDiff.PathB = strings.TrimRight(strings.TrimRight(string(line[6:]), "\n"), "\t") // Trim the newline and tab characters. https://github.com/trufflesecurity/trufflehog/issues/1060
|
||||
|
@ -271,7 +274,9 @@ func (c *Parser) FromReader(ctx context.Context, stdOut io.Reader, commitChan ch
|
|||
case isMinusDiffLine(line):
|
||||
// NoOp. We only care about additions.
|
||||
case isMessageLine(line):
|
||||
currentCommit.Message.Write(line[4:])
|
||||
if recentlyPassedAuthor {
|
||||
currentCommit.Message.Write(line[4:])
|
||||
}
|
||||
case isContextDiffLine(line):
|
||||
currentDiff.Content.Write([]byte("\n"))
|
||||
case isBinaryLine(line):
|
||||
|
|
|
@ -2,6 +2,7 @@ package gitparse
|
|||
|
||||
import (
|
||||
"bytes"
|
||||
"fmt"
|
||||
"strings"
|
||||
"testing"
|
||||
"time"
|
||||
|
@ -228,6 +229,38 @@ func TestMaxCommitSize(t *testing.T) {
|
|||
|
||||
}
|
||||
|
||||
func TestMessageParsing(t *testing.T) {
|
||||
r := bytes.NewReader([]byte(fmt.Sprintf(singleCommitTabbedContent, ` `)))
|
||||
commitChan := make(chan Commit)
|
||||
parser := NewParser()
|
||||
expectedMessage := singleCommitSingleDiffMessage
|
||||
|
||||
go func() {
|
||||
parser.FromReader(context.TODO(), r, commitChan)
|
||||
}()
|
||||
for commit := range commitChan {
|
||||
if commit.Message.String() != expectedMessage {
|
||||
t.Errorf("Message does not match. Got:\n%s\nexpected:\n%s", commit.Message.String(), expectedMessage)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
const singleCommitTabbedContent = `commit 70001020fab32b1fcf2f1f0e5c66424eae649826 (HEAD -> master, origin/master, origin/HEAD)
|
||||
Author: Dustin Decker <humanatcomputer@gmail.com>
|
||||
Date: Mon Mar 15 23:27:16 2021 -0700
|
||||
|
||||
Update aws
|
||||
|
||||
diff --git a/aws b/aws
|
||||
index 2ee133b..12b4843 100644
|
||||
--- a/aws
|
||||
+++ b/aws
|
||||
@@ -1,7 +1,5 @@
|
||||
+[default]
|
||||
%saws_access_key_id = AKIAXYZDQCEN4B6JSJQI
|
||||
+aws_secret_access_key = Tg0pz8Jii8hkLx4+PnUisM8GmKs3a2DK+9qz/lie
|
||||
`
|
||||
|
||||
const singleCommitSingleDiff = `commit 70001020fab32b1fcf2f1f0e5c66424eae649826 (HEAD -> master, origin/master, origin/HEAD)
|
||||
Author: Dustin Decker <humanatcomputer@gmail.com>
|
||||
Date: Mon Mar 15 23:27:16 2021 -0700
|
||||
|
|
Loading…
Reference in a new issue