deepstate icon indicating copy to clipboard operation
deepstate copied to clipboard

Define a testing workflow similar to orthrus

Open neuromancer opened this issue 6 years ago • 1 comments

https://github.com/test-pipeline/orthrus

neuromancer avatar Dec 26 '19 13:12 neuromancer

Cool recommendation!

One thing that kind of works towards improving the workflow aspect of the framework is with how we manage parsing configurations by including a reserved manifest section, which can define steps that can be used to provision an environment (ie installing particular dependencies, and performing necessary build-related commands):

[manifest]
name = MyTest
executor = afl

provision_steps = [
    "mkdir build/ && cd build/",
    "cmake ..",
    "make"]

[compile]
compile_test = Test.cpp
compiler_args = -fsanitize=address -I../cpp -I../include -L../build
out_test_name = test

[test]
input_seeds = input
output_test_dir = out

timeout = 3600
num_workers = 2
mem_limit = 100

At the current moment, DeepState does not really care about manifest, but does recognize it part of the configuration parser routine. It is more for an auxiliary orchestrator to use when building tests for cloud and/or container fuzzing. In the future, it would definitely be nice to have something similar to the orthrus pipeline where we can run different "execution components" of the test (ie run provisioning and compilation, but not actually fuzz/symbolically execute), and with a more robust and modern configuration to be consumed (ie YAML).

ex0dus-0x avatar Dec 28 '19 15:12 ex0dus-0x