# 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 = 'The Chromium OS Authors'
DOC = 'Verifies that the flimflam portal detection code works.'
NAME = 'network_Portal'
PURPOSE = 'Verify portal detection code works.'
CRITERIA = """
    Fails if portal code detects portal state when
    clients3.google.com is accessible or if portal code detects online
    when clients3.google.com is not accessible.
"""
TIME = 'SHORT'
TEST_CATEGORY = 'Functional'
TEST_CLASS = 'network'
TEST_TYPE = 'client'

job.run_test('network_Portal',
             force_failure='dns', tag='dns', test_iterations=2)
job.run_test('network_Portal',
             force_failure='partial-dns', tag='partial-dns', test_iterations=2)
job.run_test('network_Portal', force_failure=False, tag='online')
job.run_test('network_Portal', force_failure='portal', tag='portal')
