import optparse
import os
import platform
import subprocess
import sys
import ConfigParser

from utils import get_metadata_from_egg
from utils import findInPath
from mozprofile import *
from mozprocess.processhandler import ProcessHandler

if mozinfo.isMac:
    from plistlib import readPlist

package_metadata = get_metadata_from_egg('mozrunner')

# Map of debugging programs to information about them
# from http://mxr.mozilla.org/mozilla-central/source/build/automationutils.py#59
debuggers = {
    'gdb': {
        'interactive': True,
        'args': ['-q', '--args'],
    },
    'valgrind': {
        'interactive': False,
        'args': ['--leak-check=full']
    }
}

Esempio n. 2
0
import optparse
import os
import platform
import subprocess
import sys
import ConfigParser

from utils import get_metadata_from_egg
from utils import findInPath
from mozprofile import Profile, FirefoxProfile, MetroFirefoxProfile, ThunderbirdProfile, MozProfileCLI
from runner import Runner

if mozinfo.isMac:
    from plistlib import readPlist

package_metadata = get_metadata_from_egg('mozrunner')

# Map of debugging programs to information about them
# from http://mxr.mozilla.org/mozilla-central/source/build/automationutils.py#59
debuggers = {'gdb': {'interactive': True,
                     'args': ['-q', '--args'],},
             'valgrind': {'interactive': False,
                          'args': ['--leak-check=full']}
             }

def debugger_arguments(debugger, arguments=None, interactive=None):
    """
    finds debugger arguments from debugger given and defaults
    * debugger : debugger name or path to debugger
    * arguments : arguments to the debugger, or None to use defaults
    * interactive : whether the debugger should be run in interactive mode, or None to use default
Esempio n. 3
0
__all__ = ["Runner", "ThunderbirdRunner", "FirefoxRunner", "runners", "CLI", "cli", "package_metadata"]

import mozinfo
import optparse
import os
import platform
import sys
import ConfigParser

from utils import get_metadata_from_egg
from utils import findInPath
from mozprofile import *
from mozprocess.processhandler import ProcessHandler

package_metadata = get_metadata_from_egg("mozrunner")


class Runner(object):
    """Handles all running operations. Finds bins, runs and kills the process."""

    profile_class = Profile  # profile class to use by default

    @classmethod
    def create(
        cls,
        binary,
        cmdargs=None,
        env=None,
        kp_kwargs=None,
        profile_args=None,