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