]> git.ipfire.org Git - thirdparty/git.git/commitdiff
t3650: add more regression tests for failure conditions
authorKristoffer Haugsbakk <code@khaugsbakk.name>
Mon, 22 Dec 2025 22:04:43 +0000 (23:04 +0100)
committerJunio C Hamano <gitster@pobox.com>
Tue, 23 Dec 2025 02:51:40 +0000 (11:51 +0900)
There isn’t much test coverage for basic failure conditions. Let’s add
a few more since these are simple to write and remove if they become
obsolete.

Signed-off-by: Kristoffer Haugsbakk <code@khaugsbakk.name>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t3650-replay-basics.sh

index 5542bf146d4f0c704302fc7229375b2896db8a38..19ef8436b237ae778dc2ffdbfbbab23b0a19acbf 100755 (executable)
@@ -67,6 +67,33 @@ test_expect_success '--advance with invalid commit-ish' '
        test_cmp expect actual
 '
 
+test_expect_success 'option --onto or --advance is mandatory' '
+       cat >expect <<-\EOF &&
+       error: option --onto or --advance is mandatory
+       EOF
+       # First line is the error; rest is Usage
+       test_must_fail git replay topic1..topic2 >&1 2>&1 |
+               head -1 >actual &&
+       test_cmp expect actual
+'
+
+test_expect_success 'no base or negative ref gives no-replaying down to root error' '
+       cat >expect <<-\EOF &&
+       fatal: replaying down to root commit is not supported yet!
+       EOF
+       test_must_fail git replay --onto=topic1 topic2 2>actual &&
+       test_cmp expect actual
+'
+
+test_expect_success 'options --advance and --contained cannot be used together' '
+       cat >expect <<-EOF &&
+       fatal: options ${SQ}--advance${SQ} and ${SQ}--contained${SQ} cannot be used together
+       EOF
+       test_must_fail git replay --advance=main --contained \
+               topic1..topic2 2>actual &&
+       test_cmp expect actual
+'
+
 test_expect_success 'using replay to rebase two branches, one on top of other' '
        git replay --ref-action=print --onto main topic1..topic2 >result &&