Thinline is a project for handling and executing unittests written in function comment sections for C/C++ & Python. It's currently under development, analysis works partially but the synthesis part won't work right now.
To use thinline you need a valid Rust installation and its package manager cargo. Depending on your OS you can install them via the package manager you like the most. Besides this you can use rustup if you want but keep in mind that this can conflict with already existing installations of rust, so uninstall them first.
Besides this thinline uses the rust clang implementation, so please make sure to also fulfill its requirements.
Thinline is available on crates.io, the official rust crate registry.
cargo install thinline
Just clone this repo and then this simple installation command should be enough:
cargo install
The usage of the CLI-tool is basically simple, thinline --help
prints the usage:
USAGE:
thinline [FLAGS] [OPTIONS] <SOURCE-DIR> --language <LANGUAGE>
FLAGS:
-b, --build Executes the build script steps given in the project thinline setting file.
-d, --dry-run Creates only the test files in the target projects `.thinline` folder without
executing them.
-h, --help Prints help information
-q, --quiet Does not print any console logs.
-V, --version Prints version information
-v Set the verbosity level (`v` -> DEBUG, `vv` -> TRACE).
OPTIONS:
-l, --language <LANGUAGE> Specifies the language of the target project.
[possible values: c, cpp, python]
-p, --project-config <YAML_FILE> The name of the yaml file where the project parameters for
thinline are stored. This file has to be at <SOURCE-DIR>.
[default: .thinline.yml]
ARGS:
<SOURCE-DIR> The directory where the sources for test-extraction are located