summaryrefslogtreecommitdiff
path: root/README.md
blob: b2f6e03900f1eb8b5d10994c97f01571ca3e542e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
# Subplot

Capture and communicate acceptance criteria for software and systems,
and how they are verified, in a way that's understood by all project
stakeholders.

**Status:** Subplot is very much not finished and is not usable yet.
We're working on a minimum viable product which can be used for a
simple web API project.

## When all stakeholders really need to understand acceptance criteria

Subplot is a set of tools for specifying, documenting, and
implementing automated acceptance tests for systems and software.
Subplot tools aim to produce a human-readable document of acceptance
criteria and a program that automatically tests a system against those
criteria. The goal is for every stakeholder in a project to understand
the project’s acceptance criteria and how they’re verified.

See <https://subplot.liw.fi/> for the home page.

## Hacking Subplot

Subplot is written using the Rust programming language, so the usual
workflow for Rust applies. To build run `cargo build`, to run tests in
Rust run `cargo test`.

To run the whole test suite, including testing all examples and
Subplot self tests, run `./check` at the root of the source tree.

# Building Debian package

To build a subplot.deb package, run the `build-deb` script, on a
Debian machine with the necessary packages installed, in a git
checkout of the source tree:

~~~sh
$ ./build-deb /tmp/where/built/package/should/go
~~~

You'll need the following packages installed:

> build-essential
> git

Additionally, any packages reported by running the following command:

~~~sh
$ dpkg-checkbuilddeps
~~~

# Legalese

Copyright 2019-2020  Lars Wirzenius

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.