mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-27 04:05:32 +00:00
c703b7c25f
The config files under testing/config/mozharness were created so that certain mozharness options such as test harness arguments could ride the trees, simplifying a lot of logic in mozharness. But now that mozharness itself is in-tree, these configs no longer serve any purpose. Instead they are merged into the main configs at testing/mozharness/configs. --HG-- extra : commitid : KT4Ulv5TsiS extra : rebase_source : 3cd1284680ddbddf0f1712a985a07579b3905849 extra : source : 28fa968ea46ca3e232b8cfbb4a88e9a492e71b16
80 lines
2.5 KiB
Python
80 lines
2.5 KiB
Python
#!/usr/bin/env python
|
|
# ***** BEGIN LICENSE BLOCK *****
|
|
# This Source Code Form is subject to the terms of the Mozilla Public
|
|
# License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
|
# You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
# ***** END LICENSE BLOCK *****
|
|
""" mulet_unittest.py
|
|
This allows us to run Mulet unittests
|
|
|
|
Author: Armen Zambrano Gasparnian
|
|
"""
|
|
import os
|
|
import sys
|
|
|
|
# load modules from parent dir
|
|
sys.path.insert(1, os.path.dirname(sys.path[0]))
|
|
|
|
from mozharness.base.transfer import TransferMixin
|
|
from mozharness.mozilla.gaia import GaiaMixin, gaia_config_options
|
|
from b2g_desktop_unittest import B2GDesktopTest
|
|
|
|
class MuletUnittest(B2GDesktopTest, GaiaMixin, TransferMixin):
|
|
test_suites = ('reftest',)
|
|
|
|
def __init__(self):
|
|
super(MuletUnittest, self).__init__(options=gaia_config_options)
|
|
|
|
def pull(self, **kwargs):
|
|
GaiaMixin.pull(self, **kwargs)
|
|
super(MuletUnittest, self).pull(**kwargs)
|
|
|
|
def query_abs_dirs(self):
|
|
if self.abs_dirs:
|
|
return self.abs_dirs
|
|
|
|
abs_dirs = super(MuletUnittest, self).query_abs_dirs()
|
|
dirs = {}
|
|
dirs['abs_gaia_dir'] = os.path.join(
|
|
self.config["base_work_dir"], 'gaia')
|
|
dirs['abs_gaia_profile'] = os.path.join(
|
|
dirs["abs_gaia_dir"], 'profile')
|
|
self.gaia_profile = dirs['abs_gaia_profile']
|
|
abs_dirs.update(dirs)
|
|
|
|
self.abs_dirs = abs_dirs
|
|
return self.abs_dirs
|
|
|
|
def make_gaia(self, gaia_dir):
|
|
self.run_command(self.query_exe('make', return_type="list"),
|
|
cwd=gaia_dir,
|
|
halt_on_failure=True)
|
|
|
|
def preflight_run_tests(self):
|
|
# This is if we don't run all actions since we set this inside
|
|
# of download-and-extract()
|
|
if self.config.get("binary_path"):
|
|
self.binary_path = self.config["binary_path"]
|
|
|
|
if not self.binary_path:
|
|
self.fatal("Use --binary-path as it is needed for _query_abs_dir().")
|
|
|
|
def run_tests(self):
|
|
"""
|
|
Run the unit test suite.
|
|
"""
|
|
dirs = self.query_abs_dirs()
|
|
|
|
# NOTE: We currently don't clobber the checkout or the profile
|
|
if not os.path.isdir(dirs['abs_gaia_profile']):
|
|
# Make the gaia profile
|
|
self.make_gaia(dirs['abs_gaia_dir'])
|
|
|
|
super(MuletUnittest, self).run_tests()
|
|
|
|
|
|
# main {{{1
|
|
if __name__ == '__main__':
|
|
mulet_unittest = MuletUnittest()
|
|
mulet_unittest.run_and_exit()
|