chiark / gitweb /
Test suite: unrepresentable: New test
[dgit.git] / tests / tests / unrepresentable
diff --git a/tests/tests/unrepresentable b/tests/tests/unrepresentable
new file mode 100755 (executable)
index 0000000..88a6972
--- /dev/null
@@ -0,0 +1,51 @@
+#!/bin/bash
+set -e
+. tests/lib
+
+t-tstunt-parsechangelog
+
+t-prep-newpackage example 1.0
+
+ln -s $troot/pkg-srcs/${p}_${v%-*}.orig.tar.* .
+
+cd $p
+
+start () { git checkout quilt-tip~0; }
+attempt () { t-dgit -wgf --quilt=smash quilt-fixup; }
+
+badly-1 () {
+       wrongfn=$1
+       wrongmsg=$2
+       start
+}
+
+badly-2 () {
+       git commit -m "Commit wrongness $wrongfn ($wrongmsg)"
+       t-expect-fail "cannot represent change: $wrongmsg: $wrongfn" \
+       attempt
+}
+
+badly-1 symlink 'not a plain file'
+       ln -s TARGET symlink
+       git add symlink
+badly-2
+
+badly-1 src.c deleted
+       git rm src.c
+badly-2
+
+badly-1 src.c 'mode changed'
+       chmod +x src.c
+       git add src.c
+badly-2
+
+badly-1 new 'non-default mode'
+       echo hi >new
+       chmod 755 new
+       git add new
+badly-2
+
+start
+attempt
+
+echo ok.