Skip to content

Handle and execute unittests written in function comment sections for C/C++ & Python

License

Notifications You must be signed in to change notification settings

Drogglbecher/thinline

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Travis Status Appveyor Status Test Coverage Documentation Crates.io License Apache 2

Description

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.

Installation

Requirements

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.

crates.io

Thinline is available on crates.io, 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

CLI-Usage

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