blob: 6565cc19f7ebd19c43a07159f9f3355666e16633 [file] [log] [blame]
# Lint as: python3
# Copyright 2023 The ChromiumOS Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
from collections import namedtuple
import os
TEMPLATE_FILE = 'template.control.v3'
TestEntry = namedtuple('TestEntry',
['name', 'test_expr', 'attributes', 'duration'])
def _write_control_file(name, contents):
f = open(name, 'w')
f.write(contents)
f.close()
def _read_template_file(filename):
f = open(filename)
d = f.read()
f.close()
return d
v3_tests = [
TestEntry(
name='storage_testing_v3_basic_info',
test_expr=[
'storage.InternalDeviceTypeCheck',
'storage.HealthInfo', 'storage.FfuSupport'
],
attributes=['pdp-enabled', 'pdp-kpi', 'pdp-stress', 'avl-v3'],
duration=1200),
TestEntry(
name='storage_testing_v3_device_config',
test_expr=[
'storage.EmmcConfiguration',
'storage.UfsConfiguration', 'storage.NvmeConfiguration'
],
attributes=['pdp-enabled', 'pdp-kpi', 'pdp-stress', 'avl-v3'],
duration=1200),
TestEntry(
name='storage_testing_v3_erase_behaviour',
test_expr=[
'storage.Trim', 'storage.WriteZeroCorrectness',
'storage.WriteZeroPerf'
],
attributes=['pdp-enabled', 'pdp-kpi', 'pdp-stress', 'avl-v3'],
duration=12000),
TestEntry(name='storage_testing_v3_soc_perf',
test_expr=['storage.SocPerformance.*'],
attributes=['pdp-kpi', 'pdp-stress'],
duration=1200),
TestEntry(name='storage_testing_v3_power_state',
test_expr=['storage.LowPowerStateResidence'],
attributes=['pdp-kpi', 'pdp-stress', 'avl-v3'],
duration=600),
TestEntry(name='storage_testing_v3_part_perf',
test_expr=['storage.Performance.*'],
attributes=['avl-v3'],
duration=7800),
TestEntry(name='storage_testing_v3_stress_write',
test_expr=['storage.StressWrite'],
attributes=['pdp-stress', 'avl-v3'],
duration=28800),
TestEntry(name='storage_testing_v3_stress_write_2',
test_expr=[
'storage.StressWrite.iteration_2',
],
attributes=['avl-v3'],
duration=28800),
TestEntry(name='storage_testing_v3_stress_write_3',
test_expr=['storage.StressWrite.iteration_3'],
attributes=['avl-v3'],
duration=28800),
TestEntry(name='storage_testing_v3_stress_suspend',
test_expr=['storage.SuspendStress'],
attributes=['pdp-stress', 'avl-v3'],
duration=28800),
TestEntry(name='storage_testing_v3_stress_suspend_2',
test_expr=[
'storage.SuspendStress.iteration_2',
],
attributes=['avl-v3'],
duration=28800),
TestEntry(name='storage_testing_v3_stress_suspend_3',
test_expr=['storage.SuspendStress.iteration_3'],
attributes=['avl-v3'],
duration=28800),
TestEntry(name='storage_testing_v3_stress',
test_expr=['storage.Stress'],
attributes=['pdp-stress', 'avl-v3'],
duration=28800),
TestEntry(name='storage_testing_v3_stress_2',
test_expr=['storage.Stress.iteration_2'],
attributes=['avl-v3'],
duration=28800),
]
template = _read_template_file(
os.path.join(os.path.dirname(os.path.realpath(__file__)),
TEMPLATE_FILE))
priority = 200
for test in v3_tests:
control_file = template.format(name=test.name,
attributes=', '.join([
'suite:storage-qual-' + attr
for attr in test.attributes
]),
priority=priority,
test_exprs="', '".join(test.test_expr),
duration=test.duration)
control_file_name = 'control.' + test.name
_write_control_file(control_file_name, control_file)
priority -= 1