tree 180295f22b30eaf0d5338439d403de8eaea723d8
parent 4691c75e144d6e30576eed02bea857acb47e9535
parent 189e57b97df2fc416027ec44bb19ea427958f411
author bors[bot] <26634292+bors[bot]@users.noreply.github.com> 1585085630 +0000
committer GitHub <noreply@github.com> 1585085630 +0000
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJeeny+CRBK7hj4Ov3rIwAAdHIIAB0hS+uuVunZhMaj1/kudgZr
 OTMm6MtE5jV35SpOFjuw1k/zYEW5dlI8GHOxauGslyQhXCfq44BwWxxJkrEKVocR
 yksJHFg8HTOZFKkjPiSp8G4aqA/1SQj2EmTYoWzcZCwpaSjyZ657aMEedwpHiIkl
 sT+j4rS5HhjV2UGmamZIvQ8UdJcMXujtT/Zx+b1Rf5jYVI1FpZ/W/QlmVoT5dIQO
 59bPBBF91RCa0kQPqZ2JuFK08PaXO2GF6zzNR3Oj7FCZA9EUU7nvdJFNPyp7pNPc
 d3VMN7Dss9O9L1FymnTlxVA9EaZW9L9bnfFC0Z25P3Y1+48Fmy93tCssuzNUkbk=
 =YLfY
 -----END PGP SIGNATURE-----
 

Merge #158

158: Create test runner to run integration tests in qemu r=torfmaster a=torfmaster

This PR proposes a test runner written in rust. The goal is to have the following improvements over the previous solution using single a command line call:

 * it should time out transparently and signal that it has timed out
 * it should note that tests failed
 * it shouldn't be too fragile (e.g. changing output from the kernel should not break the test)
 * it should note that test were not executed

Currently the code is a PoC and for example the tests in the example crate and in this crate could be connected so that the information which tests exist isn't duplicated (and tests are not forgotten).

I'm just gathering hints what a robust test runner could look like so any feedback is welcome!

Co-authored-by: torfmaster <briefe@kebes.de>
