# 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 = "Chrome OS Team"
NAME = "stub_PassServer"
PURPOSE = "Demonstrate success methods of autotests."
CRITERIA = "This test will always succeed."
ATTRIBUTES = "suite:dummy_server"
TIME = "SHORT"
TEST_CATEGORY = "General"
TEST_CLASS = "stub"
TEST_TYPE = "server"
MAX_RESULT_SIZE_KB = 6000
PY_VERSION = 3

DOC = """
This is a helper test that will succeed.
"""

def run(machine):
    job.run_test('stub_PassServer',
                 host=hosts.create_host(machine))

parallel_simple(run, machines)
