# 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_nossp"
PURPOSE = "Demonstrate success methods of autotests."
CRITERIA = "This test will always succeed."
ATTRIBUTES = (
        "suite:dummy_server,"
        " suite:dummy_server_nossp,"
        " suite:skylab_staging_test,"
        " suite:dev_drone_image_test"
)
TIME = "SHORT"
TEST_CATEGORY = "General"
TEST_CLASS = "stub"
TEST_TYPE = "server"
# Force not to use server side package for this test.
REQUIRE_SSP = False

DOC = """
This is a helper test that will succeed and force not to use server side
packaging.
"""

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

parallel_simple(run, machines)
