diff --git a/tc/apparmor-bluez.yaml b/tc/apparmor-bluez.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..f0aa3ea24019e73aa6237e6c0daa004a9850d849
--- /dev/null
+++ b/tc/apparmor-bluez.yaml
@@ -0,0 +1,43 @@
+metadata:
+  name: apparmor-bluez
+  format: "Apertis Test Definition 1.0"
+  image-type: target
+  image-arch: any
+  type: functional
+  exec-type: manual
+  priority: high
+  maintainer: "Apertis Project"
+  description: "Test AppArmor profile for support for SPP profile (bluez-spp) and
+                core functionalities (bluez-core)."
+
+  resources:
+    - "Two Bluetooth adapters."
+
+  macro_ostree_preconditions: apparmor-bluez
+
+  pre-conditions:
+    - "Please note that connman disables bluetooth by default on a fresh image."
+    - "Enable device:"
+    - "$ connmanctl enable bluetooth"
+
+  expected:
+    - "The following test results, which will appear in different places
+       throughout the log:"
+    - |
+        >R1.13a.1_bluez-spp.expected_underlying_tests: pass
+        R1.13a.1_bluez-spp.expected: pass
+        R1.13a.1_bluez-core.expected_underlying_tests: pass
+        R1.13a.1_bluez-core.expected: pass
+
+  notes:
+    - "This TC is based on other Bluez automated test cases, all of them should
+       PASS in order to execute them against AppArmor."
+    - "If a subtest for this TC FAILs, check that the related test is PASSING."
+    - "It is worth to investigate AppArmor-side only if the original TC PASSes and
+       the profiled version of it FAILs."
+    - "Any other scenario is either OK or worth waiting the original TC to PASS."
+
+run:
+  steps:
+    - "Execute the following command:"
+    - $ ./test-bluez
diff --git a/tc/apparmor-chaiwala-system.yaml b/tc/apparmor-chaiwala-system.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..df95f8a4574f792952afdb6c4b0b4ffb92273948
--- /dev/null
+++ b/tc/apparmor-chaiwala-system.yaml
@@ -0,0 +1,38 @@
+metadata:
+  name: apparmor-chaiwala-system
+  format: "Apertis Test Definition 1.0"
+  image-type: target
+  image-arch: any
+  type: functional
+  exec-type: automated
+  priority: high
+  maintainer: "Apertis Project"
+  description: "Test that AppArmor's system wide rules works according to Apertis
+                security goals (Chaiwala was an older codename for Apertis)."
+
+  macro_ostree_preconditions: apparmor-chaiwala-system
+
+  expected:
+    - "The run-test.sh script should return 0. The return value indicates the
+       number of tests which failed. A similar output will be shown:"
+    - |
+        >Files retained in: /tmp/apparmor-chaiwala-system-gKUGXfrDVm-hFuzCE
+        /home/user/apparmor-chaiwala-system-master/goals/exec.sh: PASSED - /tmp/apparmor-chaiwala-system-gKUGXfrDVm-hFuzCE
+        Files retained in: /tmp/apparmor-chaiwala-system-ThPLvpkUnz-UZABGW
+        /home/user/apparmor-chaiwala-system-master/goals/home.sh: PASSED - /tmp/apparmor-chaiwala-system-ThPLvpkUnz-UZABGW
+
+  notes:
+    - "This tests only check that system wide rules (not components ones) are
+       correctly implemented."
+
+run:
+  steps:
+    - "# Execute the following command:"
+    - common/run-test-in-systemd --timeout=90 --basename ./run-test.sh
+
+parse:
+  fixupdict:
+    FAILED: fail
+    PASSED: pass
+    SKIP: skip
+  pattern: ^(?P<test_case_id>.+)\:\s(?P<result>PASS|pass|FAIL|fail|SKIP|skip|UNKNOWN|unknown)\s-
diff --git a/tc/apparmor-dbus.yaml b/tc/apparmor-dbus.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..f8ca03d9644559f3bd8efd59835b2629905db3d1
--- /dev/null
+++ b/tc/apparmor-dbus.yaml
@@ -0,0 +1,35 @@
+metadata:
+  name: apparmor-dbus
+  format: "Apertis Test Definition 1.0"
+  image-type: target
+  image-arch: any
+  type: functional
+  exec-type: automated
+  priority: critical
+  maintainer: "Apertis Project"
+  description: "Security infrastructure: AppArmor D-Bus mediation is part of
+                strategic application and service confinement."
+
+  macro_ostree_preconditions: apparmor-dbus
+
+  expected:
+    - "The test should report pass and not fail:"
+    - |
+        >dbus.expected: pass
+
+  notes:
+    - "The results of the tests printed to the standard output are enough to
+       determine whether they passed or fail."
+    - "If you get a failure and need to report a bug please add the apparmor logs
+       from sudo journalctl."
+
+run:
+  steps:
+  - LAUNCH_DBUS="no" common/run-aa-test ./dbus.expected ./dbus
+
+parse:
+  pattern: 'RESULT:(?P<result>\w+):(?P<test_case_id>[^:]+):'
+  # LAVA doesn't seem to have the concept of an expected failure,
+  # so calling it skipped is the next best thing
+  fixupdict:
+    xfail: skip
diff --git a/tc/apparmor-functional-demo.yaml b/tc/apparmor-functional-demo.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..7de07e1f97160e12295b7d8cd4866aeaf954dcb0
--- /dev/null
+++ b/tc/apparmor-functional-demo.yaml
@@ -0,0 +1,44 @@
+metadata:
+  name: apparmor-functional-demo
+  format: "Apertis Test Definition 1.0"
+  image-type: target
+  image-arch: any
+  type: functional
+  exec-type: automated
+  priority: medium
+  maintainer: "Apertis Project"
+  description: "Show some main AppArmor functionalities, like transitions, net
+                access or resource permissions, under the form of tests."
+
+  expected:
+    - "The /usr/lib/apparmor-demo/lava_run_tests script should return 0. The
+       return value indicates the number of tests which failed. A similar output
+       will be shown:"
+    - |
+        >/usr/lib/apparmor-demo/exec.sh: PASSED - /tmp/apparmor-demo/sdtest.6406-11853-I7WUoO
+        /usr/lib/apparmor-demo/exec_env.sh: FAILED - /tmp/apparmor-demo/sdtest.6704-7180-0VTgAJ
+
+  notes:
+    - "Some of the tests included are taken from AppArmor upstream, some are
+       locally developed."
+
+install:
+  deps:
+  - bash
+  - apparmor-demo
+  - busybox
+  - apertis-tests-apparmor-report
+
+run:
+  steps:
+  - "# Execute the following commands:"
+  - echo -n | sudo tee /var/log/audit/audit.log
+  - common/run-test-in-systemd --name=run-lava_run_tests --timeout=90 /usr/lib/apparmor-demo/lava_run_tests
+  - sudo cat /var/log/audit/audit.log | aa_log_extract_tokens.pl PERMITTING REJECTING
+
+parse:
+  fixupdict:
+    FAILED: fail
+    PASSED: pass
+    SKIP: skip
+  pattern: ^(?P<test_case_id>.+)\.sh:\s*(?P<result>PASS|PASSED|pass|FAIL|FAILED|fail|SKIP|skip|UNKNOWN|unknown)\s*-
diff --git a/tc/connman-pan-tethering.yaml b/tc/connman-pan-tethering.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..b49945f21fe2b1cca9b2777c5f939fc805c82e38
--- /dev/null
+++ b/tc/connman-pan-tethering.yaml
@@ -0,0 +1,47 @@
+metadata:
+  name: connman-pan-tethering
+  format: "Apertis Test Definition 1.0"
+  image-type: any
+  image-arch: any
+  type: functional
+  exec-type: manual
+  priority: medium
+  maintainer: "Apertis Project"
+  description: "Test ConnMan support for PAN connectivity."
+
+  resources:
+    - "A Bluetooth adapter."
+    - "A device supporting PAN PANU."
+
+  macro_install_packages_preconditions: apertis-tests python3-dbus python3-gi
+  pre-conditions:
+    - "Make sure an Internet connection is active on the system."
+    - "When testing on the SDK image, make sure blueman-applet is not running or
+       kill it."
+
+  expected:
+    - "If connections succeeds and you are able to navigate on the internet then
+       it works."
+
+  notes:
+    - "Warning: Connman changes are persistent (over reboot!). After finishing
+       testing, it might be wise to perform the dhcp test to ensure that the
+       network is in a sensible state."
+    - "For ALL tests the enable step will give an \"In progress\" error if the
+       device is already enabled. This is to be expected."
+
+run:
+  steps:
+    - "Enable bluetooth:"
+    - $ connmanctl enable bluetooth
+    - "Start Bluetooth tethering:"
+    - $ connmanctl tether bluetooth on
+    - "Start simple agent:"
+    - $ /usr/lib/chaiwala-tests/bluez/simple-agent -y 
+    - "On the other device, scan for the Bluetooth device and pair with, then
+       connect to the Bluetooth PAN. Most phones(?) don't actually support
+       tethering to another device (as they, by definition, already have an
+       internet connection) but connecting a computer and asking, say,
+       NetworkManager to connect to the newly paired bluetooth device should work
+       just fine (when testing in this case, ensure all other connections are
+       disabled!)"
diff --git a/tc/connman-services.yaml b/tc/connman-services.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..48f3ba2d8e24b3b7842f0e9a972852a0614b0197
--- /dev/null
+++ b/tc/connman-services.yaml
@@ -0,0 +1,60 @@
+metadata:
+  name: connman-services
+  format: "Apertis Test Definition 1.0"
+  image-type: any
+  image-arch: any
+  type: functional
+  exec-type: manual
+  priority: critical
+  maintainer: "Apertis Project"
+  description: "Tests Network connection management: ensuring that ConnMan can
+                connect to actual networks is part of strategic network management
+                functionality."
+
+  pre-conditions:
+    - "The device must have wifi, otherwise skip this test."
+    - "Please note that connman disables wifi by default on a fresh image. To
+       enable:"
+    - $ connmanctl enable wifi
+    - "If it's already enabled, connmanctl will give the error 
+       \"Error wifi: Already enabled\" that may be ignored." 
+
+  expected:
+    - "If success \"Connected <service ID>\" will be printed by connmanctl,
+       otherwise \"Agent ReportError <service ID>\" will be printed."
+
+  notes:
+    - "Warning: Connman changes are persistent (over reboot!). After finishing
+       testing, it might be wise to perform the dhcp test to ensure that the
+       network is in a sensible state."
+    - "For ALL tests the enable step will give an \"In progress\" error if the
+       device is already enabled. This is to be expected."
+    - "When testing the SDK image in VirtualBox with an Asus USB-N10 Wireless
+       adapter, firmware-realtek needs to be installed on the host."
+
+run:
+  steps:
+    - "Run the ConnMan CLI Interface:"
+    - $ connmanctl
+    - "When run without arguments, connmanctl will launch in interactive mode
+       with a \"connmanctl>\" prompt."
+    - "Scan wifi:"
+    - $ scan wifi
+    - "Wait for \"Scan completed for wifi\" before continuing (this may take a few
+       seconds and will appear above connmanctl prompt)."
+    - "Turn on the agent, to manage additional information if required:"
+    - $ agent on
+    - "connmanctl should return \"Agent registered\"."
+    - "List services available:"
+    - $ services
+    - "Select required service and use the \"service ID\" (second column) to
+       connect:"
+    - $ connect <service ID>
+    - "If it's connecting to a wifi service that needs additional information
+       connmanctl will output an \"Agent RequestInput (…)\" line followed by a
+       prompt for the required information, such as \"Passphrase? \"."
+    - "Ensure ConnMan returns \"Connected <service ID>\" before continuing."
+    - "Quit from connmanctl interactive mode with:"
+    - $ quit
+    - "Use the tool to test different kind of security and ConnMan technology:
+       Ethernet, Wi-Fi, cellular and Bluetooth."
diff --git a/tc/connman-usb-tethering.yaml b/tc/connman-usb-tethering.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..e2fd57585dc77e5ee09ae33c2d41b8aa8a567e50
--- /dev/null
+++ b/tc/connman-usb-tethering.yaml
@@ -0,0 +1,37 @@
+metadata:
+  name: connman-usb-tethering
+  format: "Apertis Test Definition 1.0"
+  image-type: any
+  image-arch: any
+  type: functional
+  exec-type: manual
+  priority: medium
+  maintainer: "Apertis Project"
+  description: "Test ConnMan support for USB tethering (connection side)."
+
+  resources:
+    - "Another device supporting USB tethering."
+    - "An USB cable."
+
+  macro_install_packages_preconditions: apertis-tests python-dialog dialog
+  pre-conditions:
+    - "Connect the remote device to an Internet connection."
+
+  expected:
+    - "The service will show as a Ethernet device, and its hash will reflect the
+       mac address of the Ethernet device created."
+    - "If connections succeeds and you are able to navigate on the internet then
+       it works."
+
+  notes:
+    - "Make sure that you have disconnected the ethernet connection to the target
+       before you start the tethering process."
+    - "If you are tethering to an android (4.1) device you need to enable USB
+       mass storage mode for the tethering option to become available."
+
+run:
+  steps:
+    - "Enable USB tethering on the remote device."
+    - "Connect the USB cable from the remote device to the system."
+    - "Connect to the service:"
+    - $ /usr/lib/apertis-tests/connman/connman-test-service.py
diff --git a/tc/dbus-dos-reply-time.yaml b/tc/dbus-dos-reply-time.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..1a8f77f00f10c565e01a75567c549940400c24ca
--- /dev/null
+++ b/tc/dbus-dos-reply-time.yaml
@@ -0,0 +1,45 @@
+metadata:
+  name: dbus-dos-reply-time
+  format: "Apertis Test Definition 1.0"
+  image-type: any
+  image-arch: any
+  type: performance
+  exec-type: automated
+  priority: high
+  maintainer: "Apertis Project"
+  description: "Check the reply time of a few D-Bus method calls while dbus-daemon
+                is loaded by D-Bus traffic. Different patterns of D-Bus loads are
+                tested: 
+                  1) A connection calling a D-Bus method repetitively.
+                  2) A process calling a D-Bus method repetitively using a
+                     different connection each time to generate traffic related to
+                     connections joining and leaving the bus (NameOwnerChanged
+                     signals).
+                  3) The same with 100 threads generating traffic.
+                  4) Tens of threads registering hundreds of D-Bus match rules 
+
+                DoS resistance is part of strategic basic services functionality."
+
+  macro_ostree_preconditions: dbus-dos-reply-time
+
+  expected:
+    - "There should be no error and it should show the time taken for every
+       command."
+    - |
+        >>>> Test setup successfully!
+        test_basic: command took 20ms (success), expected [0ms, 1000ms]
+        test_some_load: command took 21ms (success), expected [0ms, 4000ms]
+        test_heavy_load: command took 234ms (success), expected [0ms, 8000ms]
+        test_match_rules: command took 2333ms (success), expected [0ms, 8000ms]
+
+run:
+  steps:
+    - "# Execute the following command:"
+    - common/run-test-in-systemd --basename --user=user --timeout=900 ./run-test.sh
+
+parse:
+  fixupdict:
+    failure: fail
+    success: pass
+  pattern: '^(?P<test_case_id>[a-z_\-]+): command took\W(?P<measurement>[\d\.]+)ms
+    \((?P<result>\w+)\)'
diff --git a/tc/evolution-sync-bluetooth.yaml b/tc/evolution-sync-bluetooth.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..3da92c2eb5e0c9e2e7a8a257bc4ed8bdd57735e2
--- /dev/null
+++ b/tc/evolution-sync-bluetooth.yaml
@@ -0,0 +1,38 @@
+metadata:
+  name: evolution-sync-bluetooth
+  format: "Apertis Test Definition 1.0"
+  image-type: any
+  image-arch: any
+  type: functional
+  exec-type: manual
+  priority: medium
+  maintainer: "Apertis Project"
+  description: "Synchronizing Bluetooth-paired phone contacts to Evolution."
+  resources:
+    - "A Bluetooth USB adapter."
+    - "A Bluetooth-enabled phone."
+
+  macro_install_packages_preconditions: syncevolution syncevolution-dbus
+                                        folks-tools libfolks-eds25 apertis-tests
+                                        python 3.4 python3-gi python3-dbus
+                                        telepathy-mission-control-5
+
+  pre-conditions:
+    - "Start simple agent:"
+    - $ /usr/lib/chaiwala-tests/bluez/simple-agent -y
+    - "Pair both devices initiating from the phone side"
+    - "Pay attention to the simple-agent window as it requires input during
+       the pairing process."
+
+  expected:
+    - "syncevolution should display the number of contacts synchronized from the
+       phone in this last run."
+    - "folks-inspect should show the personas with their details grabbed from
+       your phone."
+
+run:
+  steps:
+    - "Synchronize contacts from a second terminal:"
+    - $ /usr/lib/chaiwala-tests/contacts/sync-addressbook.sh <Bluetooth address>
+    - "The Bluetooth address is the MAC address of the device as seen in the
+       pairing window (e.g. 12:34:56:78:9A:BC)"
diff --git a/tc/glib-gio-fs.yaml b/tc/glib-gio-fs.yaml
index 84de1bdbc9e9fb9c26332bb6d21f05687ec4410e..d9a6b11b9bb667b3a81aa5a262135f4787a96418 100644
--- a/tc/glib-gio-fs.yaml
+++ b/tc/glib-gio-fs.yaml
@@ -6,8 +6,8 @@ metadata:
   type: functional
   exec-type: automated
   priority: medium
-  description: "Run the GLib gio tests that do I/O on the local filesystem."
   maintainer: "Apertis Project"
+  description: "Run the GLib gio tests that do I/O on the local filesystem."
 
   macro_ostree_preconditions: glib-gio-fs
 
diff --git a/tc/libsoup-unit.yaml b/tc/libsoup-unit.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..cdb0e00a6c30e53690e7a0d6b91eb3b08578a592
--- /dev/null
+++ b/tc/libsoup-unit.yaml
@@ -0,0 +1,27 @@
+metadata:
+  name: libsoup-unit
+  format: "Apertis Test Definition 1.0"
+  image-type: any
+  image-arch: any
+  type: unit
+  exec-type: automated
+  priority: low
+  maintainer: "Apertis Project"
+  description: "Run the unit tests that ship with the library against the running
+                system."
+
+  expected:
+    - "PASSED or FAILED"
+
+install:
+  deps:
+  - libsoup2.4-tests
+  - curl
+
+run:
+  steps:
+    - "# Execute the following command:"
+    - common/run-test-in-systemd --name=run-test --timeout=900 env DEBUG=2 libsoup/automated/run-test.sh
+
+parse:
+  pattern: ^(?P<test_case_id>[a-zA-Z0-9_\-\./]+):\s*(?P<result>pass|fail|skip|unknown)$
diff --git a/tc/newport.yaml b/tc/newport.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..348be88cc09ee7c67de2c9a8c3458ce92c59c5ec
--- /dev/null
+++ b/tc/newport.yaml
@@ -0,0 +1,30 @@
+metadata:
+  name: newport
+  format: "Apertis Test Definition 1.0"
+  image-type: any
+  image-arch: any
+  type: functional
+  exec-type: automated
+  priority: medium
+  maintainer: "Apertis Project"
+  description: "Run the Newport test suite"
+
+  expected:
+    - "Tests will show PASS or FAIL as result."
+
+install:
+  deps:
+  - gnome-desktop-testing
+  - newport-tests
+
+run:
+  steps:
+    - "# Execute the following command:"
+    - common/run-test-in-systemd --user=user --timeout=900 --name=newport gnome-desktop-testing-runner newport
+
+parse:
+  fixupdict:
+    FAIL: fail
+    PASS: pass
+    SKIP: skip
+  pattern: ^(?P<result>PASS|FAIL|SKIP):\s*(?P<test_case_id>\S+)
diff --git a/tc/sdk-ide-build-run-program.yaml b/tc/sdk-ide-build-run-program.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..8df3ab7ad12f9e3cee445c78a097fb708a6aa087
--- /dev/null
+++ b/tc/sdk-ide-build-run-program.yaml
@@ -0,0 +1,35 @@
+metadata:
+  name: sdk-ide-build-run-program
+  format: "Apertis Test Definition 1.0"
+  image-type: SDK
+  image-arch: amd64
+  type: functional
+  exec-type: manual
+  priority: medium
+  maintainer: "Apertis Project"
+  description: "Creates a simple test project and confirms that compiling and
+                executing work."
+
+  pre-conditions:
+    - "For SDK image: Remember, we're now requiring VirtualBox 4.2.2 for tests
+       using Guest Additions. Please, read https://wiki.apertis.org/Docs/VirtualBox_Guest_AdditionsDocs/VirtualBox_Guest_Additions to update your setup."
+    - "Download the virtual machine image for the latest SDK release from
+       https://images.apertis.org/"
+
+  expected:
+    - "The Console tab at the bottom should show the output of the program
+       (\"!!!Hello World!!!\")."
+
+run:
+  steps:
+    - "Open Eclipse."
+    - "If prompted to choose a workspace, click OK."
+    - "Click File > New > Project"
+    - "Select C Project under C/C++"
+    - "Name the project \"Hello World\" and, under Executable, click Hello World
+       ANSI C Project and choose the Linux GCC toolchain."
+    - "Note the simple Hello World code in the main portion of the window."
+    - "Click Project > Build All"
+    - "Click Run > Run"
+    - "If prompted with \"Errors exist in a required project. Continue launch?\",
+       click Yes."
diff --git a/tc/sdk-performance-tools-gprof-smoke-test.yaml b/tc/sdk-performance-tools-gprof-smoke-test.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..7845d6483b26e682c90f1a89fa6140b91858d218
--- /dev/null
+++ b/tc/sdk-performance-tools-gprof-smoke-test.yaml
@@ -0,0 +1,39 @@
+metadata:
+  name: sdk-performance-tools-gprof-smoke-test
+  format: "Apertis Test Definition 1.0"
+  image-type: SDK
+  image-arch: amd64
+  type: functional
+  exec-type: automated
+  priority: medium
+  maintainer: "Apertis Project"
+  description: "Checks basic gprof functionality by ensuring a CPU-intensive
+                program shows up in its log as consuming the vast majority of the
+                CPU cycles."
+
+  expected:
+    - "The test script will output a line with the test ID and the status of the
+       test (PASSED or FAILED), with some additional information. An example
+       output is:"
+    - |
+        >sdk-performance-tools-gprof: PASSED
+        Program ran in 94% of samples (>= 85% required)
+
+install:
+  deps:
+  - apertis-tests
+
+run:
+  steps:
+    - "# Execute the following command:"
+    - common/run-test-in-systemd --basename --user=user -- sdk/automated/test-gprof.sh
+
+parse:
+  fixupdict:
+    FAILED: fail
+    PASSED: pass
+    FAIL: fail
+    PASS: pass
+    SKIP: skip
+    UNKNOWN: unknown
+  pattern: '^(?P<test_case_id>[a-zA-Z0-9_\-\./]+):\s*(?P<result>PASSED|PASS|pass|FAILED|FAIL|fail|SKIP|skip|UNKNOWN|unknown)$'
diff --git a/tc/sdk-performance-tools-sysprof-smoke-test.yaml b/tc/sdk-performance-tools-sysprof-smoke-test.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..70ac58262ac1b0cd786b6a71c0f25e46c3199063
--- /dev/null
+++ b/tc/sdk-performance-tools-sysprof-smoke-test.yaml
@@ -0,0 +1,39 @@
+metadata:
+  name: sdk-performance-tools-sysprof-smoke-test
+  format: "Apertis Test Definition 1.0"
+  image-type: SDK
+  image-arch: amd64
+  type: functional
+  exec-type: automated
+  priority: medium
+  maintainer: "Apertis Project"
+  description: "Checks basic sysprof functionality by ensuring a CPU-intensive
+                program shows up in its log as consuming the vast majority of the
+                CPU cycles."
+
+  expected:
+    - "The test script will output a line with the test ID and the status of the
+       test (PASSED or FAILED), with some additional information. An example
+       output is:"
+    - |
+        >sdk-performance-tools-sysprof-smoke-test: PASSED
+        Program ran in 99% of samples (>= 95% required)
+
+install:
+  deps:
+  - apertis-tests
+
+run:
+  steps:
+    - "# Execute the following command:"
+    - common/run-test-in-systemd --basename -- sdk/automated/test-sysprof.sh
+
+parse:
+  fixupdict:
+    FAILED: fail
+    PASSED: pass
+    FAIL: fail
+    PASS: pass
+    SKIP: skip
+    UNKNOWN: unknown
+  pattern: '^(?P<test_case_id>[a-zA-Z0-9_\-\./]+):\s*(?P<result>PASSED|PASS|pass|FAILED|FAIL|fail|SKIP|skip|UNKNOWN|unknown)$'
diff --git a/tc/sdk-vb-fullscreen.yaml b/tc/sdk-vb-fullscreen.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..2a3c9e6d7ec57a4b305dbdfc8fe26149b8a1084e
--- /dev/null
+++ b/tc/sdk-vb-fullscreen.yaml
@@ -0,0 +1,31 @@
+metadata:
+  name: sdk-vb-fullscreen
+  format: "Apertis Test Definition 1.0"
+  image-type: SDK
+  image-arch: amd64
+  type: compatibility
+  exec-type: manual
+  priority: critical
+  maintainer: "Apertis Project"
+  description: "Tests that the SDK VM can be fullscreened in VirtualBox.
+                Development environment: ensuring that the VirtualBox SDK provides
+                a seamless experience."
+
+  pre-conditions:
+    - "For SDK image: Remember, we're now requiring VirtualBox 4.2.2 for tests
+       using Guest Additions. Please, read https://wiki.apertis.org/Docs/VirtualBox_Guest_AdditionsDocs/VirtualBox_Guest_Additions to update your setup."
+    - "Download the virtual machine image for the latest SDK release from
+       https://images.apertis.org/"
+
+  expected:
+    - "The screen is correctly resized when switching to fullscreen."
+    - "test-text displays test glyphs inside the Xephyr window."
+
+run:
+  steps:  
+    - "Start the SDK virtual machine"
+    - "Click \"Switch to Fullscreen\" from the \"View\" menu"
+    - "Open a terminal"
+    - "Launch a program using GLX under Xephyr:"
+    - $ Xephyr :1 -host-cursor -screen 800x480x24 -ac &
+    - $ DISPLAY=:1 /usr/lib/clutter-1.0/installed-tests/clutter/test-text
diff --git a/tc/video-animation-on-boot.yaml b/tc/video-animation-on-boot.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..f8e2446949ec30497cee38dc29a692b7974c103b
--- /dev/null
+++ b/tc/video-animation-on-boot.yaml
@@ -0,0 +1,22 @@
+metadata:
+  name: video-animation-on-boot
+  format: "Apertis Test Definition 1.0"
+  image-type: target
+  image-arch: any
+  type: functional
+  exec-type: manual
+  priority: high
+  maintainer: "Apertis Project"
+  description: "Test whether Plymouth is able to display a graphical theme."
+
+  resources:
+    - "LVDS panel or monitor."
+
+  expected:
+    - "Plymouth shows the fade-in theme with a chaiwala logo and a set of leaves
+       should fade in. Check example at:
+       https://wiki.apertis.org/mediawiki/images/7/7d/Boot.gif"
+
+run:
+  steps:
+    - "Boot the image and the animation should be displayed during booting."
diff --git a/tc/webkit2gtk-event-handling-redesign.yaml b/tc/webkit2gtk-event-handling-redesign.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..d4deb9dbb94978237d3ae912477a661940bb93ff
--- /dev/null
+++ b/tc/webkit2gtk-event-handling-redesign.yaml
@@ -0,0 +1,53 @@
+metadata:
+  name: webkit2gtk-event-handling-redesign
+  format: "Apertis Test Definition 1.0"
+  image-type: any
+  image-arch: any
+  type: functional
+  exec-type: manual
+  priority: medium
+  maintainer: "Apertis Project"
+  description: "Test WebKit2Gtk ability to scroll by touch with inertial behaviour
+                after the touch ended."
+
+  resources:
+    - "A touch-screen with multiple touch points."
+
+  macro_install_packages_preconditions: webkit2gtk-testing
+
+  expected:
+    - "A page with many nested scrollable elements should be rendered."
+    - "Dragging the right side of the page with a single touch or mouse click
+       should cause the page content to scroll."
+    - "Clicking or touching the entry should focus it and allow you to enter text."
+    - "Scrolling the area bellow the entry should scroll the content that is
+       inside that area only, revealing another text entry."
+    - "Clicking the entry that is inside the scrollable area should focus it and
+       allow you to enter text."
+    - "When scrolling to the bottom of the page with a quick drag and release
+       touch with enough momentum should cause the scroll to continue with
+       decreasing speed towards the bottom of the page."
+    - "Starting a touch drag from the green \"Touch scroll drags here should not
+       start\" element should not result in page scrolls."
+    - "Starting a mouse drag from the red \"Mouse scroll drags here should not
+       start\" element should not result in page scrolls."
+    - "Clicking one of the links at the bottom of the page should take you to the
+       appropriate page (www.collabora.com or planet.collabora.com)."
+
+run:
+  steps:
+    - "Run the following command:"
+    - $ GtkClutterLauncher -g 700x600 file:///usr/share/webkit2gtk/testing/scroll.html
+    - "Wait for the page to load, there will be two in-page scrollable areas,
+       with a text entry in between them."
+    - "Scroll the main page until you align the top of the text entry with the
+       top of the viewport."
+    - "Click the entry to focus it and enter some text."
+    - "Scroll the scrollable area below the entry until you find another entry
+       inside the scrollable area."
+    - "Try to focus it and enter some text."
+    - "Scroll to the bottom of the main page by doing a quick drag and release."
+    - "If you have a touchscreen, try dragging from the green area."
+    - "If you have a mouse, try dragging from the red area."
+    - "Click one of the two links at the very bottom and wait for the page
+       to load."