A Python client for autograding Python, Scheme, and SQL files. Based on the OK autograding system
- Allow for ordinary function descriptions alongside
ok-disc
test cases within Python docstrings.
- Persistent sessions workaround
- Multi-line doctests now supported
- Fix correctness percentage calculation
- Add
--verbose
and--version
- Full Python, Scheme, and SQL compatibility
- Smart question ordering and seamless switching back and forth between consecutive questions in different languages
-q
command line flag- Windows compatibility
ok-disc
- Fix Python version compatability by forgoing compilation
- Instead, use
bombast
and send obfuscated source code - Converted all fstrings to
.format
's forbombast
to run properly
- Directory structure
src
: Source code files (e.g.mentor12.scm
)out
: Output folder containing source code file,ok
executable, and any necessary interpreters (to be zipped)zips
: Contains zips ready to be released
Makefile
- Updated
make build
to generateout
files - Added
make zip
target to compressout
into a zip - Updated
make clean
to conform to new directory structure (cleansout
folder) - Addded
make clean-zips
to remove generated zips
- Updated
- Scripts:
copy.sh
: Copies zip file to target destination in website repodeploy.sh
: Copies zip file to target destination in website repo and pushes a commit to redeploy website
- Ensure files in the current directory have not been renamed
- Fixed tabbing for multi-line erroneous output (resolved #9)
- Improved/more generalized doctest recognition
- Allow for question numbers like
Q1.5i
- Allow for question numbers like
python3 ok
now shows logs for the first failed test case if any failed (resolved #10)
- Get rid of String formatting entirely (Bold, Italics, End)
- For verbose output, print out the entire output at once instead of multiple
print
statements
- Add auto-download
scheme
executable from personal website- Add ssl certification
- Compile
ok.py
intook
executable to hide source code- Add Makefile to automate compilation
- Have verbose and non-verbose outputs match real
ok
's output exactly- Have non-verbose outputs display how many test cases passed (until first failed case if there is a failure)
- Generalize for Windows (
python
vspython3
, String formatting)
- Add
(load-all ".")
to check for unmatched parentheses
- First release
- Local autograding handled for
.scm
files