Skip to content

Commit

Permalink
fix CI tests
Browse files Browse the repository at this point in the history
  • Loading branch information
Sunshine committed Oct 20, 2021
1 parent c6bb612 commit fdd67fe
Show file tree
Hide file tree
Showing 3 changed files with 47 additions and 29 deletions.
34 changes: 26 additions & 8 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,14 +12,18 @@ jobs:
strategy:
matrix:
include:
- os: ubuntu-18.04
- os: ubuntu-20.04
- os: macos-10.15
- os: macos-11
os:
- ubuntu-18.04
- ubuntu-20.04
- macos-10.15
- macos-11
cc: [gcc, clang]

continue-on-error: true

steps:
- run: git config --global core.autocrlf false

- uses: actions/checkout@v2

- name: Resolve dependencies (Ubuntu)
Expand All @@ -30,7 +34,7 @@ jobs:
imagemagick \
libqrencode-dev \
zbar-tools
if: matrix.os == 'ubuntu-18.04' || matrix.os == 'ubuntu-20.04'
if: contains(matrix.os, 'ubuntu')

- name: Resolve dependencies (macOS)
run: |
Expand All @@ -41,12 +45,19 @@ jobs:
brew tap homebrew/cask-fonts
brew install --cask font-freefont
convert -font FreeMono label:"Unable to revert mtime: /Library/Fonts fix" png:- > /dev/null
if: matrix.os == 'macos-10.15' || matrix.os == 'macos-11'
if: contains(matrix.os, 'macos')

- name: Build
run: make

- name: Test
- name: Test (Ubuntu)
shell: 'script --return --quiet --command "bash {0}"'
if: contains(matrix.os, 'ubuntu')
run: make test

- name: Test (macOS)
shell: bash -l {0}
if: contains(matrix.os, 'macos')
run: make test

- name: Print test logs
Expand All @@ -56,7 +67,14 @@ jobs:
- name: Install
run: PREFIX=/usr/local sudo make install

- name: Run
- name: Run (Ubuntu)
shell: 'script --return --quiet --command "bash {0}"'
if: contains(matrix.os, 'ubuntu')
run: /usr/local/bin/qr Success

- name: Run (macOS)
shell: bash -l {0}
if: contains(matrix.os, 'macos')
run: /usr/local/bin/qr Success

- name: Uninstall
Expand Down
16 changes: 8 additions & 8 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -15,20 +15,20 @@ clean:
.PHONY: clean

install: all
echo installing executable file to $(DESTDIR)$(PREFIX)/bin
install -d $(DESTDIR)$(PREFIX)/bin
install -m 755 $(PROG) $(DESTDIR)$(PREFIX)/bin/$(PROG)
@echo installing executable file into $(DESTDIR)$(PREFIX)/bin
@install -d $(DESTDIR)$(PREFIX)/bin
@install -m 755 $(PROG) $(DESTDIR)$(PREFIX)/bin/$(PROG)
.PHONY: install

uninstall:
echo removing executable file from $(DESTDIR)$(PREFIX)/bin
rm -f $(DESTDIR)$(PREFIX)/bin/$(PROG)
@echo removing executable file from $(DESTDIR)$(PREFIX)/bin
@rm -f $(DESTDIR)$(PREFIX)/bin/$(PROG)
.PHONY: uninstall

test: $(PROG)
autom4te --no-cache -f -l autotest -o tests tests.at
./tests \
@autom4te --no-cache -f -l autotest -o tests tests.at
@./tests \
FONT="FreeMono" \
INPUT='Ünic0d3wörd 参 я' \
INPUT="Ünic0d3wörd 参 я" \
EXTRA_LONG_INPUT="参考文献に掲載されている文章等を抜粋し参考文献に掲載されている文章等を抜粋し参考文献に掲載されている文章等を抜粋し参考文献に掲載されている文章等を抜粋し参考文献に掲載されている文章等を抜粋し参考文献に掲載されている文章等を抜粋し参考文献に掲載されている文章等を抜粋し参考文献に掲載されている文章等を抜粋し参考文献に掲載されている文章等を抜粋し参考文献に掲載されている文章等を抜粋し参考文献に掲載されている文章等を抜粋し参考文献に掲載されている文章等を抜粋し参考文献に掲載されている文章等を抜粋し参考文献に掲載されている文章等を抜粋し参考文献に掲載されている文章等を抜粋し参考文献に掲載されている文章等を抜粋し参考文献に掲載されている文章等を抜粋し参考文献に掲載されている文章等を抜粋し参考文献に掲載されている文章等を抜粋し参考文献に掲載されている文章等を抜粋し参考文献に掲載されている文章等を抜粋し参考文献に掲載されている文章等を抜粋し参考文献に掲載されている文章等を抜粋し参考文献に掲載されている文章等を抜粋し参考文献に掲載されている文章等を抜粋し参考文献に掲載されている文章等を抜粋し参考文献に掲載されている文章等を抜粋し参考文献に掲載されている文章等を抜粋し参考文献に掲載されている文章等を抜粋し参考文献に掲載されている文章等を抜粋し参考文献に掲載されている文章等を抜粋し参考文献に掲載されている文章等を抜粋し参考文献に掲載されている文章等を抜粋し参考文献に掲載されている文章等を抜粋し参考文献に掲載されている文章等を抜粋し参考文献に掲載されている文章等を抜粋し参考文献に掲載されている文章等を抜粋し参考文献に掲載されている文章等を抜粋し参考文献に掲載されている文章等を抜粋し参考文献に掲載されている文章等を抜粋し参考文献に掲載されている文章等を抜粋し参考文献に掲載されている文章等を抜粋し参考文献に掲載されている文章等を抜粋し参考文献に掲載されている文章等を抜粋し参考文献に掲載されている文章等を抜粋し参考文献に掲載されている文章等を抜粋し参考文献に掲載されている文章等を抜粋し参考文献に掲載されている文章等を抜粋し参考文献に掲載されている文章等を抜粋し参考文献に掲載されている文章等を抜粋し参考文献に掲載されている文章等を抜粋し参考文献に掲載されている文章等を抜粋し参考文献に掲載されている文章等を抜粋し参考文献に掲載されている文章等を抜粋し"
.PHONY: test
26 changes: 13 additions & 13 deletions tests.at
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ m4_define([AT_PACKAGE_STRING], [qr])

AT_INIT
AT_COLOR_TESTS
AT_BANNER([QR-Code tests])
AT_BANNER([Integration tests for qr])

## 1
AT_SETUP([generates proper QR Code])
Expand All @@ -15,62 +15,62 @@ AT_CLEANUP
## 2
AT_SETUP([generates proper QR Code using inverted colors])
AT_CHECK_UNQUOTED([
convert -background white -fill black -font "${FONT}" -pointsize 9 -interline-spacing -1 label:"$(./../../qr -i "${INPUT}")" png:- | zbarimg -q png:- | grep -q "QR-Code:${INPUT}" || exit 1
convert -background white -fill black -font "$FONT" -pointsize 9 -interline-spacing -1 label:"$(./../../qr -i "$INPUT")" png:- | zbarimg -q png:- | grep -q "QR-Code:$INPUT" || exit 1
], [0], [], [])
AT_CLEANUP

## 3
AT_SETUP([generates proper QR Code using compact blocks])
AT_CHECK_UNQUOTED([
convert -background black -fill white -font "${FONT}" -pointsize 9 -interline-spacing -1 label:"$(./../../qr -c "${INPUT}")" png:- | zbarimg -q png:- | grep -q "QR-Code:${INPUT}" || exit 1
convert -background black -fill white -font "$FONT" -pointsize 9 -interline-spacing -1 label:"$(./../../qr -c "$INPUT")" png:- | zbarimg -q png:- | grep -q "QR-Code:$INPUT" || exit 1
], [0], [], [])
AT_CLEANUP

## 4
AT_SETUP([generates proper QR Code using compact blocks and inverted colors])
AT_CHECK_UNQUOTED([
convert -background white -fill black -font "${FONT}" -pointsize 9 -interline-spacing -1 label:"$(./../../qr -ci "${INPUT}")" png:- | zbarimg -q png:- | grep -q "QR-Code:${INPUT}" || exit 1
convert -background white -fill black -font "$FONT" -pointsize 9 -interline-spacing -1 label:"$(./../../qr -ci "$INPUT")" png:- | zbarimg -q png:- | grep -q "QR-Code:$INPUT" || exit 1
], [0], [], [])
AT_CLEANUP

## 5
AT_SETUP([generates proper QR Code using large blocks])
AT_CHECK_UNQUOTED([
convert -background black -fill white -font "${FONT}" -pointsize 4 -interline-spacing -1 label:"$(./../../qr -l "${INPUT}")" png:- | zbarimg -q png:- | grep -q "QR-Code:${INPUT}" || exit 1
convert -background black -fill white -font "$FONT" -pointsize 4 -interline-spacing -1 label:"$(./../../qr -l "$INPUT")" png:- | zbarimg -q png:- | grep -q "QR-Code:$INPUT" || exit 1
], [0], [], [])
AT_CLEANUP

## 6
AT_SETUP([generates proper QR Code using large blocks and inverted colors])
AT_CHECK_UNQUOTED([
convert -background white -fill black -font "${FONT}" -pointsize 4 -interline-spacing -1 label:"$(./../../qr -li "${INPUT}")" png:- | zbarimg -q png:- | grep -q "QR-Code:${INPUT}" || exit 1
convert -background white -fill black -font "$FONT" -pointsize 4 -interline-spacing -1 label:"$(./../../qr -li "$INPUT")" png:- | zbarimg -q png:- | grep -q "QR-Code:$INPUT" || exit 1
], [0], [], [])
AT_CLEANUP

## 7
AT_SETUP([generates proper QR Code using large compact blocks])
AT_CHECK_UNQUOTED([
convert -background black -fill white -font "${FONT}" -pointsize 4 -interline-spacing -1 label:"$(./../../qr -lc "${INPUT}")" png:- | zbarimg -q png:- | grep -q "QR-Code:${INPUT}" || exit 1
convert -background black -fill white -font "$FONT" -pointsize 4 -interline-spacing -1 label:"$(./../../qr -lc "$INPUT")" png:- | zbarimg -q png:- | grep -q "QR-Code:$INPUT" || exit 1
], [0], [], [])
AT_CLEANUP

## 8
AT_SETUP([generates proper QR Code using large compact blocks and inverted colors])
AT_CHECK_UNQUOTED([
convert -background white -fill black -font "${FONT}" -pointsize 9 -interline-spacing -1 label:"$(./../../qr -lci "${INPUT}")" png:- | zbarimg -q png:- | grep -q "QR-Code:${INPUT}" || exit 1
convert -background white -fill black -font "$FONT" -pointsize 9 -interline-spacing -1 label:"$(./../../qr -lci "$INPUT")" png:- | zbarimg -q png:- | grep -q "QR-Code:$INPUT" || exit 1
], [0], [], [])
AT_CLEANUP

## 9
AT_SETUP([generates proper QR Code with default settings using stdin])
AT_CHECK_UNQUOTED([
convert -background black -fill white -font "${FONT}" -pointsize 9 -interline-spacing -1 label:"$(echo "${INPUT}" | ./../../qr)" png:- | zbarimg -q png:- | grep -q "QR-Code:${INPUT}" || exit 1
convert -background black -fill white -font "$FONT" -pointsize 9 -interline-spacing -1 label:"$(echo "$INPUT" | ./../../qr)" png:- | zbarimg -q png:- | grep -q "QR-Code:$INPUT" || exit 1
], [0], [], [])
AT_CLEANUP

## 10
AT_SETUP([fails to generate an empty QR Code])
AT_CHECK_UNQUOTED([./../../qr ""], [1], [], [\
AT_CHECK_UNQUOTED([../../qr ""], [1], [], [\
Error: no input specified

Usage: qr [[OPTIONS]] [[STRING]]
Expand Down Expand Up @@ -120,7 +120,7 @@ AT_CLEANUP

## 12
AT_SETUP([prints help information when help flag is set])
AT_CHECK_UNQUOTED([./../../qr -h], [0], [\
AT_CHECK_UNQUOTED([../../qr -h], [0], [\
Usage: qr [[OPTIONS]] [[STRING]]
or: cat FILE | qr [[OPTIONS]]

Expand All @@ -143,13 +143,13 @@ AT_CLEANUP

## 13
AT_SETUP([prints version informaton when version flag is set])
AT_CHECK_UNQUOTED([./../../qr -V], [0], [qr 2.0.0
AT_CHECK_UNQUOTED([../../qr -V], [0], [qr 2.0.0
], [])
AT_CLEANUP

## 14
AT_SETUP([fails if the input is too long])
AT_CHECK_UNQUOTED([./../../qr "${EXTRA_LONG_INPUT}"], [1], [], [\
AT_CHECK_UNQUOTED([../../qr "${EXTRA_LONG_INPUT}"], [1], [], [\
Error: failed to generate QR code
])
AT_CLEANUP

0 comments on commit fdd67fe

Please sign in to comment.