summaryrefslogtreecommitdiff
path: root/tests/tests-common.xml
blob: feea93105f4a497cc3efd57b08bb106989f97f3a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
<?xml version="1.0" encoding="utf-8"?>

<!--
  Copyright (c) 2013-2016, ARM Limited. All rights reserved.

  This program and the accompanying materials
  are licensed and made available under the terms and conditions of the BSD License
  which accompanies this distribution.  The full text of the license may be found at
  http://opensource.org/licenses/bsd-license.php

  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-->

<testsuites>

  <!--
     The "template" testsuite aims at providing template test code as a
     starting point for developing new tests. These tests don't do anything
     useful in terms of testing so they are disabled by default. Uncomment
     those lines along with the corresponding source files in the Makefile
     tests/tests.mk to enable them.
  -->
  <!--
  <testsuite name="Template" description="Template test code">
     <testcase name="Single core test" function="test_template_single_core" />
     <testcase name="Multi core test" function="test_template_multi_core" />
  </testsuite>
  -->

  <testsuite name="Framework Validation" description="Validate the core features of the test framework">
    <testcase name="NVM support" function="test_validation_nvm" />
    <testcase name="NVM serialisation" function="test_validate_nvm_serialisation" />
    <testcase name="Events API" function="test_validation_events" />
    <testcase name="IRQ handling" function="test_validation_irq" />
    <testcase name="SGI support" function="test_validation_sgi" />
  </testsuite>

  <testsuite name="Runtime Instrumentation Validation" description="Validate PMF Runtime Instrumentation">
     <testcase name="Suspend to deepest power level on all cores in parallel" function="test_rt_instr_susp_deep_parallel" />
     <testcase name="Suspend to deepest power level on all cores in sequence" function="test_rt_instr_susp_deep_serial" />
     <testcase name="CPU suspend on all cores in parallel" function="test_rt_instr_cpu_susp_parallel" />
     <testcase name="CPU suspend on all cores in sequence" function="test_rt_instr_cpu_susp_serial" />
     <testcase name="CPU off on all non-lead cores in sequence and suspend lead to deepest power level" function="test_rt_instr_cpu_off_serial" />
     <testcase name="PSCI version call on all cores in parallel" function="test_rt_instr_psci_version_parallel" />
  </testsuite>

  <testsuite name="Timer framework Validation" description="Validate the timer driver and timer framework">
     <testcase name="Verify the timer interrupt generation" function="test_timer_framework_interrupt" />
     <testcase name="Target timer to a power down cpu" function="test_timer_target_power_down_cpu" />
     <testcase name="Test scenario where multiple CPUs call same timeout" function="test_timer_target_multiple_same_interval" />
     <testcase name="Stress test the timer framework" function="stress_test_timer_framework" />
  </testsuite>

  <testsuite name="PSCI System Suspend Validation" description="Validate PSCI System Suspend API">
     <testcase name="System suspend multiple times" function="test_psci_sys_susp_multiple_iteration" />
     <testcase name="system suspend from all cores" function="test_system_suspend_from_all_cores" />
     <testcase name="System suspend with cores on" function="test_psci_sys_susp_with_cores_on" />
     <testcase name="Suspend system with cores in suspend" function="test_psci_sys_susp_with_cores_in_suspend" />
     <testcase name="Validate suspend to RAM functionality" function="test_psci_sys_susp_validate_ram" />
     <testcase name="System suspend with invalid entrypoint address" function="test_system_suspend_invalid_entrypoint" />
     <testcase name="System suspend with pending IRQ" function="test_psci_sys_susp_pending_irq" />
  </testsuite>

  <testsuite name="Query runtime services" description="Generic queries as defined by the SMCCC">
    <testcase name="Query Standard Service" function="test_query_std_svc" />
  </testsuite>

  <testsuite name="PSCI Version" description="Check the version of PSCI implemented">
    <testcase name="PSCI Version" function="test_psci_version" />
  </testsuite>

  <testsuite name="PSCI Affinity Info" description="Test PSCI AFFINITY_INFO support">
    <testcase name="Affinity info level0 on" function="test_affinity_info_level0_on" />
    <testcase name="Affinity info level0 off" function="test_affinity_info_level0_off" />
    <testcase name="Affinity info level1 on" function="test_affinity_info_level1_on" />
    <testcase name="Affinity info level1 off" function="test_affinity_info_level1_off" />
    <testcase name="Affinity info level2" function="test_affinity_info_level2" />
    <testcase name="Affinity info level3" function="test_affinity_info_level3" />
    <testcase name="Affinity info level0 powerdown" function="test_affinity_info_level0_powerdown" />
  </testsuite>

  <testsuite name="CPU Hotplug" description="Test PSCI CPU Hotplug support">
    <testcase name="CPU hotplug" function="test_psci_cpu_hotplug" />
    <testcase name="CPU already on" function="test_psci_cpu_hotplug_plugged" />
    <testcase name="Context ID passing" function="test_context_ids" />
    <testcase name="Invalid CPU" function="test_psci_cpu_hotplug_invalid_cpu" />
    <testcase name="Invalid entry point" function="test_psci_cpu_hotplug_invalid_ep" />
  </testsuite>

  <testsuite name="PSCI CPU Suspend" description="Test PSCI CPU Suspend support">
    <testcase name="CPU suspend to powerdown at level 0" function="test_psci_suspend_powerdown_level0" />
    <testcase name="CPU suspend to powerdown at level 1" function="test_psci_suspend_powerdown_level1" />
    <testcase name="CPU suspend to powerdown at level 2" function="test_psci_suspend_powerdown_level2" />
    <testcase name="CPU suspend to powerdown at level 3" function="test_psci_suspend_powerdown_level3" />

    <testcase name="CPU suspend to standby at level 0" function="test_psci_suspend_standby_level0" />
    <testcase name="CPU suspend to standby at level 1" function="test_psci_suspend_standby_level1" />
    <testcase name="CPU suspend to standby at level 2" function="test_psci_suspend_standby_level2" />
    <testcase name="CPU suspend to standby at level 3" function="test_psci_suspend_standby_level3" />
  </testsuite>

  <testsuite name="EL3 power state parser validation" description="Validation of EL3 power state parsing algorithm">
    <testcase name="Create all power states and validate EL3 power state parsing" function="test_psci_validate_pstate" />
    <testcase name="Create only local power state and validate EL3 power state parsing" function="test_psci_valid_local_pstate" />
    <testcase name="Create invalid local power state at all levels and validate EL3 power state parsing" function="test_psci_invalid_stateID" />
    <testcase name="Create invalid power state type and validate EL3 power state parsing" function="test_psci_invalid_state_type" />
    <testcase name="Create invalid power level and validate EL3 power state parsing for original state format" function="test_psci_invalid_power_level" />
    <testcase name="Create a power state with valid and invalid local state ID at different levels and validate power state parsing" function="test_psci_mixed_state_id" />
  </testsuite>

  <testsuite name="PSCI STAT" description="Test PSCI STAT support Core level">
    <testcase name="for valid composite state CPU suspend" function="test_psci_stat_all_power_states" />
    <testcase name="Stats test cases for CPU OFF" function="test_psci_stats_cpu_off" />
    <testcase name="Stats test cases after system suspend" function="test_psci_stats_system_suspend" />
  </testsuite>

  <testsuite name="PSCI NODE_HW_STATE" description="Test PSCI NODE_HW_STATE API">
    <testcase name="Tests for NODE_HW_STATE" function="test_psci_node_hw_state" />
    <testcase name="Tests for NODE_HW_STATE on multicluster" function="test_psci_node_hw_state_multi" />
  </testsuite>

  <testsuite name="PSCI Features" description="Check the PSCI features implemented">
    <testcase name="PSCI Features" function="test_psci_features" />
    <testcase name="PSCI Invalid Features" function="test_psci_features_invalid_id" />
  </testsuite>

  <testsuite name="PSCI MIGRATE_INFO_TYPE" description="Test MIGRATE_INFO_TYPE support">
     <testcase name="PSCI MIGRATE_INFO_TYPE" function="test_migrate_info_type" />
  </testsuite>

  <testsuite name="TSP handler standard functions result test" description="Validate TSP SMC standard function call">
     <testcase name="TestSecurePayload standard functions service call" function="test_smc_tsp_std_fns_call" />
  </testsuite>

  <testsuite name="Stress test TSP functionality" description="Validate TSP functionality">
     <testcase name="Stress test TSP functionality" function="test_tsp_fast_smc_operations" />
  </testsuite>

  <testsuite name="IRQ support in TSP" description="Test the normal IRQ preemption support in TSP.">
    <testcase name="TSP preempt by IRQ and resume" function="tsp_int_and_resume" />
    <testcase name="Fast SMC while TSP preempted" function="test_fast_smc_when_tsp_preempted" />
    <testcase name="STD SMC resumption while TSP preempted" function="test_std_smc_when_tsp_preempted_resume" />
    <testcase name="STD SMC abortion while TSP preempted" function="test_std_smc_when_tsp_preempted_abort" />
    <testcase name="Resume SMC without TSP preemption" function="test_resume_smc_without_preemption" />
    <testcase name="Stress TSP preemption and resumption" function="tsp_int_and_resume_stress" />
    <testcase name="Test Secure FIQ while TSP is preempted" function="tsp_fiq_while_int" />
  </testsuite>

  <!-- Test suite exercising execution state switch SiP service.
       'test_exec_state_switch_reset_before' must execute first in the suite,
       and 'test_exec_state_switch_after_cpu_on' the last. See comments in
       test_exec_state_switch.c for details -->
  <testsuite name="State switch" description="Test ARM SiP State Switch service">
    <testcase name="System reset before state switch" function="test_exec_state_switch_reset_before" />
    <testcase name="Request state switch with invalid PC" function="test_exec_state_switch_invalid_pc" />
    <testcase name="Request state switch with invalid context" function="test_exec_state_switch_invalid_ctx" />
    <testcase name="Request a valid state switch" function="test_exec_state_switch_valid" />
    <testcase name="Request a valid state switch after CPU_ON" function="test_exec_state_switch_after_cpu_on" />
  </testsuite>

</testsuites>

  <!-- This testsuite crashes the firmware.
       A final report will *NOT* be generated. -->
  <!--testsuite name="Test Crash reporting" description="Test the Unhandled Exception Reporting in EL3.">
    <testcase name="Access Secure memory crash " function="tsp_crash_reporting_test1" />
    <testcase name="Access 32 bit register as 64 bit crash" function="tsp_crash_reporting_test2" />
  </testsuite-->