diff --git a/tests/test-simplemerge-cmd b/tests/test-simplemerge-cmd new file mode 100755 --- /dev/null +++ b/tests/test-simplemerge-cmd @@ -0,0 +1,61 @@ +#!/bin/sh + +cp "$TESTDIR"/../contrib/simplemerge . + +echo base > base + +echo local > local +cat base >> local +cp local orig + +cat base > other +echo other >> other + +echo '% changing local directly' +python simplemerge local base other && echo "merge succeeded" +cat local +cp orig local + +echo '% printing to stdout' +python simplemerge -p local base other +echo ' local:' +cat local + +echo '% conflicts' +cp base conflict-local +cp other conflict-other +echo not other >> conflict-local +echo end >> conflict-local +echo end >> conflict-other +python simplemerge -p conflict-local base conflict-other || echo "merge failed" + +echo '% --no-minimal' +python simplemerge -p --no-minimal conflict-local base conflict-other + +echo '% 1 label' +python simplemerge -p -L foo conflict-local base conflict-other + +echo '% 2 labels' +python simplemerge -p -L foo -L bar conflict-local base conflict-other + +echo '% too many labels' +python simplemerge -p -L foo -L bar -L baz conflict-local base conflict-other + +echo '% binary file' +printf '\x00' > binary-local +cat orig >> binary-local +python simplemerge -p binary-local base other + +echo '% binary file --text' +python simplemerge -a -p binary-local base other + +echo '% help' +python simplemerge --help + +echo '% wrong number of arguments' +python simplemerge + +echo '% bad option' +python simplemerge --foo -p local base other + +exit 0