add github workflow to run tests
This commit is contained in:
parent
1f1e14967e
commit
6c347a1dc0
3 changed files with 88 additions and 0 deletions
18
.github/workflows/main.yml
vendored
Normal file
18
.github/workflows/main.yml
vendored
Normal file
|
@ -0,0 +1,18 @@
|
|||
name: CI
|
||||
on:
|
||||
push:
|
||||
branches: [ master ]
|
||||
pull_request:
|
||||
branches: [ master ]
|
||||
workflow_dispatch:
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Setup Zig
|
||||
uses: goto-bus-stop/setup-zig@v1.3.0
|
||||
with:
|
||||
version: master
|
||||
- name: Tests
|
||||
run: ./test.sh
|
3
.gitignore
vendored
3
.gitignore
vendored
|
@ -2,3 +2,6 @@ zig-cache/
|
|||
zig-out/
|
||||
.zigmod
|
||||
deps.zig
|
||||
/test.in
|
||||
/test.out
|
||||
/test.expect
|
||||
|
|
67
test.sh
Executable file
67
test.sh
Executable file
|
@ -0,0 +1,67 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
set -e
|
||||
|
||||
echo "Unit tests..."
|
||||
zig build test
|
||||
|
||||
echo "Build..."
|
||||
zig build
|
||||
|
||||
echo -n "Created: "
|
||||
ls zig-out/bin/skip
|
||||
export PATH=$PWD/zig-out/bin/:$PATH
|
||||
|
||||
echo "> skip a line when reading from stdin"
|
||||
INPUT=$(cat<<EOF
|
||||
line 1
|
||||
line 2
|
||||
EOF
|
||||
)
|
||||
echo "line 2" > test.expect
|
||||
echo "$INPUT" | skip 1 > test.out
|
||||
diff --brief test.expect test.out
|
||||
|
||||
echo "> skip a line when reading from a file"
|
||||
cat<<EOF > test.in
|
||||
line 1
|
||||
line 2
|
||||
EOF
|
||||
echo "line 2" > test.expect
|
||||
skip 1 test.in > test.out
|
||||
diff --brief test.expect test.out
|
||||
|
||||
echo "> skip until 2 matching lines seen"
|
||||
cat<<EOF > test.in
|
||||
alpha
|
||||
beta
|
||||
alpha
|
||||
gamma
|
||||
EOF
|
||||
echo "gamma" > test.expect
|
||||
skip 2 test.in --line alpha > test.out
|
||||
diff --brief test.expect test.out
|
||||
|
||||
echo "> skip lines until 2 tokens seen"
|
||||
cat<<EOF > test.in
|
||||
Lorem ipsum dolor sit amet,
|
||||
consectetur adipiscing elit,
|
||||
sed do eiusmod tempor incididunt
|
||||
ut labore et dolore magna aliqua.
|
||||
Ut enim ad minim veniam,
|
||||
quis nostrud exercitation ullamco
|
||||
laboris nisi ut aliquip ex ea
|
||||
commodo consequat.
|
||||
EOF
|
||||
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
|
||||
diff --brief test.expect test.out
|
||||
|
||||
rm test.in test.out test.expect
|
||||
|
||||
echo done
|
Loading…
Reference in a new issue