Exemplo n.º 1
0
def trace_cgc_with_pov_file(binary: str,
                            test_name: str,
                            pov_file: str,
                            output_initial_bytes: bytes,
                            copy_states=False,
                            read_strategies=None,
                            write_strategies=None,
                            add_options=None,
                            remove_options=None):
    assert os.path.isfile(pov_file)
    pov = load_cgc_pov(pov_file)
    trace_result = tracer_cgc(binary,
                              test_name,
                              b''.join(pov.writes),
                              copy_states,
                              read_strategies=read_strategies,
                              write_strategies=write_strategies,
                              add_options=add_options,
                              remove_options=remove_options)
    simgr = trace_result[0]
    simgr.run()
    assert "traced" in simgr.stashes
    assert len(simgr.traced) == 1
    stdout_dump = simgr.traced[0].posix.dumps(1)
    assert stdout_dump.startswith(output_initial_bytes)
Exemplo n.º 2
0
def trace_cgc_with_pov_file(binary: str, test_name: str, pov_file: str, output_initial_bytes: bytes, copy_states=False):
    nose.tools.assert_true(os.path.isfile(pov_file))
    pov = load_cgc_pov(pov_file)
    trace_result = tracer_cgc(binary, test_name, b''.join(pov.writes), copy_states)
    simgr = trace_result[0]
    simgr.run()
    nose.tools.assert_true("traced" in simgr.stashes)
    nose.tools.assert_equal(len(simgr.traced), 1)
    stdout_dump = simgr.traced[0].posix.dumps(1)
    nose.tools.assert_true(stdout_dump.startswith(output_initial_bytes))