Files
fail/src/experiments/ecos_kernel_test/experiment.hpp
Horst Schirmeier 01e7f8c8a1 ecos: bugfix: cyg_test_output may be called before FI
This is a pretty old bug that unfortunately affects both DSN 2013 and
SOBRES 2013 results.

Change-Id: I64a2790a4d55515a23a34d108be99646d5dd345d
2013-07-03 13:46:55 +02:00

37 lines
1.2 KiB
C++

#pragma once
#include <string>
#include "efw/ExperimentFlow.hpp"
#include "efw/JobClient.hpp"
#include "util/Logger.hpp"
#include "sal/SALConfig.hpp"
class EcosKernelTestExperiment : public fail::ExperimentFlow {
fail::JobClient m_jc;
fail::Logger log;
std::string m_variant, m_benchmark;
public:
EcosKernelTestExperiment() : log("eCos Kernel Test", false) {}
bool run();
void parseOptions();
bool retrieveGuestAddresses(fail::guest_address_t addr_finish, fail::guest_address_t addr_data_start, fail::guest_address_t addr_data_end); // step 0
bool establishState(fail::guest_address_t addr_entry, fail::guest_address_t addr_finish, fail::guest_address_t addr_errors_corrected); // step 1
bool performTrace(fail::guest_address_t addr_entry, fail::guest_address_t addr_finish); // step 2
bool faultInjection(); // step 3
bool readELFSymbols(
fail::guest_address_t& entry,
fail::guest_address_t& finish,
fail::guest_address_t& test_output,
fail::guest_address_t& errors_corrected,
fail::guest_address_t& panic,
fail::guest_address_t& text_start,
fail::guest_address_t& text_end,
fail::guest_address_t& data_start,
fail::guest_address_t& data_end);
void handle_func_test_output(bool &test_failed, bool& test_passed);
};