10 #ifndef __TEST_READ_COMMON_H__
11 #define __TEST_READ_COMMON_H__
18 #include "test-utils.h"
24 using abigail::ir::corpus_sptr;
37 const char* in_elf_path;
38 const char* in_suppr_spec_path;
39 const char* in_public_headers_path;
41 const char* in_abi_path;
42 const char* out_abi_path;
58 string in_suppr_spec_path;
59 string in_public_headers_path;
70 in_elf_path = in_elf_base + spec.in_elf_path;
80 if (spec.in_suppr_spec_path)
81 in_suppr_spec_path = in_elf_base + spec.in_suppr_spec_path;
83 in_suppr_spec_path.clear();
93 if (spec.in_public_headers_path)
94 in_public_headers_path = spec.in_public_headers_path;
95 if (!in_public_headers_path.empty())
96 in_public_headers_path = in_elf_base + spec.in_public_headers_path;
105 if (!spec.out_abi_path)
109 out_abi_path = out_abi_base + spec.out_abi_path;
113 string(
"Could not create parent directory for ") + out_abi_path;
124 in_abi_path = in_abi_base + spec.in_abi_path;
128 string& a_out_abi_base,
129 string& a_in_elf_base,
130 string& a_in_abi_base);
145 typedef shared_ptr<test_task> test_task_sptr;
165 display_usage(
const string& prog_name, ostream& out);
168 parse_command_line(
int argc,
char* argv[],
options& opts);
173 string& a_out_abi_base,
174 string& a_in_elf_base,
175 string& a_in_abi_base);
177 run_tests(
const size_t num_test,
const InOutSpec* specs,
178 const options& opts, create_new_test new_test);
184 #endif //__TEST_READ_COMMON_H__
This file contains the declarations of the entry points to de-serialize an instance of abigail::trans...
type_id_style_kind
The style of type id the XML writer will output.
bool set_out_abi_path()
A setter for `out_abi_path` field. The `out_abi_path` is the full path for output of abixml file...
test_task(const InOutSpec &s, string &a_out_abi_base, string &a_in_elf_base, string &a_in_abi_base)
Constructor.
bool run_abidw(const string &extargs="")
Spawn `abidw –abidiff` tool appending extargs argument.
void set_in_suppr_spec_path()
A setter for `in_suppr_spec_path` field. The `in_suppr_spec_path` is the full path for suppression en...
Toplevel namespace for libabigail.
This file declares an interface for the worker threads (or thread pool) design pattern. It aims at performing a set of tasks in parallel, using the multi-threading capabilities of the underlying processor(s).
Types of the main internal representation of libabigail.
bool run_diff()
Spawn external `diff` command.
This represents a task to be performed.
void set_in_abi_path()
A setter for `in_abi_path` field. The `in_abi_path` is the full path for the expected abixml file...
The task that performs the tests.
void set_in_elf_path()
A setter for `in_elf_path` field. The `in_elf_path` is the full path for input object in the tests co...
An abstraction for valid test options.
void set_in_public_headers_path()
A setter for `in_public_headers_path` field. The `in_public_headers_path` is the full path for header...
This is an aggregate that specifies where a test shall get its input from, and where it shall write i...
bool serialize_corpus(const string &out_abi_path, corpus_sptr corp)
Serialize the abixml out_abi_path file.