#section #python #comments #synthesis #analysis #cc #parser

bin+lib thinline

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

6 releases

Uses old Rust 2015

0.3.1 Oct 11, 2018
0.3.0 Oct 3, 2018
0.2.1 Sep 23, 2018
0.1.1 Sep 23, 2018

#462 in Testing

Apache-2.0 and GPL-3.0+

58KB
1K SLoC

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

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

Dependencies

~10–20MB
~230K SLoC