# Copyright (c) 2011 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 = "ChromeOS Team"
NAME = "cellular_Signal"
PURPOSE = "Verify cell modem properly deals with technology changes."
CRITERIA = """Modem reregisters after technology changes."""
ATTRIBUTES = "suite:cell_emulator"
SUITE = "cell_emulator"
TIME = "SHORT"
TEST_CATEGORY = "Functional"
TEST_CLASS = "network"
TEST_TYPE = "client"

DOC = """
  Test that a modem can reregister after the network technology abruptly
  changes.
"""

from autotest_lib.client.cros.cellular import cellular
from autotest_lib.client.cros.cellular import labconfig


config = labconfig.Configuration(args)
technologies = config.get_technologies()
gsm_technologies = [tech for tech in technologies
    if cellular.TechnologyToFamily[tech] == cellular.TechnologyFamily.UMTS]

# One can only roam with a given technology family
job.run_test('cellular_Signal',
             config=config,
             technologies=gsm_technologies,
             wait_for_disc=True,
             verify_set_power=False,
             tag='GSM.Wait')

job.run_test('cellular_Signal',
             config=config,
             technologies=gsm_technologies,
             wait_for_disc=False,
             verify_set_power=False,
             tag='GSM.NoWait')

# TODO(jglasgow): run tests for CDMA technologies