# 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/.
import logging
import os
import sys
import tempfile
from mach.decorators
import Command, CommandArgument
from mozbuild.base
import BinaryNotFoundException
requirements = os.path.join(os.path.dirname(__file__),
"requirements" ,
"base.txt" )
def _init(command_context):
command_context.activate_virtualenv()
command_context.virtualenv_manager.install_pip_requirements(
requirements, require_hashes=
False
)
@Command(
"fetch-condprofile" , category=
"testing" )
@CommandArgument(
"--target-dir" , default=
None , help=
"Target directory" )
@CommandArgument(
"--platform" , default=
None , help=
"Platform" )
@CommandArgument(
"--scenario" , default=
"full" , help=
"Scenario" )
# grab choices
@CommandArgument(
"--customization" , default=
"default" , help=
"Customization" )
# same
@CommandArgument(
"--task-id" , default=
None , help=
"Task ID" )
@CommandArgument(
"--download-cache" , action=
"store_true" , default=
True )
@CommandArgument(
"--repo" ,
default=
"mozilla-central" ,
choices=[
"mozilla-central" ,
"try" ],
help=
"Repository" ,
)
def fetch(
command_context,
target_dir,
platform,
scenario,
customization,
task_id,
download_cache,
repo,
):
_init(command_context)
from condprof.client
import get_profile
from condprof.util
import get_current_platform, get_version
if platform
is None :
platform = get_current_platform()
if target_dir
is None :
target_dir = tempfile.mkdtemp()
version = get_version(command_context.get_binary_path())
get_profile(
target_dir,
platform,
scenario,
customization,
task_id,
download_cache,
repo,
version,
)
print(
"Downloaded conditioned profile can be found at: %s" % target_dir)
@Command(
"run-condprofile" , category=
"testing" )
@CommandArgument(
"archive" , help=
"Archives Dir" , type=str, default=
None )
@CommandArgument(
"--firefox" , help=
"Firefox Binary" , type=str, default=
None )
@CommandArgument(
"--scenario" , help=
"Scenario to use" , type=str, default=
"all" )
@CommandArgument(
"--profile" , help=
"Existing profile Dir" , type=str, default=
None )
@CommandArgument(
"--customization" , help=
"Profile customization to use" , type=str, default=
"all"
)
@CommandArgument(
"--visible" , help=
"Don't use headless mode" , action=
"store_true" , default=
False
)
@CommandArgument(
"--archives-dir" , help=
"Archives local dir" , type=str, default=
"/tmp/archives"
)
@CommandArgument(
"--force-new" , help=
"Create from scratch" , action=
"store_true" , default=
False
)
@CommandArgument(
"--strict" ,
help=
"Errors out immediatly on a scenario failure" ,
action=
"store_true" ,
default=
True ,
)
@CommandArgument(
"--geckodriver" ,
help=
"Path to the geckodriver binary" ,
type=str,
default=sys.platform.startswith(
"win" )
and "geckodriver.exe" or "geckodriver" ,
)
@CommandArgument(
"--device-name" , help=
"Name of the device" , type=str, default=
None )
def run(command_context, **kw):
os.environ[
"MANUAL_MACH_RUN" ] =
"1"
_init(command_context)
if kw[
"firefox" ]
is None :
try :
kw[
"firefox" ] = command_context.get_binary_path()
except BinaryNotFoundException
as e:
command_context.log(
logging.ERROR,
"run-condprofile" ,
{
"error" : str(e)},
"ERROR: {error}" ,
)
command_context.log(
logging.INFO,
"run-condprofile" , {
"help" : e.help()},
"{help}"
)
return 1
from condprof.runner
import run
run(**kw)
Messung V0.5 in Prozent C=96 H=100 G=97
¤ Dauer der Verarbeitung: 0.13 Sekunden
(vorverarbeitet am 2026-04-26)
¤
*© Formatika GbR, Deutschland