10 #ifndef __TEST_READ_COMMON_H__
11 #define __TEST_READ_COMMON_H__
19 #include "test-utils.h"
25 using abigail::ir::corpus_sptr;
38 const char* in_elf_path;
39 const char* in_suppr_spec_path;
40 const char* in_public_headers_path;
42 const char* in_abi_path;
43 const char* out_abi_path;
59 string in_suppr_spec_path;
60 string in_public_headers_path;
72 in_elf_path = in_elf_base + spec.in_elf_path;
82 if (spec.in_suppr_spec_path && strcmp(spec.in_suppr_spec_path,
""))
83 in_suppr_spec_path = in_elf_base + spec.in_suppr_spec_path;
85 in_suppr_spec_path.clear();
95 in_public_headers_path.clear();
96 if (spec.in_public_headers_path)
97 in_public_headers_path = spec.in_public_headers_path;
98 if (!in_public_headers_path.empty())
99 in_public_headers_path = in_elf_base + spec.in_public_headers_path;
111 in_options = spec.options;
120 if (!spec.out_abi_path)
124 out_abi_path = out_abi_base + spec.out_abi_path;
128 string(
"Could not create parent directory for ") + out_abi_path;
139 in_abi_path = in_abi_base + spec.in_abi_path;
143 string& a_out_abi_base,
144 string& a_in_elf_base,
145 string& a_in_abi_base);
160 typedef shared_ptr<test_task> test_task_sptr;
180 display_usage(
const string& prog_name, ostream& out);
183 parse_command_line(
int argc,
char* argv[],
options& opts);
188 string& a_out_abi_base,
189 string& a_in_elf_base,
190 string& a_in_abi_base);
192 run_tests(
const size_t num_test,
const InOutSpec* specs,
193 const options& opts, create_new_test new_test);
199 #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).
void set_in_options()
A setter for the in_options field.
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.