Compare commits

..

2 commits

Author SHA1 Message Date
Renovate Bot
a169ebd579 chore(deps): woodpecker update docker.io/rust docker tag to v1.80.0
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2024-07-30 07:24:32 +01:00
b663651c76 build: add forgejo workflow push-next
Some checks failed
Rust / build (push) Failing after 20s
ci/woodpecker/push/woodpecker Pipeline was successful
2024-07-30 07:24:30 +01:00

47
test.sh
View file

@ -5,38 +5,37 @@ set -e
echo "PWD: $PWD"
ls -l
ls -l target
SKIP="./target/debug/skip"
SKIP="./target/skip"
DIFF="diff -u --color"
if test ! -x $SKIP; then
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
@ -44,17 +43,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
@ -64,18 +63,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'
@ -84,17 +83,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>
@ -103,17 +102,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
@ -123,12 +122,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