#!/usr/bin/python

import sys
import os.path
from testrunhelper import TestRunHelper

class ReftestHelper(TestRunHelper):
  def __init__(self):
    PASSTHROUGH_ARGS = [
      '--extra-profile-file',
      '--install-extension',
      '--log-file',
      '--timeout',
      '--debugger',
      '--debugger-args',
      '--debugger-interactive',
      '--xunit-file',
      '--xunit-name',
      '--tests-root-dir'
    ]

    TestRunHelper.__init__(self, 'reftest/runreftest.py',
                           lambda g: g['ReftestOptions'](g['Automation']()),
                           pass_args=PASSTHROUGH_ARGS,
                           need_x=True)

def main():
  DEFAULTS = {
    '--appname': lambda: os.path.join(helper.xredir, 'firefox'),
    '--utility-path': lambda: os.path.join(helper.root, 'bin')
  }

  def pre_run_cb(options, args):
    if '--xunit-file' in sys.argv and '--tests-root-dir' not in sys.argv:
      sys.argv.extend(['--tests-root-dir', os.path.join(helper.root, 'reftest', 'tests')])

  helper = ReftestHelper()
  sys.exit(helper.run(defaults=DEFAULTS, pre_run_cb=pre_run_cb))

if __name__ == '__main__':
  main()
