What I just pushed

VTWebCatCLI 1.1.2 is tagged and has a GitHub release now! It is a local checker you run before you submit a Java assignment to Web-CAT at Virginia Tech. The code is at https://github.com/kleinpanic/VTWebCatCLI and the release is at https://github.com/kleinpanic/VTWebCatCLI/releases.

It started as 1.0.0 and went through 1.1.0 and 1.1.1 before this tag. This is the first one I tagged. The release has one file, webcatcli-1.1.2.tar.gz, and a workflow builds it.

What it checks

It builds a minimal Maven pom.xml with JUnit 4 and JaCoCo on the fly. With --run-tests it runs mvn clean verify, prints the JUnit results as a tree, and demands 100 percent method and branch coverage. It prints the gaps. When it exits, or when you hit Ctrl-C, it cleans up the files it made.

How it works

It is one Python file, WebcatCLI.py, 690 lines. A man page and shell completion sit in doc/, and the rules are in templates/CS2114.rules.json. You need Python 3.6 or newer. --run-tests also needs Java 8 or newer and Maven. The license is MIT.

git clone https://github.com/kleinpanic/VTWebCatCLI
cd VTWebCatCLI
chmod +x WebcatCLI.py
python WebcatCLI.py --run-tests /path/to/project

Add the folder to your PATH to run it from anywhere.

What it is not

It is not a replacement for the official Web-CAT report. It is a preflight check. The README says the same thing: it is not a complete replacement for the official report yet.

P.S Thanks for reading. Consider subbing to the RSS feed.
Klein Panic