This commit is contained in:
Adam Majer 2024-07-16 14:52:35 +02:00
parent 75c0089807
commit 71aa592fb1
2 changed files with 43 additions and 5 deletions

View File

@ -1,6 +1,10 @@
package common
import (
"os"
"os/exec"
"path"
"strings"
"testing"
)
@ -64,7 +68,7 @@ func TestGitMsgParsing(t *testing.T) {
}
gitHdr, err := parseGitMsg(data)
if err.Error() != "Invalid character during object hash parse" {
if err.Error() != "Invalid character during object hash parse 'r' at 4" {
t.Error(err)
}
@ -220,10 +224,33 @@ Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>` + "\x00"
})
}
/*func TestCommitTreeParsingOfHead(t *testing.T) {
func TestCommitTreeParsingOfHead(t *testing.T) {
gitDir := t.TempDir()
testDir, _ := os.Getwd()
var commitId string
cmd := exec.Command("/usr/bin/bash", path.Join(testDir, "tsetup.sh"))
cmd.Dir = gitDir
cmd.Stdout = writeFunc(func(data []byte) (int, error) {
commitId = commitId + strings.TrimSpace(string(data))
return len(data), nil
})
if err := cmd.Run(); err != nil {
t.Fatal(err.Error())
}
t.Run("reads HEAD and parses the tree", func(t *testing.T) {
const nodejs21 = "c678c57007d496a98bec668ae38f2c26a695f94af78012f15d044ccf066ccb41"
h := RequestHandler{
GitPath: gitDir,
Logger: CreateTestLogger(t),
}
id, ok := h.GitSubmoduleCommitId("", "nodejs21", commitId)
if !ok {
t.Error("failed parse")
}
if id != nodejs21 {
t.Errorf("hash doesn't match: %s vs. expected %s", id, nodejs21)
}
})
}
*/

11
bots-common/tsetup.sh Executable file
View File

@ -0,0 +1,11 @@
#!/usr/bin/bash
git init -q --bare --object-format=sha256
blobA=$(echo "help" | git hash-object --stdin -w)
blobB=$(echo "foo" | git hash-object --stdin -w)
tree=$(printf "100644 blob $blobA help\n100644 blob $blobB README.md\n160000 commit dc55b828328c8e494f67874a7d8c03dd1c6b4e02d16b86e08e47d70ecd799680 mingw32-gcc\n160000 commit d6a74c08406ce40cc8f7bff2d5cf309087a8728361cc75354b0862ba508193b8 nodejs-common\n160000 commit c678c57007d496a98bec668ae38f2c26a695f94af78012f15d044ccf066ccb41 nodejs21\n160000 commit 873a323b262ebb3bd77b2592b2e11bdd08dbc721cbf4ac9f97637e58e1fffce7 nodejs22\n160000 commit 35c702e8501eedeb5ce43d6f3460d11c791cfefaa77248f08cad55d00c37e73a python311\n"|git mktree)
commit=$(git commit-tree -m 'OK' $tree)
git reset --soft $commit
echo $commit