Use graphics ports manifest entries to decide whether jobs should be run
Instead of relying on the display resource job (that relies on
xrandr/gnome-randr to determine heuristically support for different
connectors), use manifest entries to determine if the monitor and audio
jobs should be run at all. Since manifest entries are decided manually
at the beginning of a test session, it will be more accurate.
Some very old jobs (monitor/{index}_svideo_{product_slug} and
monitor/{index}_rca_{product_slug}) that are not used in our current
test plans are kept, but the requirement on the display resource job is
removed so the display resource job can be removed entirely.
In addition, now that there is a dedicated manifest to handle video
output through the USB Type-C connector, a lot of jobs are updated to use
it instead of the older `has_usb_type_c`.
Some devices under test (DUT) have one or more USB Type-C connectors.
Some of these connectors offer direct HDMI/DisplayPort outputs if user
has an appropriate cables, while for others, a USB Type-C to
HDMI/DisplayPort adapter can be used to connect the DUT to an external
monitor.
For these cases, a new manifest (`has_usbc_video`) is created.
The old one, `has_usb_type_c`, is renamed `has_usbc_data` as it's used
for all tests related to data, be it USB drives, Ethernet adapters or
HID (keyboard, etc.).
metabox: fix container creation (and other various fixes) (#272)
* metabox: add origin in string representation
MachineConfig.__str__() is used as the container's name when creating
it. Some scenarios could use the same role and alias, but different
origin. In that case, metabox would fail when trying to create a
container that already exists.
Adding the origin to the MachineConfig string representation prevents
this.
* metabox: change origin naming from `classic_snap` to `classic-snap`
LXC container name can only include alphanumeric characters and
hyphens.[1]
Since origin is used in the MachineConfig string representation, and
since this is in turn used when creating the container, the underscore
is replaced with an hyphen.