initial commit

This commit is contained in:
Jeff Epler 2025-08-08 21:32:47 -05:00
commit 84cd5950c8
3 changed files with 89 additions and 0 deletions

3
.coveragerc Normal file
View file

@ -0,0 +1,3 @@
[run]
patch = subprocess
branch = true

60
.github/workflows/build.yml vendored Normal file
View file

@ -0,0 +1,60 @@
# SPDX-FileCopyrightText: 2021-2024 Jeff Epler
#
# SPDX-License-Identifier: CC0-1.0
name: Test wwvbgen
on:
push:
pull_request:
release:
types: [published]
check_suite:
types: [rerequested]
jobs:
test:
strategy:
fail-fast: false
matrix:
python-version:
- '3.13'
os-version:
- 'ubuntu-latest'
- 'windows-latest'
- 'macos-latest'
runs-on: ${{ matrix.os-version }}
steps:
- uses: actions/checkout@v4
with:
persist-credentials: false
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install deps
run: |
python -mpip install wheel
python -mpip install coverage
- name: Inspect system details
run: |
python -v -mcoverage --help
- name: Coverage
run: |
python -mcoverage run subfunctions.py 0 1 2
python -mcoverage combine
python -mcoverage xml --include "*.py"
python -mcoverage html --include "*.py"
python -mcoverage report --fail-under=90 --include "*.py"
- name: Upload Coverage as artifact
if: always()
uses: actions/upload-artifact@v4
with:
name: coverage for ${{ matrix.python-version }} on ${{ matrix.os-version }}
path: coverage.xml

26
subfunctions.py Normal file
View file

@ -0,0 +1,26 @@
import subprocess
import argparse
def f1():
print("function 1")
def f2():
print("function 2")
def f3():
print("function 3")
functions = [f1, f2, f3]
def main():
parser = argparse.ArgumentParser()
parser.add_argument("cases", nargs='+', type=int)
args = parser.parse_args()
if len(args.cases) > 1:
for c in args.cases:
subprocess.call(["python", __file__, f"{c}"])
else:
case = args.cases[0]
functions[case]()
if __name__ == '__main__':
main()