avocado/runtime.py: add runtime configuration module

Simple namespace for storing configurations that will affect
the avocado runtime, including the test runner and standard
API behavior.

Signed-off-by: Cleber Rosa <crosa@redhat.com>
GDB: introduce gdbmi parser from the pygdb project

Even though pygdb seems to be dead as a project, the MI language
parser is useful and much better than what I was cooking.

Signed-off-by: Cleber Rosa <crosa@redhat.com>
GDB: introduce gdb.py module

Test module provides utilities that eases the interaction with a GDB instance,
using the Machine Interface (MI) as a basis for communication.

Signed-off-by: Cleber Rosa <crosa@redhat.com>
gdbtest: introduce new test

This test fires a GDB instance, sends both valid and invalid commands,
runs a couple of binaries, setting breakpoints, catching signals and
generating core dumps.

Signed-off-by: Cleber Rosa <crosa@redhat.com>
avocado/plugins/gdb.py: plugin that enables GNU Debugger features

Such as the ability to run any number of applications inside the
debugger transparently.

Signed-off-by: Cleber Rosa <crosa@redhat.com>
job runtime: set the currently running test

So that other parts of the framework may act upon it if necessary.

Signed-off-by: Cleber Rosa <crosa@redhat.com>
avocado/utils/process.py: add transparent support for GDB

With current functionality being that it generates core dumps for
apps that receive such a signal.

Signed-off-by: Cleber Rosa <crosa@redhat.com>