diff --git a/.github/workflows/ruby.yml b/.github/workflows/ruby.yml index 2307c29..e299ef1 100644 --- a/.github/workflows/ruby.yml +++ b/.github/workflows/ruby.yml @@ -16,10 +16,12 @@ on: jobs: test: - runs-on: ubuntu-latest + runs-on: ${{ matrix.os }} + strategy: matrix: ruby-version: ['2.6', '2.7', '3.0'] + os: [ubuntu-latest, macos-latest] steps: - uses: actions/checkout@v2 diff --git a/test/run b/test/run index 00f2630..26e5c00 100755 --- a/test/run +++ b/test/run @@ -1,6 +1,10 @@ #! /usr/bin/env bash -set -eEuCo pipefail +set -EuCo pipefail + +if [[ "${BASH_VERSINFO[0]}" -ge 4 ]]; then + set -e +fi declare RED=$'\033[31m' declare GREEN=$'\033[32m' @@ -53,7 +57,7 @@ function XFAIL() { echo "$RED" "FAIL$RESET - $* (unexpected success, ${BASH_SOURCE[1]}:${BASH_LINENO[0]})" >&2 else ret=$? - if [[ -v expected && $expected -ne $ret ]]; then + if [[ -n "$expected" && $expected -ne $ret ]]; then ((++ERRORS)) echo "$RED" "FAIL$RESET - $* (expected: $expected got $ret, ${BASH_SOURCE[1]}:${BASH_LINENO[0]})" >&2