etest 0.3.0

Allows to control behaviour of `#[test]` like functions
Documentation
[![crates.io][crates-badge]][crates-url]
[![docs.rs][docs-badge]][docs-url]
[![Coverage Status][coveralls-badge]][coveralls-url]
[![Build Status][ci-badge]][ci-url]

[crates-badge]:    https://img.shields.io/crates/v/etest.svg
[crates-url]:      https://crates.io/crates/etest
[docs-badge]:      https://img.shields.io/docsrs/etest/latest
[docs-url]:        https://docs.rs/etest/latest/etest/index.html
[coveralls-badge]: https://coveralls.io/repos/github/ensc/etest/badge.svg?branch=master
[coveralls-url]:   https://coveralls.io/github/ensc/etest?branch=master
[ci-badge]:        https://github.com/ensc/etest/actions/workflows/rust.yml/badge.svg
[ci-url]:          https://github.com/ensc/etest/actions/workflows/rust.yml

# About

`etest` allows to control behaviour of `#[test]` like functions:

- it allows to specify the maximum runtime of a test (`timeout` parameter)

- it allows to skip a test based on the result of another function
  (`skip_*` parameter class)

- it allows to limit parallel execution of tests by making it dependend
  on resources which are simply used ("shared" usage) or consumed for
  the duration of test ("exclusive" usage)

# Example

```rust
#[etest(skip=is_today_monday(),
        timeout=2_000,
        consumes=["video", "audio"],
        uses=["network"])]
fn test_00() {
    do_something();
}
```

This test will:

- be skipped at monday

- will be aborted after 2 seconds

- will use "video" and "audio" resources exclusively; e.g. there will
  be no other test running which uses one or both of these resources

- will share the "network" resource; e.g. other tests which share this
  resource are allowed at the same time, but no tests which use it
  exclusively.

# License

The code of the toplevel `etest` crate (content of `src` folder) is
licensed under LGPL-3.0-or-later with an exception which removes
restrictions regarding static linking.

Implementation details (crates in the `etest-derive` + `etest-impl`
folders) are licensed under GPL-3.0-or-later with the explicit
permission to use and distribute the generated code (the expanded
macro) under terms of your choice.

Independent tests (`etest-tests`) are licensed under GPL-3.0-or-later.