Compare commits

..

2 commits

Author SHA1 Message Date
Renovate Bot
3dc0ad8ccf chore(deps): woodpecker update docker.io/rust docker tag to v1.80.0
Some checks failed
Rust / build (push) Successful in 15s
ci/woodpecker/push/woodpecker Pipeline failed
2024-07-30 07:28:14 +01:00
bef0389ce6 build: add forgejo workflow push-next
All checks were successful
Rust / build (push) Successful in 20s
ci/woodpecker/push/woodpecker Pipeline was successful
2024-07-30 07:28:10 +01:00

51
test.sh
View file

@ -5,37 +5,38 @@ set -e
echo "PWD: $PWD"
ls -l
ls -l target
SKIP="./target/skip"
SKIP="./target/debug/skip"
DIFF="diff -u --color"
if test ! -x $SKIP ; then
echo "File missing: $SKIP - try 'cargo build'"
exit 1
if test ! -x $SKIP; then
echo "File missing: $SKIP - try 'cargo build'"
exit 1
fi
echo "> skip a line when reading from stdin"
INPUT=$(cat<<EOF
INPUT=$(
cat <<EOF
line 1
line 2
EOF
)
echo "line 2" > test.expect
echo "$INPUT" | $SKIP 1 > test.out
echo "line 2" >test.expect
echo "$INPUT" | $SKIP 1 >test.out
$DIFF test.expect test.out
rm test.expect test.out
echo "> skip a line when reading from a file"
cat<<EOF > test.in
cat <<EOF >test.in
line 1
line 2
EOF
echo "line 2" > test.expect
$SKIP 1 test.in > test.out
echo "line 2" >test.expect
$SKIP 1 test.in >test.out
$DIFF test.expect test.out
rm test.expect test.out
echo "> skip until 2 matching lines seen"
cat<<EOF > test.in
cat <<EOF >test.in
alpha
beta
alpha
@ -43,17 +44,17 @@ alpha
gamma
alpha
EOF
cat<<EOF > test.expect
cat <<EOF >test.expect
alpha
gamma
alpha
EOF
$SKIP 2 test.in --line alpha > test.out
$SKIP 2 test.in --line alpha >test.out
$DIFF test.expect test.out
rm test.in test.expect test.out
echo "> skip lines until 2 tokens seen"
cat<<EOF > test.in
cat <<EOF >test.in
Lorem ipsum dolor sit amet,
consectetur adipiscing elit,
sed do eiusmod tempor incididunt
@ -63,18 +64,18 @@ quis nostrud exercitation ullamco
laboris nisi ut aliquip ex ea
commodo consequat.
EOF
cat<<EOF > test.expect
cat <<EOF >test.expect
Ut enim ad minim veniam,
quis nostrud exercitation ullamco
laboris nisi ut aliquip ex ea
commodo consequat.
EOF
$SKIP 2 test.in --token dolor > test.out
$SKIP 2 test.in --token dolor >test.out
$DIFF test.expect test.out
rm test.in test.expect test.out
echo "> handle unknown parameter with simple error message"
cat<<EOF > test.expect.err
cat <<EOF >test.expect.err
error: unexpected argument '--foo' found
tip: to pass '--foo' as a value, use '-- --foo'
@ -83,17 +84,17 @@ Usage: skip [OPTIONS] <LINES> [FILE]
For more information, try '--help'.
EOF
cat<<EOF > test.expect
cat <<EOF >test.expect
EOF
touch test.out test.err
$SKIP --foo > test.out 2> test.err || true
$SKIP --foo >test.out 2>test.err || true
$DIFF test.expect test.out
$DIFF test.expect.err test.err
rm test.expect test.out
rm test.expect.err test.err
echo "> handle ignore-extra when token is missing"
cat<<EOF > test.expect.err
cat <<EOF >test.expect.err
error: the following required arguments were not provided:
--token <TOKEN>
<LINES>
@ -102,17 +103,17 @@ Usage: skip --ignore-extras --token <TOKEN> <LINES> [FILE]
For more information, try '--help'.
EOF
cat<<EOF > test.expect
cat <<EOF >test.expect
EOF
touch test.out test.err
$SKIP --ignore-extras > test.out 2> test.err || true
$SKIP --ignore-extras >test.out 2>test.err || true
$DIFF test.expect test.out
$DIFF test.expect.err test.err
rm test.expect test.out
rm test.expect.err test.err
echo "> skip lines until 4 tokens seen - ignored extra tokens on same line"
cat<<EOF > test.in
cat <<EOF >test.in
Lorem ipsum dolor sit amet,
consectetur adipiscing elit,
sed do eiusmod tempor incididunt
@ -122,12 +123,12 @@ quis nostrud exercitation ullamco
laboris nisi ut aliquip ex ea
commodo consequat.
EOF
cat<<EOF > test.expect
cat <<EOF >test.expect
quis nostrud exercitation ullamco
laboris nisi ut aliquip ex ea
commodo consequat.
EOF
$SKIP 4 test.in --token m --ignore-extras > test.out
$SKIP 4 test.in --token m --ignore-extras >test.out
$DIFF test.expect test.out
rm test.in test.expect test.out