Coverage report: 77%

Files Functions Classes

coverage.py v7.10.7, created at 2026-08-07 07:21 +0000

File function statements missing excluded branches partial coverage
quibble/__init__.py colored_logging 5 5 0 0 0 0%
quibble/__init__.py logginglevel 6 0 0 0 0 100%
quibble/__init__.py use_headless 3 0 0 0 0 100%
quibble/__init__.py chromium_flags 13 0 0 6 0 100%
quibble/__init__.py is_in_docker 1 0 0 0 0 100%
quibble/__init__.py get_npm_command 1 1 0 0 0 0%
quibble/__init__.py Chronometer 12 0 0 0 0 100%
quibble/__init__.py (no function) 16 0 0 0 0 100%
quibble/backend.py _tcp_wait 17 17 0 4 0 0%
quibble/backend.py backend 2 0 0 0 0 100%
quibble/backend.py backend._register_backend 7 1 0 4 1 82%
quibble/backend.py get_backend 5 0 0 2 0 100%
quibble/backend.py web_backend 1 0 0 0 0 100%
quibble/backend.py db_backend 1 0 0 0 0 100%
quibble/backend.py getDatabase 4 0 0 0 0 100%
quibble/backend.py getWebserver 3 0 0 0 0 100%
quibble/backend.py _stream_relay 3 3 0 0 0 0%
quibble/backend.py _stream_to_log 4 4 0 2 0 0%
quibble/backend.py BackendServer.__init__ 1 0 0 0 0 100%
quibble/backend.py BackendServer.__enter__ 1 1 0 0 0 0%
quibble/backend.py BackendServer.__exit__ 1 1 0 0 0 0%
quibble/backend.py BackendServer.__getstate__ 4 4 0 2 0 0%
quibble/backend.py BackendServer.start 1 1 0 0 0 0%
quibble/backend.py BackendServer.stop 8 8 0 2 0 0%
quibble/backend.py DatabaseServer.__init__ 4 0 0 0 0 100%
quibble/backend.py DatabaseServer._init_rootdir 7 0 0 2 1 89%
quibble/backend.py DatabaseServer.start 1 0 0 0 0 100%
quibble/backend.py DatabaseServer.stop 3 3 0 2 0 0%
quibble/backend.py DatabaseServer.dump 1 1 0 0 0 0%
quibble/backend.py DatabaseServer.__str__ 1 0 0 0 0 100%
quibble/backend.py Postgres.__init__ 1 0 0 0 0 100%
quibble/backend.py Postgres.start 16 16 0 4 0 0%
quibble/backend.py Postgres.stop 2 2 0 0 0 0%
quibble/backend.py MySQL.__init__ 7 0 0 0 0 100%
quibble/backend.py MySQL._install_db 5 3 0 2 0 29%
quibble/backend.py MySQL._createwikidb 9 1 0 4 2 77%
quibble/backend.py MySQL.start 19 19 0 6 0 0%
quibble/backend.py MySQL.dump 4 4 0 0 0 0%
quibble/backend.py MySQL.__str__ 1 0 0 0 0 100%
quibble/backend.py SQLite.__init__ 2 0 0 0 0 100%
quibble/backend.py ChromeWebDriver.__init__ 4 0 0 0 0 100%
quibble/backend.py ChromeWebDriver.start 14 0 0 8 0 100%
quibble/backend.py ChromeWebDriver.__str__ 1 0 0 0 0 100%
quibble/backend.py WebserverEngine.__init__ 6 0 0 0 0 100%
quibble/backend.py WebserverEngine.start 4 1 0 4 2 62%
quibble/backend.py ExternalWebserver.start 1 0 0 0 0 100%
quibble/backend.py ExternalWebserver.__str__ 1 1 0 0 0 0%
quibble/backend.py PhpWebserver.__init__ 2 0 0 0 0 100%
quibble/backend.py PhpWebserver.start 7 0 0 2 0 100%
quibble/backend.py PhpWebserver.__str__ 3 1 0 2 1 60%
quibble/backend.py Xvfb.__init__ 2 0 0 0 0 100%
quibble/backend.py Xvfb.start 2 2 0 0 0 0%
quibble/backend.py Xvfb.__str__ 1 0 0 0 0 100%
quibble/backend.py Memcached.__init__ 2 0 0 0 0 100%
quibble/backend.py Memcached.start 4 4 0 0 0 0%
quibble/backend.py Memcached.__str__ 1 0 0 0 0 100%
quibble/backend.py OpenSearch.__init__ 2 2 0 0 0 0%
quibble/backend.py OpenSearch.start 2 2 0 0 0 0%
quibble/backend.py OpenSearch.__str__ 1 1 0 0 0 0%
quibble/backend.py (no function) 85 0 0 0 0 100%
quibble/cache.py client 2 0 0 0 0 100%
quibble/cache.py client.new_client 4 1 0 2 1 67%
quibble/cache.py (no function) 8 0 0 0 0 100%
quibble/cmd.py MultipleChoices.__contains__ 1 0 0 0 0 100%
quibble/cmd.py QuibbleCmd.__init__ 1 0 0 0 0 100%
quibble/cmd.py QuibbleCmd._setup_environment 10 0 0 6 0 100%
quibble/cmd.py QuibbleCmd._warn_obsolete_env_deps 1 0 0 0 0 100%
quibble/cmd.py QuibbleCmd._repos_to_clone 20 0 0 10 0 100%
quibble/cmd.py QuibbleCmd._stages_to_run 10 0 0 8 0 100%
quibble/cmd.py QuibbleCmd.get_zuul_env_from_cli_args 3 0 0 2 0 100%
quibble/cmd.py QuibbleCmd.build_execution_plan 155 12 0 96 15 88%
quibble/cmd.py QuibbleCmd.execute 17 0 0 6 0 100%
quibble/cmd.py QuibbleCmd.earlywarn 14 11 0 8 1 18%
quibble/cmd.py _parse_arguments 4 0 0 2 0 100%
quibble/cmd.py get_arg_parser 53 0 0 0 0 100%
quibble/cmd.py get_arg_parser.comma_separated_list 1 0 0 0 0 100%
quibble/cmd.py main 15 1 0 4 1 89%
quibble/cmd.py (no function) 34 1 0 2 1 94%
quibble/commands.py execute_command 2 0 0 0 0 100%
quibble/commands.py run 11 2 0 6 1 82%
quibble/commands.py _npm_install 9 9 0 4 0 0%
quibble/commands.py ReportVersions.execute 6 6 0 4 0 0%
quibble/commands.py ReportVersions.getCommands 1 1 0 0 0 0%
quibble/commands.py ReportVersions._logged_call 8 8 0 0 0 0%
quibble/commands.py ReportVersions.__str__ 1 0 0 0 0 100%
quibble/commands.py ReportDurations.__init__ 2 0 0 0 0 100%
quibble/commands.py ReportDurations.__enter__ 1 0 0 0 0 100%
quibble/commands.py ReportDurations.__exit__ 3 0 0 2 1 80%
quibble/commands.py ReportDurations.execute 1 1 0 0 0 0%
quibble/commands.py ReportDurations.printReport 1 0 0 0 0 100%
quibble/commands.py ReportDurations._build_report 27 1 0 8 1 94%
quibble/commands.py ReportDurations.result_from_exception 3 3 0 0 0 0%
quibble/commands.py ReportDurations.writeJsonReport 9 6 0 2 1 36%
quibble/commands.py ReportDurations.__str__ 1 0 0 0 0 100%
quibble/commands.py ZuulClone.__init__ 11 0 0 0 0 100%
quibble/commands.py ZuulClone.execute 1 0 0 0 0 100%
quibble/commands.py ZuulClone.__str__ 2 0 0 0 0 100%
quibble/commands.py ResolveRequires.__init__ 6 1 0 2 1 75%
quibble/commands.py ResolveRequires.execute 8 1 0 2 1 80%
quibble/commands.py ResolveRequires._clone_requires 16 0 0 8 1 96%
quibble/commands.py ResolveRequires.__str__ 1 0 0 0 0 100%
quibble/commands.py ExtSkinSubmoduleUpdate.__init__ 2 0 0 0 0 100%
quibble/commands.py ExtSkinSubmoduleUpdate.getCommands 4 0 0 2 0 100%
quibble/commands.py ExtSkinSubmoduleUpdate.execute 15 0 0 10 0 100%
quibble/commands.py ExtSkinSubmoduleUpdate.__str__ 1 0 0 0 0 100%
quibble/commands.py CreateComposerLocal.__init__ 2 0 0 0 0 100%
quibble/commands.py CreateComposerLocal.execute 5 0 0 0 0 100%
quibble/commands.py CreateComposerLocal.__str__ 1 1 0 0 0 0%
quibble/commands.py ExtSkinComposerTest.__init__ 1 0 0 0 0 100%
quibble/commands.py ExtSkinComposerTest.execute 4 0 0 4 1 88%
quibble/commands.py ExtSkinComposerTest.__str__ 1 0 0 0 0 100%
quibble/commands.py NpmTest.__init__ 1 0 0 0 0 100%
quibble/commands.py NpmTest.execute 4 4 0 2 0 0%
quibble/commands.py NpmTest.__str__ 1 0 0 0 0 100%
quibble/commands.py CoreComposerTest.__init__ 1 0 0 0 0 100%
quibble/commands.py CoreComposerTest.execute 14 3 0 4 2 72%
quibble/commands.py CoreComposerTest.__str__ 1 0 0 0 0 100%
quibble/commands.py NativeComposerDependencies.__init__ 1 0 0 0 0 100%
quibble/commands.py NativeComposerDependencies.execute 3 3 0 0 0 0%
quibble/commands.py NativeComposerDependencies.__str__ 1 1 0 0 0 0%
quibble/commands.py VendorComposerDependencies.__init__ 2 0 0 0 0 100%
quibble/commands.py VendorComposerDependencies.execute 15 0 0 0 0 100%
quibble/commands.py VendorComposerDependencies.__str__ 1 0 0 0 0 100%
quibble/commands.py NpmInstall.__init__ 5 1 0 2 1 71%
quibble/commands.py NpmInstall.execute 4 4 0 2 0 0%
quibble/commands.py NpmInstall.__str__ 1 0 0 0 0 100%
quibble/commands.py StartBackends.__init__ 2 0 0 0 0 100%
quibble/commands.py StartBackends.execute 2 0 0 2 0 100%
quibble/commands.py StartBackends._service_names 1 0 0 0 0 100%
quibble/commands.py StartBackends._exit 2 0 0 0 0 100%
quibble/commands.py StartBackends.__str__ 1 0 0 0 0 100%
quibble/commands.py InstallMediaWiki.__init__ 6 0 0 0 0 100%
quibble/commands.py InstallMediaWiki.execute 12 12 0 2 0 0%
quibble/commands.py InstallMediaWiki.clearQuibbleLocalSettings 9 9 0 4 0 0%
quibble/commands.py InstallMediaWiki._get_install_args 7 7 0 4 0 0%
quibble/commands.py InstallMediaWiki._expand_template 4 4 0 0 0 0%
quibble/commands.py InstallMediaWiki._expand_localsettings_template 4 4 0 0 0 0%
quibble/commands.py InstallMediaWiki._apply_custom_settings 6 6 0 0 0 0%
quibble/commands.py InstallMediaWiki.__str__ 1 0 0 0 0 100%
quibble/commands.py Phpbench.__init__ 3 0 0 0 0 100%
quibble/commands.py Phpbench.execute 18 18 0 12 0 0%
quibble/commands.py Phpbench.__str__ 1 0 0 0 0 100%
quibble/commands.py AbstractPhpUnit.get_phpunit_command 7 2 0 4 1 73%
quibble/commands.py AbstractPhpUnit._run_phpunit 16 0 0 8 1 96%
quibble/commands.py PhpUnitDatabaseless.__init__ 6 0 0 0 0 100%
quibble/commands.py PhpUnitDatabaseless.execute 1 0 0 0 0 100%
quibble/commands.py PhpUnitDatabaseless.__str__ 1 0 0 0 0 100%
quibble/commands.py PhpUnitStandalone.__init__ 7 0 0 0 0 100%
quibble/commands.py PhpUnitStandalone.execute 1 0 0 0 0 100%
quibble/commands.py PhpUnitStandalone.__str__ 1 0 0 0 0 100%
quibble/commands.py PhpUnitUnit.__init__ 6 0 0 0 0 100%
quibble/commands.py PhpUnitUnit.execute 4 0 0 2 0 100%
quibble/commands.py PhpUnitUnit.__str__ 1 0 0 0 0 100%
quibble/commands.py PhpUnitDatabase.__init__ 6 0 0 0 0 100%
quibble/commands.py PhpUnitDatabase.execute 1 0 0 0 0 100%
quibble/commands.py PhpUnitDatabase.__str__ 1 0 0 0 0 100%
quibble/commands.py PhpUnitPrepareParallelRunComposer.__init__ 4 0 0 0 0 100%
quibble/commands.py PhpUnitPrepareParallelRunComposer.execute 10 0 0 2 1 92%
quibble/commands.py PhpUnitPrepareParallelRunComposer.__str__ 1 0 0 0 0 100%
quibble/commands.py AbstractParallelPhpUnit.__init__ 5 0 0 0 0 100%
quibble/commands.py PhpUnitDatabaselessParallelComposer.execute 5 5 0 0 0 0%
quibble/commands.py PhpUnitDatabaselessParallelComposer.__str__ 1 0 0 0 0 100%
quibble/commands.py PhpUnitDatabaseParallelComposer.execute 5 5 0 0 0 0%
quibble/commands.py PhpUnitDatabaseParallelComposer.__str__ 1 0 0 0 0 100%
quibble/commands.py PhpUnitParallelNotice.execute 3 3 0 0 0 0%
quibble/commands.py PhpUnitParallelNotice.__str__ 1 0 0 0 0 100%
quibble/commands.py QunitTests.__init__ 2 0 0 0 0 100%
quibble/commands.py QunitTests.execute 4 0 0 0 0 100%
quibble/commands.py QunitTests.__str__ 1 0 0 0 0 100%
quibble/commands.py ApiTesting.__init__ 4 0 0 0 0 100%
quibble/commands.py ApiTesting.execute 16 16 0 6 0 0%
quibble/commands.py ApiTesting.__str__ 1 0 0 0 0 100%
quibble/commands.py BrowserTests.__init__ 6 0 0 0 0 100%
quibble/commands.py BrowserTests.execute 6 6 0 4 0 0%
quibble/commands.py BrowserTests._run_webdriver 8 8 0 4 0 0%
quibble/commands.py BrowserTests.__str__ 1 0 0 0 0 100%
quibble/commands.py UserScripts.__init__ 4 0 0 0 0 100%
quibble/commands.py UserScripts.execute 12 0 0 6 1 94%
quibble/commands.py UserScripts.__str__ 1 0 0 0 0 100%
quibble/commands.py EnsureDirectory.__init__ 1 0 0 0 0 100%
quibble/commands.py EnsureDirectory.execute 1 1 0 0 0 0%
quibble/commands.py EnsureDirectory.__str__ 1 0 0 0 0 100%
quibble/commands.py GitClean.__init__ 1 0 0 0 0 100%
quibble/commands.py GitClean.execute 7 0 0 4 1 91%
quibble/commands.py GitClean.__str__ 1 0 0 0 0 100%
quibble/commands.py Parallel.__init__ 3 0 0 0 0 100%
quibble/commands.py Parallel.execute 12 0 0 8 0 100%
quibble/commands.py Parallel._run_child 10 2 0 0 0 80%
quibble/commands.py Parallel.__str__ 1 0 0 0 0 100%
quibble/commands.py SuccessCache.__init__ 7 0 0 2 1 89%
quibble/commands.py SuccessCache.check 6 0 0 2 0 100%
quibble/commands.py SuccessCache.save 2 0 0 0 0 100%
quibble/commands.py SuccessCache.check_command 1 0 0 0 0 100%
quibble/commands.py SuccessCache.save_command 1 0 0 0 0 100%
quibble/commands.py SuccessCache._key 1 0 0 0 0 100%
quibble/commands.py SuccessCache._digest 8 0 0 6 0 100%
quibble/commands.py SuccessCache._trees 4 0 0 2 0 100%
quibble/commands.py SuccessCache._repos 1 0 0 0 0 100%
quibble/commands.py SuccessCache.Check.__init__ 1 0 0 0 0 100%
quibble/commands.py SuccessCache.Check.execute 1 0 0 0 0 100%
quibble/commands.py SuccessCache.Check.__str__ 1 1 0 0 0 0%
quibble/commands.py SuccessCache.Save.__init__ 1 0 0 0 0 100%
quibble/commands.py SuccessCache.Save.execute 1 0 0 0 0 100%
quibble/commands.py SuccessCache.Save.__str__ 1 1 0 0 0 0%
quibble/commands.py _repo_has_composer_script 2 0 0 0 0 100%
quibble/commands.py _repo_has_npm_lock 2 2 0 0 0 0%
quibble/commands.py repo_has_quibble_config 1 0 0 0 0 100%
quibble/commands.py repo_load_quibble_config 2 2 0 0 0 0%
quibble/commands.py repo_has_npm_script 2 2 0 0 0 0%
quibble/commands.py get_project_dir 3 3 0 0 0 0%
quibble/commands.py _json_has_script 5 0 0 2 0 100%
quibble/commands.py transmit_error 18 18 0 2 0 0%
quibble/commands.py (no function) 201 0 0 0 0 100%
quibble/gitchangedinhead.py GitChangedInHead.__init__ 4 0 0 2 0 100%
quibble/gitchangedinhead.py GitChangedInHead.changedFiles 1 1 0 0 0 0%
quibble/gitchangedinhead.py GitChangedInHead._get_changed_files 8 8 0 6 0 0%
quibble/gitchangedinhead.py (no function) 5 0 0 0 0 100%
quibble/mediawiki/__init__.py (no function) 2 0 0 0 0 100%
quibble/mediawiki/maintenance.py getMaintenanceScript 11 0 0 6 0 100%
quibble/mediawiki/maintenance.py update 12 0 0 4 0 100%
quibble/mediawiki/maintenance.py install 12 1 0 2 1 86%
quibble/mediawiki/maintenance.py rebuildLocalisationCache 8 0 0 2 0 100%
quibble/mediawiki/maintenance.py addSite 12 2 0 4 2 75%
quibble/mediawiki/maintenance.py updateSearchIndexConfig 11 2 0 4 2 73%
quibble/mediawiki/maintenance.py forceSearchIndex 11 2 0 4 2 73%
quibble/mediawiki/maintenance.py (no function) 10 0 0 0 0 100%
quibble/mediawiki/registry.py from_path 14 2 0 10 1 79%
quibble/mediawiki/registry.py _read 2 0 0 0 0 100%
quibble/mediawiki/registry.py _parse 7 0 0 6 0 100%
quibble/mediawiki/registry.py ExtensionRegistration.__init__ 6 0 0 2 0 100%
quibble/mediawiki/registry.py ExtensionRegistration.getRequiredRepos 1 0 0 0 0 100%
quibble/mediawiki/registry.py (no function) 8 0 0 0 0 100%
quibble/pg_virtualenv_hook.py main 3 3 0 0 0 0%
quibble/pg_virtualenv_hook.py (no function) 6 6 0 2 0 0%
quibble/util.py copylog 2 0 0 0 0 100%
quibble/util.py isCoreOrVendor 1 0 0 0 0 100%
quibble/util.py isExtOrSkin 1 0 0 0 0 100%
quibble/util.py move_item_to_head 3 0 0 0 0 100%
quibble/util.py _redirect_stream 5 0 0 0 0 100%
quibble/util.py BytesStreamHandler.__init__ 1 0 0 0 0 100%
quibble/util.py BytesStreamHandler.emit 3 0 0 0 0 100%
quibble/util.py _redirect_logging 12 0 0 4 0 100%
quibble/util.py redirect_all_streams 2 0 0 0 0 100%
quibble/util.py ProgressReporter.__init__ 7 0 0 0 0 100%
quibble/util.py ProgressReporter.__iter__ 5 0 0 2 0 100%
quibble/util.py ProgressReporter._refresh 2 2 0 0 0 0%
quibble/util.py _RepeatingTimer.__init__ 2 0 0 0 0 100%
quibble/util.py _RepeatingTimer.run 2 1 0 2 1 50%
quibble/util.py FetchInfo.change 18 1 0 8 2 88%
quibble/util.py FetchInfo.change.get_url_ref 2 0 0 0 0 100%
quibble/util.py FetchInfo.fetch 6 6 0 2 0 0%
quibble/util.py FetchInfo.asZuulEnv 1 0 0 0 0 100%
quibble/util.py strtobool 6 1 0 4 1 80%
quibble/util.py (no function) 41 0 0 0 0 100%
quibble/zuul.py clone 31 0 0 18 1 98%
quibble/zuul.py _clone_worker 9 4 0 2 1 55%
quibble/zuul.py repo_dir 2 0 0 0 0 100%
quibble/zuul.py working_trees 2 0 0 0 0 100%
quibble/zuul.py (no function) 12 0 0 0 0 100%
Total   1806 370 0 452 57 77%

No items found using the specified filter.