1f679e2b90dbd23dd3b0a369a8be77965a07eb698commit-bot@chromium.org#!/usr/bin/python 2f679e2b90dbd23dd3b0a369a8be77965a07eb698commit-bot@chromium.org 3f679e2b90dbd23dd3b0a369a8be77965a07eb698commit-bot@chromium.org""" 4f679e2b90dbd23dd3b0a369a8be77965a07eb698commit-bot@chromium.orgCopyright 2014 Google Inc. 5f679e2b90dbd23dd3b0a369a8be77965a07eb698commit-bot@chromium.org 6f679e2b90dbd23dd3b0a369a8be77965a07eb698commit-bot@chromium.orgUse of this source code is governed by a BSD-style license that can be 7f679e2b90dbd23dd3b0a369a8be77965a07eb698commit-bot@chromium.orgfound in the LICENSE file. 8f679e2b90dbd23dd3b0a369a8be77965a07eb698commit-bot@chromium.org 9f679e2b90dbd23dd3b0a369a8be77965a07eb698commit-bot@chromium.orgA wrapper around the standard Python unittest library, adding features we need 10f679e2b90dbd23dd3b0a369a8be77965a07eb698commit-bot@chromium.orgfor various unittests within this directory. 11f679e2b90dbd23dd3b0a369a8be77965a07eb698commit-bot@chromium.org""" 12f679e2b90dbd23dd3b0a369a8be77965a07eb698commit-bot@chromium.org 1366ed8dc4bfd63e4552a213cb17909f9fbbf59abdepoger# System-level imports. 14f679e2b90dbd23dd3b0a369a8be77965a07eb698commit-bot@chromium.orgimport os 1566ed8dc4bfd63e4552a213cb17909f9fbbf59abdepogerimport sys 16f679e2b90dbd23dd3b0a369a8be77965a07eb698commit-bot@chromium.org 1766ed8dc4bfd63e4552a213cb17909f9fbbf59abdepogerPARENT_DIR = os.path.abspath(os.path.dirname(__file__)) 1866ed8dc4bfd63e4552a213cb17909f9fbbf59abdepogerTRUNK_DIR = os.path.abspath(os.path.join(PARENT_DIR, os.pardir, os.pardir)) 19f679e2b90dbd23dd3b0a369a8be77965a07eb698commit-bot@chromium.org 2066ed8dc4bfd63e4552a213cb17909f9fbbf59abdepoger# Import the superclass base_unittest module from the tools dir. 210b7127635d8245de7ac704080d722d06e47621d0epoger# 220b7127635d8245de7ac704080d722d06e47621d0epoger# TODO(epoger): If I don't put this at the beginning of sys.path, the import of 230b7127635d8245de7ac704080d722d06e47621d0epoger# tests.base_unittest fails. That's bad. I need to come up with a cleaner way 240b7127635d8245de7ac704080d722d06e47621d0epoger# of doing this... I think this will involve changing how we import the "boto" 250b7127635d8245de7ac704080d722d06e47621d0epoger# library in gs_utils.py, within the common repo. 2666ed8dc4bfd63e4552a213cb17909f9fbbf59abdepogerTOOLS_DIR = os.path.join(TRUNK_DIR, 'tools') 270b7127635d8245de7ac704080d722d06e47621d0epogerif TOOLS_DIR != sys.path[0]: 280b7127635d8245de7ac704080d722d06e47621d0epoger sys.path.insert(0, TOOLS_DIR) 2966ed8dc4bfd63e4552a213cb17909f9fbbf59abdepogerimport tests.base_unittest as superclass_module 30f679e2b90dbd23dd3b0a369a8be77965a07eb698commit-bot@chromium.org 31f679e2b90dbd23dd3b0a369a8be77965a07eb698commit-bot@chromium.org 3266ed8dc4bfd63e4552a213cb17909f9fbbf59abdepogerclass TestCase(superclass_module.TestCase): 3333ac9506fba85373135d78212bdfaab597ba7ed7epoger 3466ed8dc4bfd63e4552a213cb17909f9fbbf59abdepoger def __init__(self, *args, **kwargs): 3566ed8dc4bfd63e4552a213cb17909f9fbbf59abdepoger super(TestCase, self).__init__(*args, **kwargs) 3666ed8dc4bfd63e4552a213cb17909f9fbbf59abdepoger # Some of the tests within this package want their output validated, 3766ed8dc4bfd63e4552a213cb17909f9fbbf59abdepoger # so we declare where the expected and actual output will be. 3866ed8dc4bfd63e4552a213cb17909f9fbbf59abdepoger self._testdata_dir = os.path.join(PARENT_DIR, 'testdata') 39f679e2b90dbd23dd3b0a369a8be77965a07eb698commit-bot@chromium.org 4066ed8dc4bfd63e4552a213cb17909f9fbbf59abdepogerdef main(*args, **kwargs): 4166ed8dc4bfd63e4552a213cb17909f9fbbf59abdepoger superclass_module.main(*args, **kwargs) 42