10#ifndef __TEST_READ_COMMON_H__
11#define __TEST_READ_COMMON_H__
18#include "test-utils.h"
24using 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);
145typedef shared_ptr<test_task> test_task_sptr;
173 string& a_out_abi_base,
174 string& a_in_elf_base,
175 string& a_in_abi_base);
178 const options& opts, create_new_test new_test);
Types of the main internal representation of libabigail.
This file declares an interface for the worker threads (or thread pool) design pattern....
This file contains the declarations of the entry points to de-serialize an instance of abigail::trans...
This represents a task to be performed.
type_id_style_kind
The style of type id the XML writer will output.
Toplevel namespace for libabigail.
This is an aggregate that specifies where a test shall get its input from, and where it shall write i...
An abstraction for valid test options.
The task that performs the tests.
bool serialize_corpus(const string &out_abi_path, corpus_sptr corp)
Serialize the abixml out_abi_path file.
test_task(const InOutSpec &s, string &a_out_abi_base, string &a_in_elf_base, string &a_in_abi_base)
Constructor.
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.
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...
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.
bool run_abidw(const string &extargs="")
Spawn `abidw –abidiff` tool appending extargs argument.
bool run_diff()
Spawn external `diff` command.
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...
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...
bool run_tests(const size_t num_tests, const InOutSpec *specs, const options &opts, create_new_test new_test)
The main entry point to execute the testsuite.
bool parse_command_line(int argc, char *argv[], options &opts)
Parse and process test options.
void display_usage(const string &prog_name, ostream &out)
Write the usage message to out stream object.