A versatile Go-based tool to compile, execute, and verify the output of source code files written in multiple programming languages — Go, C++, Rust, Java, and Python — against expected outputs.
- Automatic language detection based on source file extension
- Supports compilation and execution for:
- Go (
.go) - C++ (
.cpp,.cc,.cxx) - Rust (
.rs) - Java (
.java) - Python (
.py)
- Go (
- Input/output redirection from/to files
- Compares actual output with expected output and shows colorful, aligned diffs in terminal
- Optional build directory cleanup (
--cleanup) - Verbose logging for debugging (
--verbose) - Stores compiled binaries/class files inside a
buildfolder
go build -o cf-runner main.go
sudo mv ./cf-runner /usr/bincf-runner [--cleanup] [--verbose] <source_file> <input_file> <output_file> <expected_output_file>
