1# Copyright 2012 The Chromium Authors. All rights reserved.
2# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
4
5"""This module provides the global variable options_for_unittests.
6
7This is set to a BrowserOptions object by the test harness, or None
8if unit tests are not running.
9
10This allows multiple unit tests to use a specific
11browser, in face of multiple options."""
12
13
14_options = []
15
16
17def Push(options):
18  _options.append(options)
19
20
21def Pop():
22  return _options.pop()
23
24
25def GetCopy():
26  if not AreSet():
27    return None
28  return _options[-1].Copy()
29
30
31def AreSet():
32  return bool(_options)
33