# Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

AUTHOR = 'gwendal'
NAME = 'memory_qual'
TIME = 'LENGTHY'
TEST_CATEGORY = 'General'
TEST_CLASS = 'suite'
TEST_TYPE = 'Server'

DOC = """
This dynamic suite runs the memory qualification tests.

@param build: The name of the image to test.
          Ex: x86-mario-release/R17-1412.33.0-a1-b29
@param board: The board to test on. Ex: x86-mario
@param pool: The pool of machines to utilize for scheduling. If pool=None
             board is used.
@param check_hosts: require appropriate live hosts to exist in the lab.
@param SKIP_IMAGE: (optional) If present and True, don't re-image devices.
@param file_bugs: If True your suite will file bugs on failures.
"""

import common
from autotest_lib.server.cros.dynamic_suite import dynamic_suite
from autotest_lib.client.common_lib import utils

args_dict['add_experimental'] = True
args_dict['timeout_mins'] = 40320 # entire suite timeout after 28 days
args_dict['max_runtime_mins'] = 40320 # one test timeout after 28 days
args_dict['name'] = NAME
args_dict['job'] = job

# Don't wait for results, just kick off child job.
args_dict['wait_for_results'] = False

# Retrieve bug_id, part_id for the avl process.
avl_keyval = dict()
avl_keyval['bug_id'] = args_dict.get("bug_id", "")
avl_keyval['part_id'] = args_dict.get("part_id", "")
utils.write_keyval(job.resultdir, avl_keyval)

dynamic_suite.reimage_and_run(**args_dict)
