Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat/fix: Add Additional Testing Files and Fix the Coverage Menu for Execexam #38

Merged
merged 70 commits into from
Nov 11, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
70 commits
Select commit Hold shift + click to select a range
ac57869
feat: Added a testing coverage to the pyproject.toml
rebekahrudd Sep 12, 2024
63da4c5
feat add testing for enumeration
hannahb09 Sep 19, 2024
ae45aa2
add(tests): added test suites to test pytest_plugin.py.
Chezka109 Sep 20, 2024
b876aef
Merge branch 'main' of github.com:PCain02/execexam into testing
Chezka109 Sep 20, 2024
34dc9c4
Merge branch 'testing' of github.com:PCain02/execexam into testing
Chezka109 Sep 20, 2024
459ca6d
fix: test cases in test_pytest_plugin.py
rebekahrudd Sep 20, 2024
52356a1
fix: made edits in assert lines test_pytest_plugin.py
rebekahrudd Sep 20, 2024
4fcff73
Merge branch 'main' of github.com:PCain02/execexam into testing
Chezka109 Sep 20, 2024
8759c61
Merge branch 'testing' of github.com:PCain02/execexam into testing
Chezka109 Sep 20, 2024
cfa71c3
feat(README): badges for coverage and maintenance added, as well as l…
Chezka109 Sep 20, 2024
4e54de8
moving badges feature to infrastructure branch
Chezka109 Sep 23, 2024
3e38ce7
feat(README): added dynamic coverage badge and maintenance badge
Chezka109 Sep 23, 2024
93e8a22
add(badges): added dynamic version badge
Chezka109 Sep 23, 2024
b4be2f6
add(badges): added a build status badge
Chezka109 Sep 23, 2024
16c09a7
fix(gitingnore): removed some stuff so that the version badge works
Chezka109 Sep 23, 2024
7a1f294
fix(README): removed build status badge
Chezka109 Sep 23, 2024
6b94d08
test: added a pytest command to build.yml
rebekahrudd Sep 23, 2024
e2a110d
Chore: Bump version to 0.3.38
Chezka109 Sep 23, 2024
b73d6fa
Chore: Bump version to 0.3.39
Chezka109 Sep 23, 2024
c6ce071
Merge branch 'main' of github.com:PCain02/execexam into testing
rebekahrudd Sep 24, 2024
b84bef0
feat: add testing coverage for main.py
hannahb09 Sep 26, 2024
0b8a4cb
feature: added testing for main.py
hannahb09 Sep 26, 2024
3ea8d07
feat: testing added to test_dipslay.py
Coltin2121 Sep 26, 2024
c05df9e
fix: automated badges to use CI workflow
Chezka109 Sep 26, 2024
9983819
Chore: cleaned up the directory
Chezka109 Sep 26, 2024
4e293a4
chore: ixed exit codes in execexam/util.py
Chezka109 Sep 26, 2024
7e390f1
fix: moved ci.yml into build.yml and moved badges.py to a folder name…
Chezka109 Sep 26, 2024
bbe302b
chore: fix testing bug
hannahb09 Sep 26, 2024
d8f1baf
feat: started working to fix all text cases so they run
dyga01 Sep 28, 2024
47cf433
fix(tests): worked to fix all tests so that they can pass
dyga01 Sep 30, 2024
dba593b
test: testing added in test_display.py for display_advice and get_dis…
Coltin2121 Oct 2, 2024
cba6073
chore: added a file for test_debug.py
hannahb09 Oct 2, 2024
bdc6074
fix(cli.py): worked to delete the cli.py file
dyga01 Oct 2, 2024
6172926
feat(test_debug.py): worked to add tests for debug file
dyga01 Oct 2, 2024
90f14e8
feat(test_pytest_plugin.py): worked to add tests for the pytest plugin
dyga01 Oct 2, 2024
f233583
feat: added docstrings to all testing functions
dyga01 Oct 2, 2024
640736a
fix: formatted all the code with ruff
dyga01 Oct 2, 2024
0830044
fix(poetry.lock): updated the poetry.lock file
dyga01 Oct 2, 2024
be1cc56
fix(build.yml): have the build run the fuzzy tests
dyga01 Oct 2, 2024
c620d83
fix(build.yml): added the correct commands for running tests
dyga01 Oct 2, 2024
3f6b923
fix: failing build
Chezka109 Oct 16, 2024
f6727bc
fix: failing build
Chezka109 Oct 16, 2024
b0061f3
fix
Chezka109 Oct 16, 2024
427104d
fix(pyproject.toml): adjusted the command that is run to only run cov…
dyga01 Oct 16, 2024
fb863c5
feat(.coveragerc): excludes files that have no test cases from the co…
dyga01 Oct 16, 2024
46c26e4
fix(.coveragerc): fully fixed the .coveragerc file to report accurate…
dyga01 Oct 17, 2024
0bfc087
fix(test_display.py): improved the coverage for this file
dyga01 Oct 17, 2024
5ed5a48
fix(test_display): fix test_display and add test cases to test_main
dyga01 Oct 18, 2024
9d9c3cc
Testing: test_advise.py validate_url and check_advise_model.
Coltin2121 Oct 22, 2024
bcd655d
fix failing build
Chezka109 Oct 22, 2024
c2f4e5b
fix
Chezka109 Oct 22, 2024
9db3de7
check
Chezka109 Oct 22, 2024
ce7e1c8
feat(test_main): worked to add initial testing in test_main.py
dyga01 Oct 22, 2024
66f7bb2
fix(test_main): fixed test_main to use subprocesses to run commands
dyga01 Oct 23, 2024
947d5ed
fix: file locations
Chezka109 Oct 24, 2024
cb8de4d
fix: file locations
Chezka109 Oct 24, 2024
6c5a3ba
fix: trying to fix failing build
Chezka109 Oct 24, 2024
5a95c75
fiz: removed the Commit Badge
Chezka109 Oct 24, 2024
ccfc020
Merge branch 'main' into coverage_menu_fixes
dyga01 Oct 24, 2024
323ba94
fix: test_advise.py
hannahb09 Oct 24, 2024
0a963ec
add/fix: added comments in build.yml and fixed the test_util.py file
Chezka109 Oct 25, 2024
302fec8
Merge branch 'new-infrastructure_badges' into coverage_menu_fixes
dyga01 Oct 28, 2024
1c6cc92
fix(test_main.py): debug windows error
dyga01 Nov 6, 2024
f981cbf
fix: test_main.py so it works on Windows
PCain02 Nov 7, 2024
237b5a5
lint: test_main.py
PCain02 Nov 7, 2024
d0e9ccd
lint: test_main.py
PCain02 Nov 7, 2024
b149db0
lint lint tests/test_main.py
PCain02 Nov 7, 2024
8f49cd1
lint: test_main.py
PCain02 Nov 7, 2024
a8ba404
feat: add no_print marker to pytest.ini
PCain02 Nov 7, 2024
88f69c7
lint: ruff lint test_main.py
PCain02 Nov 7, 2024
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
8 changes: 8 additions & 0 deletions .coveragerc
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
[coverage:report]
skip_empty = true
[run]
relative_files=true
source=./execexam
[json]
show_contexts=True
pretty_print=True
85 changes: 40 additions & 45 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
# Basic workflow
name: build

# Use more columns for terminal output
Expand Down Expand Up @@ -39,50 +38,46 @@ jobs:
python-version: "3.12"
- os: windows-latest
python-version: "3.12"

# Define the workflow steps
steps:
# Checkout the code of the repository
- name: Check out Repository Code
uses: actions/checkout@v3
with:
fetch-depth: 0
# Setup Python for the current language version
- name: Setup Python ${{ matrix.python-version }}
if: always()
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
# Install pip
- name: Install Pip
if: always()
run: |
python -m pip install --upgrade pip
# Install poetry
- name: Install Poetry
if: always()
uses: abatilo/[email protected]
with:
poetry-version: 1.8.3
# Install dependencies
- name: Install dependencies
if: always()
run: |
poetry install
# Run the linters
- name: Run Linters
if: always()
run: |
# install ruff directly instead of managing
# it as a dependency with Poetry since ruff
# does not (always) install correctly
# through Poetry on NixOS
pipx install ruff
poetry run task lint
# Run the tests
- name: Run Tests
if: always()
run: |
# do not run the Hypothesis-based fuzz tests
# because they sometimes take longer to run
# on Windows and MacOS and this creates errors
poetry run task test-not-fuzz
- name: Check out Repository Code
uses: actions/checkout@v3
with:
fetch-depth: 0
# Setup Python for the current language version
- name: Setup Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
# Install pip
- name: Install Pip
run: |
python -m pip install --upgrade pip
# Install poetry
- name: Install Poetry
uses: abatilo/[email protected]
with:
poetry-version: 1.8.3
# Install dependencies
- name: Install dependencies
run: |
poetry install
# Run the linters
- name: Run Linters
run: |
pipx install ruff
poetry run task lint
# Run the tests
- name: Run Tests
run: |
poetry run task test-not-fuzz
# Run the tests and coverage
- name: Run Tests and Generate Coverage
run: |
poetry run pytest -s --cov=my_package --cov-report json:coverage.json
# Generate badges
- name: Generate Coverage and Version Badges
run: |
poetry run python scripts/badges.py
13 changes: 1 addition & 12 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -355,18 +355,6 @@ Temporary Items
# .txt files
*.txt

# pytest-cov htmlcov
htmlcov

# coverage report
.coveragereport.json

# coverage report
coverage.txt

# coverage report
coverage.json

# bash command history
.bash_history

Expand All @@ -375,3 +363,4 @@ credentials.json

# poetry.toml file
poetry.toml

7 changes: 7 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
# 🚀 ExecExam

<img src="https://i.ibb.co/vzjX7p2/exe.png" alt="logo" height="500">

[![coverage](https://img.shields.io/badge/coverage-20.86%25-brightgreen)](https://github.com/GatorEducator/execexam/actions)
[![Static Badge](https://img.shields.io/badge/Maintained%3F-yes-orange)](https://github.com/GatorEducator/execexam/commits/main/)
![version](https://img.shields.io/badge/version-0.3.0-blue)


ExecExam is a powerful tool that runs executable examinations in which a
student provides solutions to programming problems that are checked by Pytest
test suites. If you are a computer science or software engineering instructor
Expand Down
Loading
Loading