Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
45 changes: 45 additions & 0 deletions .github/workflows/test.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
name: Python package

on: [push, pull_request]

jobs:
build:

runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.8"]
# python-version: ["3.7", "3.8", "3.9", "3.10"]

steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install flake8 pytest wheel
cat autoptsclient_requirements.txt | xargs -n 1 pip install || true
cat autoptsserver_requirements.txt | xargs -n 1 pip install || true
pip install -U -e .
- name: Compile
run: |
python -m py_compile autoptsserver.py
python -m py_compile autoptsclient_bot.py
- name: Lint with flake8
run: |
# stop the build if there are Python syntax errors or undefined names
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
- name: Test with pytest
run: |
pytest ./test/unittests.py
- name: Test MMI parser
run: |
./test/test-mmi-parser.py
# - name: Style check
# run: |
# ./test/stylecheck.py
7 changes: 3 additions & 4 deletions test/stylecheck.py
Original file line number Diff line number Diff line change
Expand Up @@ -47,17 +47,16 @@ def run_checks(py_files):
try:
subprocess.check_output(shlex.split(cmd), stderr=subprocess.STDOUT)
except subprocess.CalledProcessError as exc:
print("\nCheck failed:\n", exc.output)
print("\nCheck failed:\n", exc.output.decode("utf-8"))
sys.exit(1)


def main():
top_level = subprocess.check_output(
"git rev-parse --show-toplevel", shell=True).strip()
os.chdir(top_level)
files = subprocess.check_output("git ls-files", shell=True)
py_files = [
fl for fl in files.splitlines() if os.path.splitext(fl)[1] == ".py"]
files = subprocess.check_output("git ls-files", shell=True).decode("utf-8")
py_files = [fl for fl in files.splitlines() if fl.endswith(".py")]

run_checks(py_files)

Expand Down
10 changes: 10 additions & 0 deletions test/unittests.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
import unittest


class MyTestCase(unittest.TestCase):
def test_something(self):
self.assertEqual(True, True) # add assertion here


if __name__ == '__main__':
unittest.main()