plugin: shell
id: cpu/scaling_test
estimated_duration: 150.0
requires:
 package.name == 'fwts'
user: root
environ: PLAINBOX_SESSION_SHARE
command: fwts_test -t cpufreq -l ${PLAINBOX_SESSION_SHARE}/scaling_test.log
_description:
 Test the CPU scaling capabilities using Firmware Test Suite (fwts cpufreq).

plugin: attachment
id: cpu/scaling_test-log-attach
estimated_duration: 1.0
depends: cpu/scaling_test
command: [[ -e ${PLAINBOX_SESSION_SHARE}/scaling_test.log ]] && cat ${PLAINBOX_SESSION_SHARE}/scaling_test.log
_description:
 Attaches the log generated by cpu/scaling_test to the results

plugin: shell
id: cpu/maxfreq_test
estimated_duration: 0.6
requires:
 package.name == 'fwts'
user: root
command: fwts_test -t maxfreq -l $PLAINBOX_SESSION_SHARE/maxfreq_test.log
_description:
 Test that the CPU can run at its max frequency using Firmware Test Suite (fwts cpufreq).

plugin: attachment
id: cpu/maxfreq_test-log-attach
estimated_duration: 1.0
depends: cpu/maxfreq_test
command: [ -e $PLAINBOX_SESSION_SHARE/maxfreq_test.log ] && cat $PLAINBOX_SESSION_SHARE/maxfreq_test.log
_description:
 Attaches the log generated by cpu/maxfreq_test to the results

plugin: shell
id: cpu/clocktest
estimated_duration: 60.0
command: clocktest
_description:
 Test for clock jitter.

plugin: shell
id: cpu/offlining_test
estimated_duration: 1.0
user: root
command: cpu_offlining
_description:
 Test offlining CPUs in a multicore system.

plugin: shell
id: cpu/topology
estimated_duration: 1.0
requires: int(cpuinfo.count) > 1 and (cpuinfo.platform == 'i386' or cpuinfo.platform == 'x86_64')
command: cpu_topology
_description:
 This test checks cpu topology for accuracy

plugin: shell
id: cpu/frequency_governors
estimated_duration: 22.0
user: root
command: nice -n -20 frequency_governors_test --debug
_description:
 This test checks that CPU frequency governors are obeyed when set.

plugin: shell
id: cpu/arm_vfp_support
estimated_duration: 1.0
requires: 'arm' in cpuinfo.type
command: grep VFP /var/log/syslog
_description:
 Validate that the Vector Floating Point Unit is running on ARM device

plugin:shell
id: cpu/cstates
estimated_duration: 10.0
requires:
  package.name == 'fwts'
user: root
_description:
 Run Firmware Test Suite (fwts) cstates tests.
environ: PLAINBOX_SESSION_SHARE
command:
 fwts_test -l $PLAINBOX_SESSION_SHARE/fwts_cstates_results.log -t cstates

plugin: attachment
estimated_duration: 0.5
id: cpu/cstates_results.log
command:
 [ -e ${PLAINBOX_SESSION_SHARE}/fwts_cstates_results.log ] && cat ${PLAINBOX_SESSION_SHARE}/fwts_cstates_results.log
_description: Attaches the FWTS desktop diagnosis results log to the submission

