summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesse Duffield <jessedduffield@gmail.com>2022-12-20 22:18:26 +1100
committerJesse Duffield <jessedduffield@gmail.com>2022-12-20 22:45:02 +1100
commitb40190bd945abf98446a618b503dd6e985242784 (patch)
tree8db37c4c141b2e92d9cfb279e80f2f656fed5c77
parentabbd598992c774e6f4cbbc5d98017b1e552c2676 (diff)
add multi-line commit integration test
-rw-r--r--pkg/integration/components/assert.go11
-rw-r--r--pkg/integration/tests/commit/commit_multiline.go34
-rw-r--r--pkg/integration/tests/tests.go1
-rw-r--r--test/integration/commitMultiline/expected/repo/.git_keep/indexbin425 -> 0 bytes
-rw-r--r--test/integration/commitMultiline/expected/repo/.git_keep/logs/HEAD5
-rw-r--r--test/integration/commitMultiline/expected/repo/.git_keep/logs/refs/heads/master5
-rw-r--r--test/integration/commitMultiline/expected/repo/.git_keep/objects/0e/6cf0a6b79e8d44e186d812a1f74b43d64fac52bin52 -> 0 bytes
-rw-r--r--test/integration/commitMultiline/expected/repo/.git_keep/objects/17/6069f0ded1db43eecb3b629a6077dba6c682952
-rw-r--r--test/integration/commitMultiline/expected/repo/.git_keep/objects/18/0cf8328022becee9aaa2577a8f84ea2b9f3827bin21 -> 0 bytes
-rw-r--r--test/integration/commitMultiline/expected/repo/.git_keep/objects/2b/173c861df433fa43ffad13f80c8b312c5c8bcebin103 -> 0 bytes
-rw-r--r--test/integration/commitMultiline/expected/repo/.git_keep/objects/2f/6174050380438f14b16658a356e762435ca591bin128 -> 0 bytes
-rw-r--r--test/integration/commitMultiline/expected/repo/.git_keep/objects/30/a1ca3481fdec3245b02aeacfb72ddfe2a433bebin154 -> 0 bytes
-rw-r--r--test/integration/commitMultiline/expected/repo/.git_keep/objects/37/128a3020849daa0847462d14c384cc74c42ae0bin149 -> 0 bytes
-rw-r--r--test/integration/commitMultiline/expected/repo/.git_keep/objects/39/33a268c502712421b7bfa04888319d6f108574bin149 -> 0 bytes
-rw-r--r--test/integration/commitMultiline/expected/repo/.git_keep/objects/4f/346f1ad5ba2917da2109e2eaa2f2dfbb86f10fbin21 -> 0 bytes
-rw-r--r--test/integration/commitMultiline/expected/repo/.git_keep/objects/57/4013716a7f007a27b647b90cdbc78d006d792b2
-rw-r--r--test/integration/commitMultiline/expected/repo/.git_keep/objects/9f/1b5440546da24daad7014ccf3e1f4d81f9414bbin148 -> 0 bytes
-rw-r--r--test/integration/commitMultiline/expected/repo/.git_keep/objects/a5/bce3fd2565d8f458555a0c6f42d0504a848bd5bin21 -> 0 bytes
-rw-r--r--test/integration/commitMultiline/expected/repo/.git_keep/objects/a7/341a59f0ddeef969e69fb6368266d22b0f2416bin77 -> 0 bytes
-rw-r--r--test/integration/commitMultiline/expected/repo/.git_keep/objects/d2/34c5e057fe32c676ea67e8cb38f4625ddaeb54bin21 -> 0 bytes
-rw-r--r--test/integration/commitMultiline/expected/repo/.git_keep/objects/df/6b0d2bcc76e6ec0fca20c227104a4f28bac41bbin21 -> 0 bytes
-rw-r--r--test/integration/commitMultiline/expected/repo/.git_keep/refs/heads/master1
-rw-r--r--test/integration/commitMultiline/expected/repo/myfile11
-rw-r--r--test/integration/commitMultiline/expected/repo/myfile21
-rw-r--r--test/integration/commitMultiline/expected/repo/myfile31
-rw-r--r--test/integration/commitMultiline/expected/repo/myfile41
-rw-r--r--test/integration/commitMultiline/expected/repo/myfile51
-rw-r--r--test/integration/commitMultiline/recording.json1
-rw-r--r--test/integration/commitMultiline/setup.sh24
-rw-r--r--test/integration/commitMultiline/test.json4
-rw-r--r--test/integration_new/commit/commit_multiline/expected/repo/.git_keep/COMMIT_EDITMSG (renamed from test/integration/commitMultiline/expected/repo/.git_keep/COMMIT_EDITMSG)0
-rw-r--r--test/integration_new/commit/commit_multiline/expected/repo/.git_keep/FETCH_HEAD (renamed from test/integration/commitMultiline/expected/repo/.git_keep/FETCH_HEAD)0
-rw-r--r--test/integration_new/commit/commit_multiline/expected/repo/.git_keep/HEAD (renamed from test/integration/commitMultiline/expected/repo/.git_keep/HEAD)0
-rw-r--r--test/integration_new/commit/commit_multiline/expected/repo/.git_keep/config (renamed from test/integration/commitMultiline/expected/repo/.git_keep/config)4
-rw-r--r--test/integration_new/commit/commit_multiline/expected/repo/.git_keep/description (renamed from test/integration/commitMultiline/expected/repo/.git_keep/description)0
-rw-r--r--test/integration_new/commit/commit_multiline/expected/repo/.git_keep/indexbin0 -> 137 bytes
-rw-r--r--test/integration_new/commit/commit_multiline/expected/repo/.git_keep/info/exclude (renamed from test/integration/commitMultiline/expected/repo/.git_keep/info/exclude)0
-rw-r--r--test/integration_new/commit/commit_multiline/expected/repo/.git_keep/logs/HEAD1
-rw-r--r--test/integration_new/commit/commit_multiline/expected/repo/.git_keep/logs/refs/heads/master1
-rw-r--r--test/integration_new/commit/commit_multiline/expected/repo/.git_keep/objects/0c/4369dfc55cd41da90e149f2fa8ee3fc0a8f297bin0 -> 51 bytes
-rw-r--r--test/integration_new/commit/commit_multiline/expected/repo/.git_keep/objects/ad/a5661567ddf0a64f589cad3cd0cffd7e79af99bin0 -> 30 bytes
-rw-r--r--test/integration_new/commit/commit_multiline/expected/repo/.git_keep/objects/f5/b4b9b810f0c3d13754db99d24b04de451f8cecbin0 -> 128 bytes
-rw-r--r--test/integration_new/commit/commit_multiline/expected/repo/.git_keep/refs/heads/master1
-rw-r--r--test/integration_new/commit/commit_multiline/expected/repo/myfile1
44 files changed, 54 insertions, 49 deletions
diff --git a/pkg/integration/components/assert.go b/pkg/integration/components/assert.go
index c911dbefa..3ce842ebf 100644
--- a/pkg/integration/components/assert.go
+++ b/pkg/integration/components/assert.go
@@ -2,6 +2,7 @@ package components
import (
"fmt"
+ "regexp"
"strings"
"time"
@@ -56,6 +57,16 @@ func NotContains(target string) *matcher {
}}
}
+func MatchesRegexp(regexStr string) *matcher {
+ return &matcher{testFn: func(value string) (bool, string) {
+ matched, err := regexp.MatchString(regexStr, value)
+ if err != nil {
+ return false, fmt.Sprintf("Unexpected error parsing regular expression '%s': %s", regexStr, err.Error())
+ }
+ return matched, fmt.Sprintf("Expected '%s' to match regular expression '%s'", value, regexStr)
+ }}
+}
+
func Equals(target string) *matcher {
return &matcher{testFn: func(value string) (bool, string) {
return target == value, fmt.Sprintf("Expected '%s' to equal '%s'", value, target)
diff --git a/pkg/integration/tests/commit/commit_multiline.go b/pkg/integration/tests/commit/commit_multiline.go
new file mode 100644
index 000000000..f6472dd33
--- /dev/null
+++ b/pkg/integration/tests/commit/commit_multiline.go
@@ -0,0 +1,34 @@
+package commit
+
+import (
+ "github.com/jesseduffield/lazygit/pkg/config"
+ . "github.com/jesseduffield/lazygit/pkg/integration/components"
+)
+
+var CommitMultiline = NewIntegrationTest(NewIntegrationTestArgs{
+ Description: "Commit with a multi-line commit message",
+ ExtraCmdArgs: "",
+ Skip: false,
+ SetupConfig: func(config *config.AppConfig) {},
+ SetupRepo: func(shell *Shell) {
+ shell.CreateFile("myfile", "myfile content")
+ },
+ Run: func(shell *Shell, input *Input, assert *Assert, keys config.KeybindingConfig) {
+ assert.CommitCount(0)
+
+ input.PrimaryAction()
+ input.PressKeys(keys.Files.CommitChanges)
+
+ input.Type("first line")
+ input.PressKeys(keys.Universal.AppendNewline)
+ input.PressKeys(keys.Universal.AppendNewline)
+ input.Type("third line")
+ input.Confirm()
+
+ assert.CommitCount(1)
+ assert.MatchHeadCommitMessage(Equals("first line"))
+
+ input.SwitchToCommitsWindow()
+ assert.MatchMainViewContent(MatchesRegexp("first line\n\\s*\n\\s*third line"))
+ },
+})
diff --git a/pkg/integration/tests/tests.go b/pkg/integration/tests/tests.go
index 9e48ed0fc..e1a23bb14 100644
--- a/pkg/integration/tests/tests.go
+++ b/pkg/integration/tests/tests.go
@@ -36,6 +36,7 @@ var tests = []*components.IntegrationTest{
cherry_pick.CherryPick,
cherry_pick.CherryPickConflicts,
commit.Commit,
+ commit.CommitMultiline,
commit.NewBranch,
commit.Staged,
commit.Unstaged,
diff --git a/test/integration/commitMultiline/expected/repo/.git_keep/index b/test/integration/commitMultiline/expected/repo/.git_keep/index
deleted file mode 100644
index a08b4116e..000000000
--- a/test/integration/commitMultiline/expected/repo/.git_keep/index
+++ /dev/null
Binary files differ
diff --git a/test/integration/commitMultiline/expected/repo/.git_keep/logs/HEAD b/test/integration/commitMultiline/expected/repo/.git_keep/logs/HEAD
deleted file mode 100644
index 88b99d1ab..000000000
--- a/test/integration/commitMultiline/expected/repo/.git_keep/logs/HEAD
+++ /dev/null
@@ -1,5 +0,0 @@
-0000000000000000000000000000000000000000 176069f0ded1db43eecb3b629a6077dba6c68295 CI <CI@example.com> 1645602422 +1100 commit (initial): myfile1
-176069f0ded1db43eecb3b629a6077dba6c68295 9f1b5440546da24daad7014ccf3e1f4d81f9414b CI <CI@example.com> 1645602422 +1100 commit: myfile2
-9f1b5440546da24daad7014ccf3e1f4d81f9414b 3933a268c502712421b7bfa04888319d6f108574 CI <CI@example.com> 1645602422 +1100 commit: myfile3
-3933a268c502712421b7bfa04888319d6f108574 37128a3020849daa0847462d14c384cc74c42ae0 CI <CI@example.com> 1645602422 +1100 commit: myfile4
-37128a3020849daa0847462d14c384cc74c42ae0 574013716a7f007a27b647b90cdbc78d006d792b CI <CI@example.com> 1645602427 +1100 commit: first line
diff --git a/test/integration/commitMultiline/expected/repo/.git_keep/logs/refs/heads/master b/test/integration/commitMultiline/expected/repo/.git_keep/logs/refs/heads/master
deleted file mode 100644
index 88b99d1ab..000000000
--- a/test/integration/commitMultiline/expected/repo/.git_keep/logs/refs/heads/master
+++ /dev/null
@@ -1,5 +0,0 @@
-0000000000000000000000000000000000000000 176069f0ded1db43eecb3b629a6077dba6c68295 CI <CI@example.com> 1645602422 +1100 commit (initial): myfile1
-176069f0ded1db43eecb3b629a6077dba6c68295 9f1b5440546da24daad7014ccf3e1f4d81f9414b CI <CI@example.com> 1645602422 +1100 commit: myfile2
-9f1b5440546da24daad7014ccf3e1f4d81f9414b 3933a268c502712421b7bfa04888319d6f108574 CI <CI@example.com> 1645602422 +1100 commit: myfile3
-3933a268c502712421b7bfa04888319d6f108574 37128a3020849daa0847462d14c384cc74c42ae0 CI <CI@example.com> 1645602422 +1100 commit: myfile4
-37128a3020849daa0847462d14c384cc74c42ae0 574013716a7f007a27b647b90cdbc78d006d792b CI <CI@example.com> 1645602427 +1100 commit: first line
diff --git a/test/integration/commitMultiline/expected/repo/.git_keep/objects/0e/6cf0a6b79e8d44e186d812a1f74b43d64fac52 b/test/integration/commitMultiline/expected/repo/.git_keep/objects/0e/6cf0a6b79e8d44e186d812a1f74b43d64fac52
deleted file mode 100644
index 7f2ebf4ee..000000000
--- a/test/integration/commitMultiline/expected/repo/.git_keep/objects/0e/6cf0a6b79e8d44e186d812a1f74b43d64fac52
+++ /dev/null
Binary files differ
diff --git a/test/integration/commitMultiline/expected/repo/.git_keep/objects/17/6069f0ded1db43eecb3b629a6077dba6c68295 b/test/integration/commitMultiline/expected/repo/.git_keep/objects/17/6069f0ded1db43eecb3b629a6077dba6c68295
deleted file mode 100644
index a7d01df20..000000000
--- a/test/integration/commitMultiline/expected/repo/.git_keep/objects/17/6069f0ded1db43eecb3b629a6077dba6c68295
+++ /dev/null
@@ -1,2 +0,0 @@
-xA
-0@ѮsL:))1P!")#tyS5[˥*`hJAr <= :⧽qzm[ @gJzNɝ}˲*., \ No newline at end of file
diff --git a/test/integration/commitMultiline/expected/repo/.git_keep/objects/18/0cf8328022becee9aaa2577a8f84ea2b9f3827 b/test/integration/commitMultiline/expected/repo/.git_keep/objects/18/0cf8328022becee9aaa2577a8f84ea2b9f3827
deleted file mode 100644
index f74bf2335..000000000
--- a/test/integration/commitMultiline/expected/repo/.git_keep/objects/18/0cf8328022becee9aaa2577a8f84ea2b9f3827
+++ /dev/null
Binary files differ
diff --git a/test/integration/commitMultiline/expected/repo/.git_keep/objects/2b/173c861df433fa43ffad13f80c8b312c5c8bce b/test/integration/commitMultiline/expected/repo/.git_keep/objects/2b/173c861df433fa43ffad13f80c8b312c5c8bce
deleted file mode 100644
index 0a734f981..000000000
--- a/test/integration/commitMultiline/expected/repo/.git_keep/objects/2b/173c861df433fa43ffad13f80c8b312c5c8bce
+++ /dev/null
Binary files differ
diff --git a/test/integration/commitMultiline/expected/repo/.git_keep/objects/2f/6174050380438f14b16658a356e762435ca591 b/test/integration/commitMultiline/expected/repo/.git_keep/objects/2f/6174050380438f14b16658a356e762435ca591
deleted file mode 100644
index 31ae3f5ba..000000000
--- a/test/integration/commitMultiline/expected/repo/.git_keep/objects/2f/6174050380438f14b16658a356e762435ca591
+++ /dev/null
Binary files differ
diff --git a/test/integration/commitMultiline/expected/repo/.git_keep/objects/30/a1ca3481fdec3245b02aeacfb72ddfe2a433be b/test/integration/commitMultiline/expected/repo/.git_keep/objects/30/a1ca3481fdec3245b02aeacfb72ddfe2a433be
deleted file mode 100644
index aca754d63..000000000
--- a/test/integration/commitMultiline/expected/repo/.git_keep/objects/30/a1ca3481fdec3245b02aeacfb72ddfe2a433be
+++ /dev/null
Binary files differ
diff --git a/test/integration/commitMultiline/expected/repo/.git_keep/objects/37/128a3020849daa0847462d14c384cc74c42ae0 b/test/integration/commitMultiline/expected/repo/.git_keep/objects/37/128a3020849daa0847462d14c384cc74c42ae0
deleted file mode 100644
index b4dfbe20c..000000000
--- a/test/integration/commitMultiline/expected/repo/.git_keep/objects/37/128a3020849daa0847462d14c384cc74c42ae0
+++ /dev/null
Binary files differ
diff --git a/test/integration/commitMultiline/expected/repo/.git_keep/objects/39/33a268c502712421b7bfa04888319d6f108574 b/test/integration/commitMultiline/expected/repo/.git_keep/objects/39/33a268c502712421b7bfa04888319d6f108574
deleted file mode 100644
index 4195b00e1..000000000
--- a/test/integration/commitMultiline/expected/repo/.git_keep/objects/39/33a268c502712421b7bfa04888319d6f108574
+++ /dev/null
Binary files differ
diff --git a/test/integration/commitMultiline/expected/repo/.git_keep/objects/4f/346f1ad5ba2917da2109e2eaa2f2dfbb86f10f b/test/integration/commitMultiline/expected/repo/.git_keep/objects/4f/346f1ad5ba2917da2109e2eaa2f2dfbb86f10f
deleted file mode 100644
index 953241815..000000000
--- a/test/integration/commitMultiline/expected/repo/.git_keep/objects/4f/346f1ad5ba2917da2109e2eaa2f2dfbb86f10f
+++ /dev/null
Binary files differ
diff --git a/test/integration/commitMultiline/expected/repo/.git_keep/objects/57/4013716a7f007a27b647b90cdbc78d006d792b b/test/integration/commitMultiline/expected/repo/.git_keep/objects/57/4013716a7f007a27b647b90cdbc78d006d792b
deleted file mode 100644
index d675c1840..000000000
--- a/test/integration/commitMultiline/expected/repo/.git_keep/objects/57/4013716a7f007a27b647b90cdbc78d006d792b
+++ /dev/null
@@ -1,2 +0,0 @@
-xK
-0 D)/YVbJ)dc(B 7 t5c뚫E.Z=E7%Ԍ,0IQEj}pB.1H|$@Buދ{~x=ɾ>ki :`NzL]9_!? \ No newline at end of file
diff --git a/test/integration/commitMultiline/expected/repo/.git_keep/objects/9f/1b5440546da24daad7014ccf3e1f4d81f9414b b/test/integration/commitMultiline/expected/repo/.git_keep/objects/9f/1b5440546da24daad7014ccf3e1f4d81f9414b
deleted file mode 100644
index 9ea933b39..000000000
--- a/test/integration/commitMultiline/expected/repo/.git_keep/objects/9f/1b5440546da24daad7014ccf3e1f4d81f9414b
+++ /dev/null
Binary files differ
diff --git a/test/integration/commitMultiline/expected/repo/.git_keep/objects/a5/bce3fd2565d8f458555a0c6f42d0504a848bd5 b/test/integration/commitMultiline/expected/repo/.git_keep/objects/a5/bce3fd2565d8f458555a0c6f42d0504a848bd5
deleted file mode 100644
index 285df3e5f..000000000
--- a/test/integration/commitMultiline/expected/repo/.git_keep/objects/a5/bce3fd2565d8f458555a0c6f42d0504a848bd5
+++ /dev/null
Binary files differ
diff --git a/test/integration/commitMultiline/expected/repo/.git_keep/objects/a7/341a59f0ddeef969e69fb6368266d22b0f2416 b/test/integration/commitMultiline/expected/repo/.git_keep/objects/a7/341a59f0ddeef969e69fb6368266d22b0f2416
deleted file mode 100644
index 96d2e71a6..000000000
--- a/test/integration/commitMultiline/expected/repo/.git_keep/objects/a7/341a59f0ddeef969e69fb6368266d22b0f2416
+++ /dev/null
Binary files differ
diff --git a/test/integration/commitMultiline/expected/repo/.git_keep/objects/d2/34c5e057fe32c676ea67e8cb38f4625ddaeb54 b/test/integration/commitMultiline/expected/repo/.git_keep/objects/d2/34c5e057fe32c676ea67e8cb38f4625ddaeb54
deleted file mode 100644
index d39fa7d2f..000000000
--- a/test/integration/commitMultiline/expected/repo/.git_keep/objects/d2/34c5e057fe32c676ea67e8cb38f4625ddaeb54
+++ /dev/null
Binary files differ
diff --git a/test/integration/commitMultiline/expected/repo/.git_keep/objects/df/6b0d2bcc76e6ec0fca20c227104a4f28bac41b b/test/integration/commitMultiline/expected/repo/.git_keep/objects/df/6b0d2bcc76e6ec0fca20c227104a4f28bac41b
deleted file mode 100644
index 9b771fc2f..000000000
--- a/test/integration/commitMultiline/expected/repo/.git_keep/objects/df/6b0d2bcc76e6ec0fca20c227104a4f28bac41b
+++ /dev/null
Binary files differ
diff --git a/test/integration/commitMultiline/expected/repo/.git_keep/refs/heads/master b/test/integration/commitMultiline/expected/repo/.git_keep/refs/heads/master
deleted file mode 100644
index c44ada3dd..000000000
--- a/test/integration/commitMultiline/expected/repo/.git_keep/refs/heads/master
+++ /dev/null
@@ -1 +0,0 @@
-574013716a7f007a27b647b90cdbc78d006d792b
diff --git a/test/integration/commitMultiline/expected/repo/myfile1 b/test/integration/commitMultiline/expected/repo/myfile1
deleted file mode 100644
index a5bce3fd2..000000000
--- a/test/integration/commitMultiline/expected/repo/myfile1
+++ /dev/null
@@ -1 +0,0 @@
-test1
diff --git a/test/integration/commitMultiline/expected/repo/myfile2 b/test/integration/commitMultiline/expected/repo/myfile2
deleted file mode 100644
index 180cf8328..000000000
--- a/test/integration/commitMultiline/expected/repo/myfile2
+++ /dev/null
@@ -1 +0,0 @@
-test2
diff --git a/test/integration/commitMultiline/expected/repo/myfile3 b/test/integration/commitMultiline/expected/repo/myfile3
deleted file mode 100644
index df6b0d2bc..000000000
--- a/test/integration/commitMultiline/expected/repo/myfile3
+++ /dev/null
@@ -1 +0,0 @@
-test3
diff --git a/test/integration/commitMultiline/expected/repo/myfile4 b/test/integration/commitMultiline/expected/repo/myfile4
deleted file mode 100644
index d234c5e05..000000000
--- a/test/integration/commitMultiline/expected/repo/myfile4
+++ /dev/null
@@ -1 +0,0 @@
-test4
diff --git a/test/integration/commitMultiline/expected/repo/myfile5 b/test/integration/commitMultiline/expected/repo/myfile5
deleted file mode 100644
index 4f346f1ad..000000000
--- a/test/integration/commitMultiline/expected/repo/myfile5
+++ /dev/null
@@ -1 +0,0 @@
-test5
diff --git a/test/integration/commitMultiline/recording.json b/test/integration/commitMultiline/recording.json
deleted file mode 100644
index bb0d16af6..000000000
--- a/test/integration/commitMultiline/recording.json
+++ /dev/null
@@ -1 +0,0 @@
-{"KeyEvents":[{"Timestamp":931,"Mod":0,"Key":256,"Ch":32},{"Timestamp":1467,"Mod":0,"Key":256,"Ch":99},{"Timestamp":2035,"Mod":0,"Key":256,"Ch":102},{"Timestamp":2090,"Mod":0,"Key":256,"Ch":105},{"Timestamp":2162,"Mod":0,"Key":256,"Ch":114},{"Timestamp":2259,"Mod":0,"Key":256,"Ch":115},{"Timestamp":2314,"Mod":0,"Key":256,"Ch":116},{"Timestamp":2411,"Mod":0,"Key":256,"Ch":32},{"Timestamp":2546,"Mod":0,"Key":256,"Ch":108},{"Timestamp":2578,"Mod":0,"Key":256,"Ch":105},{"Timestamp":2627,"Mod":0,"Key":256,"Ch":110},{"Timestamp":2691,"Mod":0,"Key":256,"Ch":101},{"Timestamp":3358,"Mod":4,"Key":13,"Ch":13},{"Timestamp":3577,"Mod":4,"Key":13,"Ch":13},{"Timestamp":3810,"Mod":0,"Key":256,"Ch":116},{"Timestamp":3874,"Mod":0,"Key":256,"Ch":104},{"Timestamp":3914,"Mod":0,"Key":256,"Ch":105},{"Timestamp":3986,"Mod":0,"Key":256,"Ch":114},{"Timestamp":4107,"Mod":0,"Key":256,"Ch":100},{"Timestamp":4195,"Mod":0,"Key":256,"Ch":32},{"Timestamp":4291,"Mod":0,"Key":256,"Ch":108},{"Timestamp":4322,"Mod":0,"Key":256,"Ch":105},{"Timestamp":4370,"Mod":0,"Key":256,"Ch":110},{"Timestamp":4426,"Mod":0,"Key":256,"Ch":101},{"Timestamp":4603,"Mod":0,"Key":13,"Ch":13},{"Timestamp":5267,"Mod":0,"Key":256,"Ch":113}],"ResizeEvents":[{"Timestamp":0,"Width":272,"Height":74}]} \ No newline at end of file
diff --git a/test/integration/commitMultiline/setup.sh b/test/integration/commitMultiline/setup.sh
deleted file mode 100644
index c6c6a9271..000000000
--- a/test/integration/commitMultiline/setup.sh
+++ /dev/null
@@ -1,24 +0,0 @@
-#!/bin/sh
-
-set -e
-
-cd $1
-
-git init
-
-git config user.email "CI@example.com"
-git config user.name "CI"
-
-echo test1 > myfile1
-git add .
-git commit -am "myfile1"
-echo test2 > myfile2
-git add .
-git commit -am "myfile2"
-echo test3 > myfile3
-git add .
-git commit -am "myfile3"
-echo test4 > myfile4
-git add .
-git commit -am "myfile4"
-echo test5 > myfile5
diff --git a/test/integration/commitMultiline/test.json b/test/integration/commitMultiline/test.json
deleted file mode 100644
index 5ac0bb1f5..000000000
--- a/test/integration/commitMultiline/test.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "description": "stage a file and commit the change with a multiline commit message",
- "speed": 15
-}
diff --git a/test/integration/commitMultiline/expected/repo/.git_keep/COMMIT_EDITMSG b/test/integration_new/commit/commit_multiline/expected/repo/.git_keep/COMMIT_EDITMSG
index bf8858b06..bf8858b06 100644
--- a/test/integration/commitMultiline/expected/repo/.git_keep/COMMIT_EDITMSG
+++ b/test/integration_new/commit/commit_multiline/expected/repo/.git_keep/COMMIT_EDITMSG
diff --git a/test/integration/commitMultiline/expected/repo/.git_keep/FETCH_HEAD b/test/integration_new/commit/commit_multiline/expected/repo/.git_keep/FETCH_HEAD
index e69de29bb..e69de29bb 100644
--- a/test/integration/commitMultiline/expected/repo/.git_keep/FETCH_HEAD
+++ b/test/integration_new/commit/commit_multiline/expected/repo/.git_keep/FETCH_HEAD
diff --git a/test/integration/commitMultiline/expected/repo/.git_keep/HEAD b/test/integration_new/commit/commit_multiline/expected/repo/.git_keep/HEAD
index cb089cd89..cb089cd89 100644
--- a/test/integration/commitMultiline/expected/repo/.git_keep/HEAD
+++ b/test/integration_new/commit/commit_multiline/expected/repo/.git_keep/HEAD
diff --git a/test/integration/commitMultiline/expected/repo/.git_keep/config b/test/integration_new/commit/commit_multiline/expected/repo/.git_keep/config
index 8ae104545..1723dc5b9 100644
--- a/test/integration/commitMultiline/expected/repo/.git_keep/config
+++ b/test/integration_new/commit/commit_multiline/expected/repo/.git_keep/config
@@ -8,3 +8,7 @@
[user]
email = CI@example.com
name = CI
+[commit]
+ gpgSign = false
+[protocol "file"]
+ allow = always
diff --git a/test/integration/commitMultiline/expected/repo/.git_keep/description b/test/integration_new/commit/commit_multiline/expected/repo/.git_keep/description
index 498b267a8..498b267a8 100644
--- a/test/integration/commitMultiline/expected/repo/.git_keep/description
+++ b/test/integration_new/commit/commit_multiline/expected/repo/.git_keep/description
diff --git a/test/integration_new/commit/commit_multiline/expected/repo/.git_keep/index b/test/integration_new/commit/commit_multiline/expected/repo/.git_keep/index
new file mode 100644
index 000000000..0d114f768
--- /dev/null
+++ b/test/integration_new/commit/commit_multiline/expected/repo/.git_keep/index
Binary files differ
diff --git a/test/integration/commitMultiline/expected/repo/.git_keep/info/exclude b/test/integration_new/commit/commit_multiline/expected/repo/.git_keep/info/exclude
index 8e9f2071f..8e9f2071f 100644
--- a/test/integration/commitMultiline/expected/repo/.git_keep/info/exclude
+++ b/test/integration_new/commit/commit_multiline/expected/repo/.git_keep/info/exclude
diff --git a/test/integration_new/commit/commit_multiline/expected/repo/.git_keep/logs/HEAD b/test/integration_new/commit/commit_multiline/expected/repo/.git_keep/logs/HEAD
new file mode 100644
index 000000000..b5d6fc0c7
--- /dev/null
+++ b/test/integration_new/commit/commit_multiline/expected/repo/.git_keep/logs/HEAD
@@ -0,0 +1 @@
+0000000000000000000000000000000000000000 f5b4b9b810f0c3d13754db99d24b04de451f8cec CI <CI@example.com> 1671534726 +1100 commit (initial): first line
diff --git a/test/integration_new/commit/commit_multiline/expected/repo/.git_keep/logs/refs/heads/master b/test/integration_new/commit/commit_multiline/expected/repo/.git_keep/logs/refs/heads/master
new file mode 100644
index 000000000..b5d6fc0c7
--- /dev/null
+++ b/test/integration_new/commit/commit_multiline/expected/repo/.git_keep/logs/refs/heads/master
@@ -0,0 +1 @@
+0000000000000000000000000000000000000000 f5b4b9b810f0c3d13754db99d24b04de451f8cec CI <CI@example.com> 1671534726 +1100 commit (initial): first line
diff --git a/test/integration_new/commit/commit_multiline/expected/repo/.git_keep/objects/0c/4369dfc55cd41da90e149f2fa8ee3fc0a8f297 b/test/integration_new/commit/commit_multiline/expected/repo/.git_keep/objects/0c/4369dfc55cd41da90e149f2fa8ee3fc0a8f297
new file mode 100644
index 000000000..79af4f45f
--- /dev/null
+++ b/test/integration_new/commit/commit_multiline/expected/repo/.git_keep/objects/0c/4369dfc55cd41da90e149f2fa8ee3fc0a8f297
Binary files differ
diff --git a/test/integration_new/commit/commit_multiline/expected/repo/.git_keep/objects/ad/a5661567ddf0a64f589cad3cd0cffd7e79af99 b/test/integration_new/commit/commit_multiline/expected/repo/.git_keep/objects/ad/a5661567ddf0a64f589cad3cd0cffd7e79af99
new file mode 100644
index 000000000..98345f609
--- /dev/null
+++ b/test/integration_new/commit/commit_multiline/expected/repo/.git_keep/objects/ad/a5661567ddf0a64f589cad3cd0cffd7e79af99
Binary files differ
diff --git a/test/integration_new/commit/commit_multiline/expected/repo/.git_keep/objects/f5/b4b9b810f0c3d13754db99d24b04de451f8cec b/test/integration_new/commit/commit_multiline/expected/repo/.git_keep/objects/f5/b4b9b810f0c3d13754db99d24b04de451f8cec
new file mode 100644
index 000000000..d99d2c93e
--- /dev/null
+++ b/test/integration_new/commit/commit_multiline/expected/repo/.git_keep/objects/f5/b4b9b810f0c3d13754db99d24b04de451f8cec
Binary files differ
diff --git a/test/integration_new/commit/commit_multiline/expected/repo/.git_keep/refs/heads/master b/test/integration_new/commit/commit_multiline/expected/repo