#!/bin/sh # # Copyright 2017-2019 Lars Wirzenius # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. # # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . set -eu title() { printf "\n" echo "$@" n=77 for i in $(seq $n); do printf "%s" - done printf '\n' } title Remote yarns? local=yes yarns=no if [ "$#" -gt 0 ]; then case "$1" in https://*) local=no yarns=yes remote_url="$1" shift 1 ;; *) echo "Don't understand args: $*" 1>&2 exit 1 ;; esac fi if [ "$local" = yes ]; then title Unit tests python3 -m CoverageTestRunner --ignore-missing-from=without-tests ick2 if [ -e .git ]; then sources="$(git ls-files | grep -Fvxf copyright-exceptions)" # title Copyright statements # copyright-statement-lint $sources title Copyright licences ./is-agpl3+ $sources fi python_sources="ick_controller.py worker_manager ick2 icktool" # title pycodestyle # pycodestyle ick2 $python_sources # if command -v pylint3 > /dev/null # then # title pylint3 # pylint3 --rcfile pylint.conf $python_sources # fi fi if [ "$yarns" = yes ]; then title Yarns yarn yarns/*.yarn \ --shell python2 \ --shell-arg '' \ --shell-library yarns/lib.py \ --cd-datadir \ --env "CONTROLLER=$remote_url" \ --env "SECRETS=$HOME/.config/qvarn/createtoken.conf" \ "$@" fi title OK echo "All tests pass"