subcomponent 0.1.0

A components orchestrator
# Subcomponent Tests

Subcomponent is unit-tested on its compiler only. The compiler generates a
configuration database that is then used to for the nominal use of
subcomponent.  Other than its compiler, which is fairly self-contained,
Subcomponent is too complex (because it relies on third-party programs,
manipulates the filesystem, ...) to be unitarily tested.

Tests are divided into two parts:
- `cargo` unit tests, to check the internals of the compiler
- system tests to check some nominal use cases of subcomponent as well as some
  corner cases we thought of.


## A word about unit tests

Unit tests are done using `cargo`, which is necessary to build subcomponent.
So, you should already have cargo installed, and you can run the tests:

```bash
cargo test
```

Details about unit tests are available in the `README.md` files that reside
in the unit tests folders:
- `lexer/`
- `parser/`


## A word about system tests

System tests rely on RobotFramework (http://robotframework.org/). You need to
have the `robot` command available in your *PATH* to run the tests. You will
also need third-party tools that subcomponent itself uses:
- `git`.

## Running all the tests

From the `tests/` directory, run `make`.