thinline 0.3.1

A parser and builder for function-unittests written in comment sections for C-language family & python.

Travis Status Appveyor Status Test Coverage Documentation License Apache 2


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, the official rust crate registry.

cargo install thinline

Manual installation

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:

    thinline [FLAGS] [OPTIONS] <SOURCE-DIR> --language <LANGUAGE>

    -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 exexcuting 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).

    -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]

    <SOURCE-DIR>    The directory where the sources for test-extraction are located