Coverage report: 86%

Files Functions Classes

coverage.py v7.13.0, created at 2025-12-24 01:53 +0000

      Statements   Branches   Total
File function   coverage statements missing excluded   coverage branches partial   coverage
apio / __init__.py (no function)   100% 8 0 0   100% 0 0   100%
apio / __main__.py on_exit   50% 2 1 0   50% 2 1   50%
apio / __main__.py main   72% 25 7 0   57% 14 6   67%
apio / __main__.py (no function)   100% 8 0 0   100% 2 0   100%
apio / apio_context.py ApioDefinitions.__post_init__   100% 3 0 0   100% 0 0   100%
apio / apio_context.py ApioContext.__init__   100% 58 0 0   94% 18 1   99%
apio / apio_context.py ApioContext.report_env   100% 4 0 0   100% 0 0   100%
apio / apio_context.py ApioContext.has_project   100% 1 0 0   100% 0 0   100%
apio / apio_context.py ApioContext.project_dir   100% 3 0 0   100% 0 0   100%
apio / apio_context.py ApioContext.project   100% 2 0 0   100% 0 0   100%
apio / apio_context.py ApioContext.project_resources   100% 2 0 0   100% 0 0   100%
apio / apio_context.py ApioContext.definitions   100% 2 0 0   100% 0 0   100%
apio / apio_context.py ApioContext.boards   100% 1 0 0   100% 0 0   100%
apio / apio_context.py ApioContext.fpgas   100% 1 0 0   100% 0 0   100%
apio / apio_context.py ApioContext.programmers   100% 1 0 0   100% 0 0   100%
apio / apio_context.py ApioContext.env_build_path   100% 2 0 0   100% 0 0   100%
apio / apio_context.py ApioContext._load_resource   100% 9 0 0   100% 4 0   100%
apio / apio_context.py ApioContext._load_resource_file   54% 13 6 0   100% 0 0   54%
apio / apio_context.py ApioContext._expand_env_template   57% 7 3 0   50% 6 3   54%
apio / apio_context.py ApioContext._resolve_package_envs   100% 10 0 0   100% 6 0   100%
apio / apio_context.py ApioContext.get_required_package_info   60% 5 2 0   50% 2 1   57%
apio / apio_context.py ApioContext.get_package_dir   100% 1 0 0   100% 0 0   100%
apio / apio_context.py ApioContext.get_tmp_dir   0% 4 4 0   0% 2 0   0%
apio / apio_context.py ApioContext._determine_platform_id   60% 10 4 0   50% 4 2   57%
apio / apio_context.py ApioContext._determine_scons_shell_id   43% 21 12 0   39% 18 7   41%
apio / apio_context.py ApioContext.packages_context   100% 1 0 0   100% 0 0   100%
apio / apio_context.py ApioContext._select_required_packages_for_platform   100% 10 0 0   100% 6 0   100%
apio / apio_context.py ApioContext._get_system_platform_id   88% 8 1 0   50% 4 2   75%
apio / apio_context.py ApioContext.is_linux   0% 1 1 0   100% 0 0   0%
apio / apio_context.py ApioContext.is_darwin   0% 1 1 0   100% 0 0   0%
apio / apio_context.py ApioContext.is_windows   100% 1 0 0   100% 0 0   100%
apio / apio_context.py ApioContext._get_env_mutations_for_packages   100% 10 0 0   100% 4 0   100%
apio / apio_context.py ApioContext._dump_env_mutations   83% 12 2 0   75% 8 2   80%
apio / apio_context.py ApioContext._apply_env_mutations   100% 6 0 0   100% 2 0   100%
apio / apio_context.py ApioContext.set_env_for_packages   100% 9 0 0   83% 6 1   93%
apio / apio_context.py (no function)   100% 88 0 0   100% 0 0   100%
apio / commands / __init__.py (no function)   100% 0 0 0   100% 0 0   100%
apio / commands / apio.py context_settings   100% 2 0 0   100% 0 0   100%
apio / commands / apio.py apio_top_cli   100% 0 0 0   100% 0 0   100%
apio / commands / apio.py (no function)   100% 11 0 0   100% 0 0   100%
apio / commands / apio_api.py write_as_json_doc   69% 16 5 0   62% 8 3   67%
apio / commands / apio_api.py _get_system_cli   100% 20 0 0   50% 2 1   95%
apio / commands / apio_api.py _get_project_cli   100% 16 0 0   50% 2 1   94%
apio / commands / apio_api.py _get_boards_cli   100% 23 0 0   75% 4 1   96%
apio / commands / apio_api.py _get_fpgas_cli   100% 13 0 0   75% 4 1   94%
apio / commands / apio_api.py _get_programmers_cli   100% 9 0 0   75% 4 1   92%
apio / commands / apio_api.py _get_examples_cli   100% 20 0 0   88% 8 1   96%
apio / commands / apio_api.py scan_children   100% 15 0 0   100% 6 0   100%
apio / commands / apio_api.py _get_commands_cli   100% 14 0 0   75% 4 1   94%
apio / commands / apio_api.py _scan_devices_cli   39% 33 20 0   50% 6 3   41%
apio / commands / apio_api.py cli   100% 0 0 0   100% 0 0   100%
apio / commands / apio_api.py (no function)   100% 78 0 0   100% 0 0   100%
apio / commands / apio_boards.py Entry.sort_key   100% 1 0 0   100% 0 0   100%
apio / commands / apio_boards.py _collect_board_entries   100% 18 0 0   100% 2 0   100%
apio / commands / apio_boards.py _list_boards   100% 35 0 0   94% 16 1   98%
apio / commands / apio_boards.py _list_boards_docs_format   100% 21 0 0   100% 4 0   100%
apio / commands / apio_boards.py cli   100% 6 0 0   100% 2 0   100%
apio / commands / apio_boards.py (no function)   100% 28 0 0   100% 0 0   100%
apio / commands / apio_build.py cli   100% 4 0 0   100% 0 0   100%
apio / commands / apio_build.py (no function)   100% 18 0 0   100% 0 0   100%
apio / commands / apio_clean.py _delete_candidates   76% 25 6 0   86% 14 2   79%
apio / commands / apio_clean.py cli   100% 8 0 0   100% 0 0   100%
apio / commands / apio_clean.py (no function)   100% 18 0 0   100% 0 0   100%
apio / commands / apio_create.py cli   100% 9 0 0   100% 4 0   100%
apio / commands / apio_create.py (no function)   100% 17 0 0   100% 0 0   100%
apio / commands / apio_devices.py _list_usb_devices   17% 23 19 0   25% 4 1   19%
apio / commands / apio_devices.py _usb_cli   100% 3 0 0   100% 0 0   100%
apio / commands / apio_devices.py _list_serial_devices   17% 23 19 0   25% 4 1   19%
apio / commands / apio_devices.py _serial_cli   100% 3 0 0   100% 0 0   100%
apio / commands / apio_devices.py cli   100% 0 0 0   100% 0 0   100%
apio / commands / apio_devices.py (no function)   100% 21 0 0   100% 0 0   100%
apio / commands / apio_docs.py cli   0% 9 9 0   0% 2 0   0%
apio / commands / apio_docs.py (no function)   100% 11 0 0   100% 0 0   100%
apio / commands / apio_drivers.py cli   100% 0 0 0   100% 0 0   100%
apio / commands / apio_drivers.py (no function)   100% 7 0 0   100% 0 0   100%
apio / commands / apio_drivers_install.py _ftdi_cli   0% 4 4 0   100% 0 0   0%
apio / commands / apio_drivers_install.py _serial_cli   0% 4 4 0   100% 0 0   0%
apio / commands / apio_drivers_install.py cli   100% 0 0 0   100% 0 0   100%
apio / commands / apio_drivers_install.py (no function)   100% 15 0 0   100% 0 0   100%
apio / commands / apio_drivers_uninstall.py _ftdi_cli   0% 4 4 0   100% 0 0   0%
apio / commands / apio_drivers_uninstall.py _serial_cli   0% 4 4 0   100% 0 0   0%
apio / commands / apio_drivers_uninstall.py cli   100% 0 0 0   100% 0 0   100%
apio / commands / apio_drivers_uninstall.py (no function)   100% 15 0 0   100% 0 0   100%
apio / commands / apio_examples.py examples_sort_key   100% 1 0 0   100% 0 0   100%
apio / commands / apio_examples.py list_examples   86% 28 4 0   67% 12 4   80%
apio / commands / apio_examples.py list_examples_docs_format   100% 20 0 0   100% 4 0   100%
apio / commands / apio_examples.py _list_cli   100% 4 0 0   100% 2 0   100%
apio / commands / apio_examples.py _fetch_cli   79% 14 3 0   75% 4 1   78%
apio / commands / apio_examples.py cli   100% 0 0 0   100% 0 0   100%
apio / commands / apio_examples.py (no function)   100% 34 0 0   100% 0 0   100%
apio / commands / apio_format.py cli   69% 36 11 0   67% 18 6   69%
apio / commands / apio_format.py (no function)   100% 20 0 0   100% 0 0   100%
apio / commands / apio_fpgas.py Entry.sort_key   100% 1 0 0   100% 0 0   100%
apio / commands / apio_fpgas.py _collect_fpgas_entries   100% 18 0 0   83% 6 1   96%
apio / commands / apio_fpgas.py _list_fpgas   82% 33 6 0   67% 12 4   78%
apio / commands / apio_fpgas.py _list_fpgas_docs_format   100% 20 0 0   100% 4 0   100%
apio / commands / apio_fpgas.py cli   100% 6 0 0   100% 2 0   100%
apio / commands / apio_fpgas.py (no function)   100% 26 0 0   100% 0 0   100%
apio / commands / apio_graph.py cli   80% 15 3 0   50% 6 3   71%
apio / commands / apio_graph.py (no function)   100% 25 0 0   100% 0 0   100%
apio / commands / apio_info.py construct_remote_config_status_str   79% 14 3 0   50% 6 3   70%
apio / commands / apio_info.py _system_cli   100% 21 0 0   100% 0 0   100%
apio / commands / apio_info.py _platforms_cli   100% 16 0 0   100% 4 0   100%
apio / commands / apio_info.py _colors_cli   88% 26 3 0   83% 12 2   87%
apio / commands / apio_info.py _themes_cli   89% 35 4 0   83% 18 3   87%
apio / commands / apio_info.py _list_boards_table_format   100% 7 0 0   100% 2 0   100%
apio / commands / apio_info.py _list_boards_docs_format   100% 15 0 0   100% 2 0   100%
apio / commands / apio_info.py _commands_cli   100% 10 0 0   100% 6 0   100%
apio / commands / apio_info.py cli   100% 0 0 0   100% 0 0   100%
apio / commands / apio_info.py (no function)   100% 39 0 0   100% 0 0   100%
apio / commands / apio_lint.py cli   100% 8 0 0   100% 0 0   100%
apio / commands / apio_lint.py (no function)   100% 24 0 0   100% 0 0   100%
apio / commands / apio_packages.py print_packages_report   75% 48 12 0   60% 20 8   71%
apio / commands / apio_packages.py _update_cli   62% 13 5 0   67% 6 2   63%
apio / commands / apio_packages.py _list_cli   100% 3 0 0   100% 0 0   100%
apio / commands / apio_packages.py cli   100% 0 0 0   100% 0 0   100%
apio / commands / apio_packages.py (no function)   100% 27 0 0   100% 0 0   100%
apio / commands / apio_preferences.py _list_themes_colors   100% 19 0 0   100% 6 0   100%
apio / commands / apio_preferences.py _list_preferences   100% 7 0 0   100% 0 0   100%
apio / commands / apio_preferences.py _set_theme   100% 3 0 0   100% 0 0   100%
apio / commands / apio_preferences.py cli   100% 14 0 0   100% 6 0   100%
apio / commands / apio_preferences.py (no function)   100% 26 0 0   100% 0 0   100%
apio / commands / apio_raw.py run_command_with_possible_elevation   31% 13 9 0   50% 4 2   35%
apio / commands / apio_raw.py cli   81% 27 5 0   71% 14 2   78%
apio / commands / apio_raw.py (no function)   100% 18 0 0   100% 0 0   100%
apio / commands / apio_report.py cli   100% 5 0 0   100% 0 0   100%
apio / commands / apio_report.py (no function)   100% 16 0 0   100% 0 0   100%
apio / commands / apio_sim.py cli   100% 9 0 0   100% 4 0   100%
apio / commands / apio_sim.py (no function)   100% 23 0 0   100% 0 0   100%
apio / commands / apio_test.py cli   100% 5 0 0   100% 0 0   100%
apio / commands / apio_test.py (no function)   100% 16 0 0   100% 0 0   100%
apio / commands / apio_upgrade.py get_pypi_latest_version   27% 22 16 0   100% 0 0   27%
apio / commands / apio_upgrade.py cli   67% 12 4 0   50% 6 3   61%
apio / commands / apio_upgrade.py (no function)   100% 12 0 0   100% 0 0   100%
apio / commands / apio_upload.py cli   14% 7 6 0   100% 0 0   14%
apio / commands / apio_upload.py (no function)   100% 20 0 0   100% 0 0   100%
apio / commands / options.py env_option_gen   100% 1 0 0   100% 0 0   100%
apio / commands / options.py all_option_gen   100% 1 0 0   100% 0 0   100%
apio / commands / options.py force_option_gen   100% 1 0 0   100% 0 0   100%
apio / commands / options.py list_option_gen   100% 1 0 0   100% 0 0   100%
apio / commands / options.py top_module_option_gen   100% 1 0 0   100% 0 0   100%
apio / commands / options.py dst_option_gen   100% 2 0 0   100% 0 0   100%
apio / commands / options.py (no function)   100% 14 0 0   100% 0 0   100%
apio / common / __init__.py (no function)   100% 0 0 0   100% 0 0   100%
apio / common / apio_console.py ConsoleState.__post_init__   100% 4 0 0   100% 0 0   100%
apio / common / apio_console.py configure   96% 23 1 0   92% 12 1   94%
apio / common / apio_console.py check_apio_console_configured   100% 1 0 0   100% 0 0   100%
apio / common / apio_console.py is_colors_enabled   100% 2 0 0   100% 0 0   100%
apio / common / apio_console.py current_theme_name   100% 2 0 0   100% 0 0   100%
apio / common / apio_console.py console   100% 2 0 0   100% 0 0   100%
apio / common / apio_console.py cunstyle   100% 3 0 0   100% 0 0   100%
apio / common / apio_console.py cflush   100% 2 0 0   100% 0 0   100%
apio / common / apio_console.py cout   100% 10 0 0   88% 8 1   94%
apio / common / apio_console.py ctable   100% 3 0 0   100% 0 0   100%
apio / common / apio_console.py cmarkdown   0% 3 3 0   100% 0 0   0%
apio / common / apio_console.py cwrite   100% 3 0 0   100% 0 0   100%
apio / common / apio_console.py cerror   100% 4 0 0   100% 2 0   100%
apio / common / apio_console.py cwarning   75% 4 1 0   50% 2 1   67%
apio / common / apio_console.py ConsoleCapture.__init__   100% 2 0 0   100% 0 0   100%
apio / common / apio_console.py ConsoleCapture.__enter__   100% 5 0 0   100% 0 0   100%
apio / common / apio_console.py ConsoleCapture.__exit__   100% 1 0 0   100% 0 0   100%
apio / common / apio_console.py ConsoleCapture.value   100% 1 0 0   100% 0 0   100%
apio / common / apio_console.py cstyle   100% 3 0 0   100% 0 0   100%
apio / common / apio_console.py docs_text   100% 1 0 0   100% 0 0   100%
apio / common / apio_console.py is_terminal   100% 1 0 0   100% 0 0   100%
apio / common / apio_console.py cwidth   100% 1 0 0   100% 0 0   100%
apio / common / apio_console.py get_theme   100% 2 0 0   100% 0 0   100%
apio / common / apio_console.py (no function)   100% 42 0 0   100% 0 0   100%
apio / common / apio_styles.py (no function)   100% 13 0 0   100% 0 0   100%
apio / common / apio_themes.py (no function)   100% 12 0 0   100% 0 0   100%
apio / common / common_util.py env_build_path   100% 1 0 0   100% 0 0   100%
apio / common / common_util.py maybe_wait_for_remote_debugger   8% 12 11 0   50% 2 1   14%
apio / common / common_util.py file_sort_key_func   100% 4 0 0   100% 0 0   100%
apio / common / common_util.py is_source_file   100% 2 0 0   100% 0 0   100%
apio / common / common_util.py has_testbench_name   100% 2 0 0   100% 0 0   100%
apio / common / common_util.py sort_files   100% 1 0 0   100% 0 0   100%
apio / common / common_util.py get_project_source_files   100% 13 0 0   100% 8 0   100%
apio / common / common_util.py (no function)   100% 15 0 0   100% 0 0   100%
apio / common / rich_lib_windows.py fix_windows_stdout_encoding   50% 4 2 0   50% 2 1   50%
apio / common / rich_lib_windows.py apply_workaround   0% 4 4 0   100% 0 0   0%
apio / common / rich_lib_windows.py (no function)   100% 5 0 0   100% 0 0   100%
apio / managers / __init__.py (no function)   100% 0 0 0   100% 0 0   100%
apio / managers / downloader.py FileDownloader.__init__   78% 9 2 0   50% 4 2   69%
apio / managers / downloader.py FileDownloader.get_size   100% 1 0 0   100% 0 0   100%
apio / managers / downloader.py FileDownloader.start   100% 7 0 0   100% 2 0   100%
apio / managers / downloader.py FileDownloader.__del__   100% 2 0 0   50% 2 1   75%
apio / managers / downloader.py (no function)   100% 13 0 0   100% 0 0   100%
apio / managers / drivers.py Drivers.__init__   0% 1 1 0   100% 0 0   0%
apio / managers / drivers.py Drivers.ftdi_install   0% 8 8 0   0% 6 0   0%
apio / managers / drivers.py Drivers.ftdi_uninstall   0% 8 8 0   0% 6 0   0%
apio / managers / drivers.py Drivers.serial_install   0% 8 8 0   0% 6 0   0%
apio / managers / drivers.py Drivers.serial_uninstall   0% 8 8 0   0% 6 0   0%
apio / managers / drivers.py Drivers._ftdi_install_linux   0% 8 8 0   0% 2 0   0%
apio / managers / drivers.py Drivers._ftdi_uninstall_linux   0% 8 8 0   0% 2 0   0%
apio / managers / drivers.py Drivers._serial_install_linux   0% 11 11 0   0% 4 0   0%
apio / managers / drivers.py Drivers._serial_uninstall_linux   0% 8 8 0   0% 2 0   0%
apio / managers / drivers.py Drivers._reload_rules_linux   0% 3 3 0   100% 0 0   0%
apio / managers / drivers.py Drivers._add_dialout_group_linux   0% 5 5 0   0% 2 0   0%
apio / managers / drivers.py Drivers._ftdi_install_darwin   0% 2 2 0   100% 0 0   0%
apio / managers / drivers.py Drivers._ftdi_uninstall_darwin   0% 2 2 0   100% 0 0   0%
apio / managers / drivers.py Drivers._serial_install_darwin   0% 2 2 0   100% 0 0   0%
apio / managers / drivers.py Drivers._serial_uninstall_darwin   0% 2 2 0   100% 0 0   0%
apio / managers / drivers.py Drivers._ftdi_install_windows   0% 9 9 0   100% 0 0   0%
apio / managers / drivers.py Drivers._ftdi_uninstall_windows   0% 4 4 0   100% 0 0   0%
apio / managers / drivers.py Drivers._serial_install_windows   0% 6 6 0   100% 0 0   0%
apio / managers / drivers.py Drivers._serial_uninstall_windows   0% 4 4 0   100% 0 0   0%
apio / managers / drivers.py (no function)   100% 41 0 0   100% 0 0   100%
apio / managers / examples.py ExampleInfo.name   100% 1 0 0   100% 0 0   100%
apio / managers / examples.py Examples.__init__   100% 2 0 0   100% 0 0   100%
apio / managers / examples.py Examples.check_dst_dir_is_empty   71% 7 2 0   50% 2 1   67%
apio / managers / examples.py Examples.get_examples_infos   92% 24 2 0   83% 12 2   89%
apio / managers / examples.py Examples.count_examples_by_board   100% 7 0 0   100% 2 0   100%
apio / managers / examples.py Examples.lookup_example_info   80% 5 1 0   75% 4 1   78%
apio / managers / examples.py Examples.copy_example_files   83% 18 3 0   90% 10 1   86%
apio / managers / examples.py Examples.get_board_examples   100% 1 0 0   100% 0 0   100%
apio / managers / examples.py Examples.copy_board_examples   73% 22 6 0   75% 8 2   73%
apio / managers / examples.py (no function)   100% 23 0 0   100% 0 0   100%
apio / managers / packages.py PackagesContext.__post_init__   100% 4 0 0   100% 0 0   100%
apio / managers / packages.py _construct_package_download_url   71% 14 4 0   60% 10 4   67%
apio / managers / packages.py _download_package_file   33% 18 12 0   0% 2 0   30%
apio / managers / packages.py _unpack_package_file   60% 5 2 0   50% 2 1   57%
apio / managers / packages.py _delete_package_dir   73% 11 3 0   67% 6 2   71%
apio / managers / packages.py scan_and_fix_packages   100% 4 0 0   100% 2 0   100%
apio / managers / packages.py install_missing_packages_on_the_fly   27% 11 8 0   12% 8 1   21%
apio / managers / packages.py install_package   80% 35 7 0   61% 18 7   74%
apio / managers / packages.py _fix_packages   57% 21 9 0   70% 10 3   61%
apio / managers / packages.py PackageScanResults.packages_installed_ok   100% 1 0 0   100% 0 0   100%
apio / managers / packages.py PackageScanResults.num_errors_to_fix   100% 1 0 0   100% 0 0   100%
apio / managers / packages.py PackageScanResults.is_all_ok   100% 1 0 0   100% 0 0   100%
apio / managers / packages.py PackageScanResults.dump   0% 9 9 0   100% 0 0   0%
apio / managers / packages.py package_version_ok   86% 7 1 0   75% 4 1   82%
apio / managers / packages.py scan_packages   87% 30 4 0   82% 22 4   85%
apio / managers / packages.py (no function)   100% 31 0 0   100% 0 0   100%
apio / managers / programmers.py _DeviceScanner.__init__   100% 3 0 0   100% 0 0   100%
apio / managers / programmers.py _DeviceScanner.get_usb_devices   0% 4 4 0   0% 2 0   0%
apio / managers / programmers.py _DeviceScanner.get_serial_devices   0% 4 4 0   0% 2 0   0%
apio / managers / programmers.py construct_programmer_cmd   0% 2 2 0   100% 0 0   0%
apio / managers / programmers.py _construct_programmer_cmd   72% 25 7 0   70% 10 3   71%
apio / managers / programmers.py _report_unused_flag   50% 2 1 0   50% 2 1   50%
apio / managers / programmers.py _construct_cmd_template   81% 21 4 0   60% 10 4   74%
apio / managers / programmers.py _resolve_serial_cmd_template   100% 4 0 0   100% 0 0   100%
apio / managers / programmers.py _resolve_usb_cmd_template   100% 8 0 0   100% 0 0   100%
apio / managers / programmers.py _match_serial_device   82% 33 6 0   65% 20 7   75%
apio / managers / programmers.py _match_usb_device   87% 31 4 0   67% 18 6   80%
apio / managers / programmers.py _check_device_presence   95% 21 1 0   67% 12 4   85%
apio / managers / programmers.py (no function)   100% 32 0 0   100% 0 0   100%
apio / managers / project.py Project.__init__   54% 26 12 0   67% 12 2   58%
apio / managers / project.py Project._patch_legacy_board_id   100% 10 0 0   100% 8 0   100%
apio / managers / project.py Project._validate_all_sections   100% 11 0 0   100% 6 0   100%
apio / managers / project.py Project._validate_apio_section   64% 14 5 0   80% 10 2   71%
apio / managers / project.py Project._validate_env_section   100% 8 0 0   100% 6 0   100%
apio / managers / project.py Project._determine_default_env_name   100% 10 0 0   100% 6 0   100%
apio / managers / project.py Project._expand_env_options   100% 20 0 0   94% 16 1   97%
apio / managers / project.py Project.get_str_option   100% 7 0 0   100% 2 0   100%
apio / managers / project.py Project.get_list_option   100% 7 0 0   100% 2 0   100%
apio / managers / project.py load_project_from_file   75% 40 10 0   81% 16 3   77%
apio / managers / project.py create_project_file   100% 13 0 0   100% 2 0   100%
apio / managers / project.py (no function)   100% 37 0 0   100% 0 0   100%
apio / managers / scons_filter.py RangeDetector.__init__   100% 1 0 0   100% 0 0   100%
apio / managers / scons_filter.py RangeDetector.update   75% 16 4 0   75% 8 2   75%
apio / managers / scons_filter.py RangeDetector.classify_line   100% 0 0 5   100% 0 0   100%
apio / managers / scons_filter.py PnrRangeDetector.classify_line   100% 6 0 0   100% 4 0   100%
apio / managers / scons_filter.py SconsFilter.__init__   100% 6 0 0   100% 0 0   100%
apio / managers / scons_filter.py SconsFilter.on_stdout_line   100% 2 0 0   100% 0 0   100%
apio / managers / scons_filter.py SconsFilter.on_stderr_line   100% 2 0 0   100% 0 0   100%
apio / managers / scons_filter.py SconsFilter._assign_line_color   100% 4 0 0   100% 4 0   100%
apio / managers / scons_filter.py SconsFilter._output_line   60% 20 8 0   50% 8 2   57%
apio / managers / scons_filter.py SconsFilter._ignore_line   0% 2 2 0   0% 2 0   0%
apio / managers / scons_filter.py SconsFilter.on_line   71% 7 2 0   50% 4 2   64%
apio / managers / scons_filter.py (no function)   100% 30 0 3   100% 0 0   100%
apio / managers / scons_manager.py on_exception   100% 3 0 0   100% 0 0   100%
apio / managers / scons_manager.py on_exception.decorator   100% 2 0 0   100% 0 0   100%
apio / managers / scons_manager.py on_exception.decorator.wrapper   20% 10 8 0   0% 6 0   12%
apio / managers / scons_manager.py SConsManager.__init__   100% 2 0 0   100% 0 0   100%
apio / managers / scons_manager.py SConsManager.graph   100% 2 0 0   100% 0 0   100%
apio / managers / scons_manager.py SConsManager.lint   100% 2 0 0   100% 0 0   100%
apio / managers / scons_manager.py SConsManager.sim   100% 2 0 0   100% 0 0   100%
apio / managers / scons_manager.py SConsManager.test   100% 2 0 0   100% 0 0   100%
apio / managers / scons_manager.py SConsManager.build   100% 2 0 0   100% 0 0   100%
apio / managers / scons_manager.py SConsManager.report   100% 2 0 0   100% 0 0   100%
apio / managers / scons_manager.py SConsManager.upload   0% 3 3 0   100% 0 0   0%
apio / managers / scons_manager.py SConsManager.construct_scons_params   92% 37 3 0   90% 10 1   91%
apio / managers / scons_manager.py SConsManager._run_scons_subprocess   80% 40 8 0   50% 8 4   75%
apio / managers / scons_manager.py (no function)   100% 34 0 0   100% 0 0   100%
apio / managers / unpacker.py ArchiveBase.__init__   100% 2 0 0   100% 0 0   100%
apio / managers / unpacker.py ArchiveBase.get_items   100% 0 0 3   100% 0 0   100%
apio / managers / unpacker.py ArchiveBase.extract_item   67% 6 2 0   50% 4 2   60%
apio / managers / unpacker.py ArchiveBase.after_extract   100% 0 0 0   100% 0 0   100%
apio / managers / unpacker.py TARArchive.__init__   100% 1 0 0   100% 0 0   100%
apio / managers / unpacker.py TARArchive.get_items   100% 1 0 0   100% 0 0   100%
apio / managers / unpacker.py FileUnpacker.__init__   78% 9 2 0   50% 4 2   69%
apio / managers / unpacker.py FileUnpacker.start   100% 4 0 0   100% 2 0   100%
apio / managers / unpacker.py (no function)   100% 15 0 1   100% 0 0   100%
apio / profile.py get_datetime_stamp   100% 3 0 0   100% 2 0   100%
apio / profile.py days_between_datetime_stamps   100% 11 0 0   100% 0 0   100%
apio / profile.py minutes_between_datetime_stamps   56% 9 4 0   100% 0 0   56%
apio / profile.py Profile.__init__   96% 23 1 0   50% 2 1   92%
apio / profile.py Profile._apply_remote_config_policy   83% 24 4 0   58% 12 3   75%
apio / profile.py Profile.remote_config   100% 1 0 0   100% 0 0   100%
apio / profile.py Profile.add_package   100% 2 0 0   100% 0 0   100%
apio / profile.py Profile.set_preferences_theme   100% 3 0 0   100% 0 0   100%
apio / profile.py Profile.remove_package   100% 3 0 0   50% 2 1   80%
apio / profile.py Profile.apply_color_preferences   100% 2 0 0   100% 0 0   100%
apio / profile.py Profile.read_preferences_theme   100% 8 0 0   100% 2 0   100%
apio / profile.py Profile.get_installed_package_info   100% 4 0 0   100% 0 0   100%
apio / profile.py Profile.get_package_config   100% 7 0 0   100% 0 0   100%
apio / profile.py Profile._load_profile_file   100% 10 0 0   100% 2 0   100%
apio / profile.py Profile._load_installed_packages_file   100% 3 0 0   100% 2 0   100%
apio / profile.py Profile._save   77% 13 3 0   62% 8 3   71%
apio / profile.py Profile._save_installed_packages   62% 8 3 0   50% 4 2   58%
apio / profile.py Profile._handle_config_refresh_failure   0% 9 9 0   0% 2 0   0%
apio / profile.py Profile._fetch_and_update_remote_config   68% 22 7 0   50% 6 3   64%
apio / profile.py Profile._check_downloaded_remote_config   43% 7 4 0   100% 0 0   43%
apio / profile.py Profile._fetch_remote_config_text   33% 21 14 0   17% 6 1   30%
apio / profile.py (no function)   100% 46 0 0   100% 0 0   100%
apio / scons / SConstruct (no function)   100% 2 0 0   100% 0 0   100%
apio / scons / __init__.py (no function)   100% 0 0 0   100% 0 0   100%
apio / scons / apio_env.py ApioEnv.__init__   100% 10 0 0   100% 2 0   100%
apio / scons / apio_env.py ApioEnv.env_name   100% 1 0 0   100% 0 0   100%
apio / scons / apio_env.py ApioEnv.env_build_path   100% 1 0 0   100% 0 0   100%
apio / scons / apio_env.py ApioEnv.is_windows   100% 1 0 0   100% 0 0   100%
apio / scons / apio_env.py ApioEnv.is_debug   100% 1 0 0   100% 0 0   100%
apio / scons / apio_env.py ApioEnv.platform_id   0% 1 1 0   100% 0 0   0%
apio / scons / apio_env.py ApioEnv.scons_shell_id   0% 1 1 0   100% 0 0   0%
apio / scons / apio_env.py ApioEnv.targeting   100% 4 0 0   100% 4 0   100%
apio / scons / apio_env.py ApioEnv.builder   100% 1 0 0   100% 0 0   100%
apio / scons / apio_env.py ApioEnv.builder_target   100% 8 0 0   100% 6 0   100%
apio / scons / apio_env.py ApioEnv.alias   100% 4 0 0   100% 2 0   100%
apio / scons / apio_env.py ApioEnv.dump_env_vars   100% 8 0 0   100% 2 0   100%
apio / scons / apio_env.py (no function)   100% 27 0 0   100% 0 0   100%
apio / scons / plugin_base.py PluginBase.__init__   100% 3 0 0   100% 0 0   100%
apio / scons / plugin_base.py PluginBase.plugin_info   100% 0 0 2   100% 0 0   100%
apio / scons / plugin_base.py PluginBase.constrain_file   100% 4 0 0   100% 2 0   100%
apio / scons / plugin_base.py PluginBase.synth_builder   100% 0 0 2   100% 0 0   100%
apio / scons / plugin_base.py PluginBase.pnr_builder   100% 0 0 2   100% 0 0   100%
apio / scons / plugin_base.py PluginBase.bitstream_builder   100% 0 0 2   100% 0 0   100%
apio / scons / plugin_base.py PluginBase.testbench_compile_builder   100% 0 0 2   100% 0 0   100%
apio / scons / plugin_base.py PluginBase.testbench_run_builder   100% 3 0 0   100% 0 0   100%
apio / scons / plugin_base.py PluginBase.yosys_dot_builder   100% 7 0 0   100% 0 0   100%
apio / scons / plugin_base.py PluginBase.graphviz_renderer_builder   100% 12 0 0   100% 0 0   100%
apio / scons / plugin_base.py PluginBase.graphviz_renderer_builder.completion_action   55% 11 5 0   50% 2 1   54%
apio / scons / plugin_base.py PluginBase.lint_config_builder   100% 0 0 2   100% 0 0   100%
apio / scons / plugin_base.py PluginBase.lint_builder   100% 0 0 2   100% 0 0   100%
apio / scons / plugin_base.py (no function)   100% 25 0 7   100% 0 0   100%
apio / scons / plugin_ecp5.py PluginEcp5.__init__   100% 7 0 0   100% 0 0   100%
apio / scons / plugin_ecp5.py PluginEcp5.plugin_info   100% 1 0 0   100% 0 0   100%
apio / scons / plugin_ecp5.py PluginEcp5.synth_builder   100% 3 0 0   100% 0 0   100%
apio / scons / plugin_ecp5.py PluginEcp5.pnr_builder   100% 4 0 0   100% 0 0   100%
apio / scons / plugin_ecp5.py PluginEcp5.pnr_builder.emitter   100% 3 0 0   100% 0 0   100%
apio / scons / plugin_ecp5.py PluginEcp5.bitstream_builder   100% 1 0 0   100% 0 0   100%
apio / scons / plugin_ecp5.py PluginEcp5.testbench_compile_builder   100% 6 0 0   100% 0 0   100%
apio / scons / plugin_ecp5.py PluginEcp5.testbench_compile_builder.action_generator   100% 6 0 0   100% 0 0   100%
apio / scons / plugin_ecp5.py PluginEcp5.lint_config_builder   100% 2 0 0   100% 0 0   100%
apio / scons / plugin_ecp5.py PluginEcp5.lint_builder   100% 1 0 0   100% 0 0   100%
apio / scons / plugin_ecp5.py (no function)   100% 16 0 0   100% 0 0   100%
apio / scons / plugin_gowin.py PluginGowin.__init__   100% 4 0 0   100% 0 0   100%
apio / scons / plugin_gowin.py PluginGowin.plugin_info   100% 1 0 0   100% 0 0   100%
apio / scons / plugin_gowin.py PluginGowin.synth_builder   100% 3 0 0   100% 0 0   100%
apio / scons / plugin_gowin.py PluginGowin.pnr_builder   100% 4 0 0   100% 0 0   100%
apio / scons / plugin_gowin.py PluginGowin.pnr_builder.emitter   100% 3 0 0   100% 0 0   100%
apio / scons / plugin_gowin.py PluginGowin.bitstream_builder   100% 1 0 0   100% 0 0   100%
apio / scons / plugin_gowin.py PluginGowin.testbench_compile_builder   100% 6 0 0   100% 0 0   100%
apio / scons / plugin_gowin.py PluginGowin.testbench_compile_builder.action_generator   100% 6 0 0   100% 0 0   100%
apio / scons / plugin_gowin.py PluginGowin.lint_config_builder   100% 2 0 0   100% 0 0   100%
apio / scons / plugin_gowin.py PluginGowin.lint_builder   100% 1 0 0   100% 0 0   100%
apio / scons / plugin_gowin.py (no function)   100% 16 0 0   100% 0 0   100%
apio / scons / plugin_ice40.py PluginIce40.__init__   100% 4 0 0   100% 0 0   100%
apio / scons / plugin_ice40.py PluginIce40.plugin_info   100% 1 0 0   100% 0 0   100%
apio / scons / plugin_ice40.py PluginIce40.synth_builder   100% 3 0 0   100% 0 0   100%
apio / scons / plugin_ice40.py PluginIce40.pnr_builder   100% 4 0 0   100% 0 0   100%
apio / scons / plugin_ice40.py PluginIce40.pnr_builder.emitter   100% 3 0 0   100% 0 0   100%
apio / scons / plugin_ice40.py PluginIce40.bitstream_builder   100% 1 0 0   100% 0 0   100%
apio / scons / plugin_ice40.py PluginIce40.testbench_compile_builder   100% 6 0 0   100% 0 0   100%
apio / scons / plugin_ice40.py PluginIce40.testbench_compile_builder.action_generator   100% 6 0 0   100% 0 0   100%
apio / scons / plugin_ice40.py PluginIce40.lint_config_builder   100% 2 0 0   100% 0 0   100%
apio / scons / plugin_ice40.py PluginIce40.lint_builder   100% 1 0 0   100% 0 0   100%
apio / scons / plugin_ice40.py (no function)   100% 16 0 0   100% 0 0   100%
apio / scons / plugin_util.py map_params   100% 5 0 0   100% 2 0   100%
apio / scons / plugin_util.py get_constraint_file   93% 29 2 0   94% 16 1   93%
apio / scons / plugin_util.py verilog_src_scanner   100% 6 0 0   100% 0 0   100%
apio / scons / plugin_util.py verilog_src_scanner.verilog_src_scanner_func   85% 26 4 0   71% 14 2   80%
apio / scons / plugin_util.py verilator_lint_action   100% 7 0 0   100% 0 0   100%
apio / scons / plugin_util.py detached_action   0% 5 5 0   100% 0 0   0%
apio / scons / plugin_util.py detached_action.action_func   0% 7 7 0   0% 2 0   0%
apio / scons / plugin_util.py gtkwave_target   42% 12 7 0   17% 6 1   33%
apio / scons / plugin_util.py check_valid_testbench_name   25% 4 3 0   50% 2 1   33%
apio / scons / plugin_util.py get_sim_config   65% 17 6 0   67% 6 2   65%
apio / scons / plugin_util.py get_tests_configs   81% 16 3 0   83% 6 1   82%
apio / scons / plugin_util.py announce_testbench_action   100% 2 0 0   100% 0 0   100%
apio / scons / plugin_util.py announce_testbench_action.announce_testbench   100% 5 0 0   100% 0 0   100%
apio / scons / plugin_util.py source_files_issue_scanner_action   100% 4 0 0   100% 0 0   100%
apio / scons / plugin_util.py source_files_issue_scanner_action.report_source_files_issues   78% 9 2 0   75% 8 2   76%
apio / scons / plugin_util.py _print_pnr_utilization_report   100% 17 0 0   100% 2 0   100%
apio / scons / plugin_util.py _maybe_print_pnr_clocks_report   100% 14 0 0   100% 4 0   100%
apio / scons / plugin_util.py _print_pnr_report   100% 8 0 0   75% 4 1   92%
apio / scons / plugin_util.py report_action   100% 2 0 0   100% 0 0   100%
apio / scons / plugin_util.py report_action.print_pnr_report   100% 4 0 0   100% 0 0   100%
apio / scons / plugin_util.py get_programmer_cmd   100% 5 0 0   100% 0 0   100%
apio / scons / plugin_util.py get_define_flags   75% 4 1 0   50% 2 1   67%
apio / scons / plugin_util.py iverilog_action   100% 3 0 0   100% 0 0   100%
apio / scons / plugin_util.py basename   100% 2 0 0   100% 0 0   100%
apio / scons / plugin_util.py make_verilator_config_builder   100% 9 0 0   100% 2 0   100%
apio / scons / plugin_util.py make_verilator_config_builder.verilator_config_func   100% 4 0 0   100% 0 0   100%
apio / scons / plugin_util.py (no function)   100% 46 0 0   100% 0 0   100%
apio / scons / scons_handler.py SconsHandler.__init__   100% 2 0 0   100% 0 0   100%
apio / scons / scons_handler.py SconsHandler.start   85% 20 3 0   75% 8 2   82%
apio / scons / scons_handler.py SconsHandler._register_common_targets   100% 10 0 0   100% 0 0   100%
apio / scons / scons_handler.py SconsHandler._register_build_target   100% 6 0 0   100% 0 0   100%
apio / scons / scons_handler.py SconsHandler._register_upload_target   0% 5 5 0   100% 0 0   0%
apio / scons / scons_handler.py SconsHandler._register_report_target   100% 6 0 0   100% 0 0   100%
apio / scons / scons_handler.py SconsHandler._register_graph_target   100% 10 0 0   100% 0 0   100%
apio / scons / scons_handler.py SconsHandler._register_lint_target   100% 10 0 0   100% 0 0   100%
apio / scons / scons_handler.py SconsHandler._register_sim_target   100% 13 0 0   100% 0 0   100%
apio / scons / scons_handler.py SconsHandler._register_test_target   100% 15 0 0   100% 2 0   100%
apio / scons / scons_handler.py SconsHandler.execute   86% 22 3 0   86% 14 2   86%
apio / scons / scons_handler.py (no function)   100% 37 0 0   100% 0 0   100%
apio / utils / __init__.py (no function)   100% 0 0 0   100% 0 0   100%
apio / utils / cmd_util.py fatal_usage_error   100% 6 0 0   100% 0 0   100%
apio / utils / cmd_util.py _get_all_params_definitions   100% 5 0 0   100% 2 0   100%
apio / utils / cmd_util.py _params_ids_to_aliases   100% 11 0 0   100% 4 0   100%
apio / utils / cmd_util.py _is_param_specified   100% 10 0 0   100% 4 0   100%
apio / utils / cmd_util.py _specified_params   100% 5 0 0   100% 4 0   100%
apio / utils / cmd_util.py check_at_most_one_param   100% 5 0 0   100% 2 0   100%
apio / utils / cmd_util.py check_exactly_one_param   0% 10 10 0   0% 4 0   0%
apio / utils / cmd_util.py check_at_least_one_param   100% 5 0 0   100% 2 0   100%
apio / utils / cmd_util.py ApioOption.__init__   100% 2 0 0   100% 0 0   100%
apio / utils / cmd_util.py _format_apio_rich_text_help_text   100% 7 0 0   100% 2 0   100%
apio / utils / cmd_util.py ApioGroup.__init__   100% 8 0 0   100% 4 0   100%
apio / utils / cmd_util.py ApioGroup.format_help_text   100% 2 0 0   100% 0 0   100%
apio / utils / cmd_util.py ApioGroup.format_options   100% 12 0 0   100% 4 0   100%
apio / utils / cmd_util.py ApioGroup.get_command   92% 13 1 0   100% 6 0   95%
apio / utils / cmd_util.py ApioCommand.format_help_text   100% 2 0 0   100% 0 0   100%
apio / utils / cmd_util.py ApioCmdContext.__init__   100% 5 0 0   100% 2 0   100%
apio / utils / cmd_util.py ApioCmdContext.get_help   100% 2 0 0   100% 0 0   100%
apio / utils / cmd_util.py (no function)   100% 33 0 0   100% 0 0   100%
apio / utils / env_options.py get   86% 7 1 0   75% 4 1   82%
apio / utils / env_options.py is_defined   100% 3 0 0   100% 0 0   100%
apio / utils / env_options.py get_defined   100% 5 0 0   100% 4 0   100%
apio / utils / env_options.py (no function)   100% 11 0 0   100% 0 0   100%
apio / utils / jsonc.py to_json   100% 24 0 0   92% 12 1   97%
apio / utils / jsonc.py (no function)   100% 17 0 0   100% 0 0   100%
apio / utils / resource_util.py _validate_board_info   40% 5 3 0   100% 0 0   40%
apio / utils / resource_util.py _validate_fpga_info   50% 22 11 0   67% 12 4   56%
apio / utils / resource_util.py _validate_programmer_info   40% 5 3 0   100% 0 0   40%
apio / utils / resource_util.py validate_config   40% 5 3 0   100% 0 0   40%
apio / utils / resource_util.py validate_platforms   40% 5 3 0   100% 0 0   40%
apio / utils / resource_util.py validate_packages   40% 5 3 0   100% 0 0   40%
apio / utils / resource_util.py validate_project_resources   100% 3 0 0   100% 0 0   100%
apio / utils / resource_util.py collect_project_resources   55% 22 10 0   50% 10 5   53%
apio / utils / resource_util.py (no function)   100% 22 0 0   100% 0 0   100%
apio / utils / serial_util.py SerialDevice.__post_init__   100% 2 0 0   100% 0 0   100%
apio / utils / serial_util.py SerialDevice.summary   100% 1 0 0   100% 0 0   100%
apio / utils / serial_util.py scan_serial_devices   59% 22 9 0   50% 14 5   56%
apio / utils / serial_util.py SerialDeviceFilter.summary   100% 14 0 0   100% 12 0   100%
apio / utils / serial_util.py SerialDeviceFilter.set_vendor_id   100% 3 0 0   100% 0 0   100%
apio / utils / serial_util.py SerialDeviceFilter.set_product_id   100% 3 0 0   100% 0 0   100%
apio / utils / serial_util.py SerialDeviceFilter.set_product_regex   100% 3 0 0   100% 0 0   100%
apio / utils / serial_util.py SerialDeviceFilter.set_port   100% 3 0 0   100% 0 0   100%
apio / utils / serial_util.py SerialDeviceFilter.set_serial_num   100% 3 0 0   100% 0 0   100%
apio / utils / serial_util.py SerialDeviceFilter._eval   100% 11 0 0   100% 10 0   100%
apio / utils / serial_util.py SerialDeviceFilter.filter   100% 2 0 0   100% 0 0   100%
apio / utils / serial_util.py (no function)   100% 27 0 0   100% 0 0   100%
apio / utils / usb_util.py get_device_type   0% 4 4 0   0% 2 0   0%
apio / utils / usb_util.py check_usb_id_format   50% 2 1 0   50% 2 1   50%
apio / utils / usb_util.py UsbDevice.__post_init__   100% 2 0 0   100% 0 0   100%
apio / utils / usb_util.py UsbDevice.summary   100% 1 0 0   100% 0 0   100%
apio / utils / usb_util.py _get_usb_str   0% 8 8 0   0% 2 0   0%
apio / utils / usb_util.py scan_usb_devices   37% 27 17 0   25% 12 3   33%
apio / utils / usb_util.py scan_usb_devices.find_library   53% 15 7 0   50% 6 3   52%
apio / utils / usb_util.py UsbDeviceFilter.summary   100% 12 0 0   100% 10 0   100%
apio / utils / usb_util.py UsbDeviceFilter.set_vendor_id   100% 3 0 0   100% 0 0   100%
apio / utils / usb_util.py UsbDeviceFilter.set_product_id   100% 3 0 0   100% 0 0   100%
apio / utils / usb_util.py UsbDeviceFilter.set_product_regex   100% 3 0 0   100% 0 0   100%
apio / utils / usb_util.py UsbDeviceFilter.set_serial_num   100% 3 0 0   100% 0 0   100%
apio / utils / usb_util.py UsbDeviceFilter._eval   100% 9 0 0   100% 8 0   100%
apio / utils / usb_util.py UsbDeviceFilter.filter   100% 2 0 0   100% 0 0   100%
apio / utils / usb_util.py (no function)   100% 33 0 0   100% 0 0   100%
apio / utils / util.py AsyncPipe.__init__   100% 5 0 0   100% 0 0   100%
apio / utils / util.py AsyncPipe.get_buffer   100% 1 0 0   100% 0 0   100%
apio / utils / util.py AsyncPipe.fileno   100% 1 0 0   100% 0 0   100%
apio / utils / util.py AsyncPipe._handle_incoming_line   100% 4 0 0   50% 2 1   83%
apio / utils / util.py AsyncPipe.run   78% 18 4 0   75% 8 2   77%
apio / utils / util.py AsyncPipe.close   100% 2 0 0   100% 0 0   100%
apio / utils / util.py get_path_in_apio_package   100% 4 0 0   100% 0 0   100%
apio / utils / util.py exec_command   73% 22 6 0   100% 0 0   73%
apio / utils / util.py user_directory_or_cwd   71% 14 4 0   75% 8 2   73%
apio / utils / util.py get_python_version   100% 1 0 0   100% 0 0   100%
apio / utils / util.py get_python_ver_tuple   100% 1 0 0   100% 0 0   100%
apio / utils / util.py plurality   92% 12 1 0   80% 10 2   86%
apio / utils / util.py list_plurality   100% 6 0 0   100% 4 0   100%
apio / utils / util.py debug_level   57% 7 3 0   100% 0 0   57%
apio / utils / util.py is_debug   100% 3 0 0   100% 0 0   100%
apio / utils / util.py get_apio_version_tuple   100% 6 0 0   100% 0 0   100%
apio / utils / util.py get_apio_version_str   100% 2 0 0   100% 0 0   100%
apio / utils / util.py _check_apio_dir   100% 10 0 0   100% 6 0   100%
apio / utils / util.py resolve_home_dir   77% 13 3 0   100% 2 0   80%
apio / utils / util.py resolve_packages_dir   73% 11 3 0   50% 4 2   67%
apio / utils / util.py split   100% 6 0 0   50% 4 2   80%
apio / utils / util.py fpga_arch_sort_key   100% 3 0 0   100% 0 0   100%
apio / utils / util.py subprocess_call   78% 9 2 0   67% 6 2   73%
apio / utils / util.py pushd   100% 5 0 0   100% 0 0   100%
apio / utils / util.py is_pyinstaller_app   100% 1 0 0   100% 0 0   100%
apio / utils / util.py is_under_vscode_debugger   67% 3 1 0   50% 2 1   60%
apio / utils / util.py (no function)   100% 50 0 0   100% 0 0   100%
tests / __init__.py (no function)   100% 0 0 0   100% 0 0   100%
tests / conftest.py ApioSandbox.__init__   100% 10 0 0   100% 0 0   100%
tests / conftest.py ApioSandbox.expired   100% 1 0 0   100% 0 0   100%
tests / conftest.py ApioSandbox.sandbox_dir   100% 2 0 0   100% 0 0   100%
tests / conftest.py ApioSandbox.proj_dir   100% 2 0 0   100% 0 0   100%
tests / conftest.py ApioSandbox.home_dir   100% 2 0 0   100% 0 0   100%
tests / conftest.py ApioSandbox.packages_dir   100% 1 0 0   100% 0 0   100%
tests / conftest.py ApioSandbox.clear_packages   0% 3 3 0   100% 0 0   0%
tests / conftest.py ApioSandbox.invoke_apio_cmd   100% 20 0 0   100% 2 0   100%
tests / conftest.py ApioSandbox.assert_result_ok   100% 7 0 0   100% 2 0   100%
tests / conftest.py ApioSandbox.restore_system_env   100% 12 0 0   100% 6 0   100%
tests / conftest.py ApioSandbox.write_file   100% 6 0 0   100% 2 0   100%
tests / conftest.py ApioSandbox.read_file   100% 5 0 0   100% 2 0   100%
tests / conftest.py ApioSandbox.write_apio_ini   100% 10 0 0   100% 4 0   100%
tests / conftest.py ApioSandbox.write_default_apio_ini   100% 2 0 0   100% 0 0   100%
tests / conftest.py ApioRunner.__init__   100% 11 0 0   100% 0 0   100%
tests / conftest.py ApioRunner._teardown   20% 5 4 0   50% 2 1   29%
tests / conftest.py ApioRunner._get_local_config_url   100% 13 0 0   100% 0 0   100%
tests / conftest.py ApioRunner.sandbox   100% 1 0 0   100% 0 0   100%
tests / conftest.py ApioRunner.in_sandbox   100% 34 0 0   50% 2 1   97%
tests / conftest.py apio_runner   100% 2 0 0   100% 0 0   100%
tests / conftest.py (no function)   100% 55 0 0   100% 0 0   100%
tests / first_test.py test_fill_packages_cache   100% 3 0 0   100% 0 0   100%
tests / first_test.py (no function)   100% 3 0 0   100% 0 0   100%
tests / integration_tests / __init__.py (no function)   100% 0 0 0   100% 0 0   100%
tests / integration_tests / test_projects.py test_project_with_legacy_board_id   100% 10 0 0   100% 0 0   100%
tests / integration_tests / test_projects.py _test_project   100% 115 0 0   100% 4 0   100%
tests / integration_tests / test_projects.py test_project_ice40_local_dir   100% 1 0 0   100% 0 0   100%
tests / integration_tests / test_projects.py test_project_ice40_remote_dir   100% 1 0 0   100% 0 0   100%
tests / integration_tests / test_projects.py test_project_ice40_system_verilog   100% 1 0 0   100% 0 0   100%
tests / integration_tests / test_projects.py test_project_ecp5_local_dir   100% 1 0 0   100% 0 0   100%
tests / integration_tests / test_projects.py test_project_ecp5_remote_dir   100% 1 0 0   100% 0 0   100%
tests / integration_tests / test_projects.py test_project_ecp5_system_verilog   100% 1 0 0   100% 0 0   100%
tests / integration_tests / test_projects.py test_project_gowin_local_dir   100% 1 0 0   100% 0 0   100%
tests / integration_tests / test_projects.py test_project_gowin_remote_dir   100% 1 0 0   100% 0 0   100%
tests / integration_tests / test_projects.py test_project_gowin_system_verilog   100% 1 0 0   100% 0 0   100%
tests / integration_tests / test_projects.py (no function)   100% 16 0 0   100% 0 0   100%
tests / unit_tests / __init__.py (no function)   100% 0 0 0   100% 0 0   100%
tests / unit_tests / commands / __init__.py (no function)   100% 0 0 0   100% 0 0   100%
tests / unit_tests / commands / test_apio.py test_apio_cmd   100% 17 0 0   100% 0 0   100%
tests / unit_tests / commands / test_apio.py (no function)   100% 3 0 0   100% 0 0   100%
tests / unit_tests / commands / test_apio_api.py test_apio_api_get_boards   100% 12 0 0   100% 0 0   100%
tests / unit_tests / commands / test_apio_api.py test_apio_api_get_fpgas   100% 12 0 0   100% 0 0   100%
tests / unit_tests / commands / test_apio_api.py test_apio_api_get_programmers   100% 12 0 0   100% 0 0   100%
tests / unit_tests / commands / test_apio_api.py test_apio_api_get_commands   100% 14 0 0   100% 0 0   100%
tests / unit_tests / commands / test_apio_api.py test_apio_api_get_system   100% 13 0 0   100% 0 0   100%
tests / unit_tests / commands / test_apio_api.py test_apio_api_get_project   100% 18 0 0   100% 0 0   100%
tests / unit_tests / commands / test_apio_api.py test_apio_api_get_examples   100% 13 0 0   100% 0 0   100%
tests / unit_tests / commands / test_apio_api.py test_apio_api_scan_devices   100% 14 0 0   100% 0 0   100%
tests / unit_tests / commands / test_apio_api.py (no function)   100% 12 0 0   100% 0 0   100%
tests / unit_tests / commands / test_apio_boards.py test_boards_custom_board   100% 17 0 0   100% 0 0   100%
tests / unit_tests / commands / test_apio_boards.py test_boards_list_ok   100% 22 0 0   100% 0 0   100%
tests / unit_tests / commands / test_apio_boards.py (no function)   100% 6 0 0   100% 0 0   100%
tests / unit_tests / commands / test_apio_build.py test_build_without_apio_ini   100% 4 0 0   100% 0 0   100%
tests / unit_tests / commands / test_apio_build.py test_build_with_apio_ini   100% 13 0 0   100% 0 0   100%
tests / unit_tests / commands / test_apio_build.py test_build_with_env_arg_error   100% 5 0 0   100% 0 0   100%
tests / unit_tests / commands / test_apio_build.py test_files_order   100% 16 0 0   100% 0 0   100%
tests / unit_tests / commands / test_apio_build.py (no function)   100% 7 0 0   100% 0 0   100%
tests / unit_tests / commands / test_apio_clean.py test_clean   100% 10 0 0   100% 0 0   100%
tests / unit_tests / commands / test_apio_clean.py test_clean_from_remote_dir   100% 15 0 0   100% 0 0   100%
tests / unit_tests / commands / test_apio_clean.py test_clean_no_build   100% 7 0 0   100% 0 0   100%
tests / unit_tests / commands / test_apio_clean.py test_clean_legacy_files   100% 11 0 0   100% 4 0   100%
tests / unit_tests / commands / test_apio_clean.py (no function)   100% 8 0 0   100% 0 0   100%
tests / unit_tests / commands / test_apio_create.py _check_ini_file   100% 4 0 0   100% 0 0   100%
tests / unit_tests / commands / test_apio_create.py test_create   100% 23 0 0   100% 0 0   100%
tests / unit_tests / commands / test_apio_create.py (no function)   100% 8 0 0   100% 0 0   100%
tests / unit_tests / commands / test_apio_devices.py test_devices   100% 5 0 0   100% 0 0   100%
tests / unit_tests / commands / test_apio_devices.py test_apio_devices   100% 7 0 0   100% 0 0   100%
tests / unit_tests / commands / test_apio_devices.py (no function)   100% 5 0 0   100% 0 0   100%
tests / unit_tests / commands / test_apio_drivers.py test_drivers   100% 5 0 0   100% 0 0   100%
tests / unit_tests / commands / test_apio_drivers.py (no function)   100% 4 0 0   100% 0 0   100%
tests / unit_tests / commands / test_apio_examples.py test_examples   100% 37 0 0   100% 0 0   100%
tests / unit_tests / commands / test_apio_examples.py (no function)   100% 6 0 0   100% 0 0   100%
tests / unit_tests / commands / test_apio_format.py test_format_without_apio_ini   100% 4 0 0   100% 0 0   100%
tests / unit_tests / commands / test_apio_format.py test_format_with_env_arg_error   100% 5 0 0   100% 0 0   100%
tests / unit_tests / commands / test_apio_format.py (no function)   100% 4 0 0   100% 0 0   100%
tests / unit_tests / commands / test_apio_fpgas.py test_fpgas_ok   100% 15 0 0   100% 0 0   100%
tests / unit_tests / commands / test_apio_fpgas.py test_custom_fpga   100% 17 0 0   100% 0 0   100%
tests / unit_tests / commands / test_apio_fpgas.py (no function)   100% 5 0 0   100% 0 0   100%
tests / unit_tests / commands / test_apio_graph.py test_graph_no_apio_ini   100% 4 0 0   100% 0 0   100%
tests / unit_tests / commands / test_apio_graph.py test_graph_with_env_arg_error   100% 5 0 0   100% 0 0   100%
tests / unit_tests / commands / test_apio_graph.py (no function)   100% 4 0 0   100% 0 0   100%
tests / unit_tests / commands / test_apio_info.py test_apio_info   100% 37 0 0   100% 0 0   100%
tests / unit_tests / commands / test_apio_info.py (no function)   100% 5 0 0   100% 0 0   100%
tests / unit_tests / commands / test_apio_lint.py test_lint_apio_init   100% 4 0 0   100% 0 0   100%
tests / unit_tests / commands / test_apio_lint.py test_lint_with_env_arg_error   100% 5 0 0   100% 0 0   100%
tests / unit_tests / commands / test_apio_lint.py (no function)   100% 4 0 0   100% 0 0   100%
tests / unit_tests / commands / test_apio_packages.py test_packages   100% 9 0 0   100% 0 0   100%
tests / unit_tests / commands / test_apio_packages.py test_packages_slow   100% 37 0 0   100% 0 0   100%
tests / unit_tests / commands / test_apio_packages.py (no function)   100% 6 0 0   100% 0 0   100%
tests / unit_tests / commands / test_apio_preferences.py test_colors_on_off   100% 27 0 0   100% 0 0   100%
tests / unit_tests / commands / test_apio_preferences.py (no function)   100% 5 0 0   100% 0 0   100%
tests / unit_tests / commands / test_apio_raw.py test_raw   100% 21 0 0   100% 0 0   100%
tests / unit_tests / commands / test_apio_raw.py (no function)   100% 3 0 0   100% 0 0   100%
tests / unit_tests / commands / test_apio_report.py test_report_no_apio   100% 4 0 0   100% 0 0   100%
tests / unit_tests / commands / test_apio_report.py test_report_with_env_arg_error   100% 5 0 0   100% 0 0   100%
tests / unit_tests / commands / test_apio_report.py (no function)   100% 4 0 0   100% 0 0   100%
tests / unit_tests / commands / test_apio_sim.py test_sim   100% 3 0 0   100% 0 0   100%
tests / unit_tests / commands / test_apio_sim.py test_sim_with_env_arg_error   100% 5 0 0   100% 0 0   100%
tests / unit_tests / commands / test_apio_sim.py (no function)   100% 4 0 0   100% 0 0   100%
tests / unit_tests / commands / test_apio_test.py test_test   100% 4 0 0   100% 0 0   100%
tests / unit_tests / commands / test_apio_test.py test_with_env_arg_error   100% 5 0 0   100% 0 0   100%
tests / unit_tests / commands / test_apio_test.py (no function)   100% 4 0 0   100% 0 0   100%
tests / unit_tests / commands / test_apio_upgrade.py test_upgrade   100% 4 0 0   100% 0 0   100%
tests / unit_tests / commands / test_apio_upgrade.py (no function)   100% 3 0 0   100% 0 0   100%
tests / unit_tests / commands / test_apio_upload.py test_upload_without_apio_ini   100% 4 0 0   100% 0 0   100%
tests / unit_tests / commands / test_apio_upload.py test_upload_with_env_arg_error   100% 5 0 0   100% 0 0   100%
tests / unit_tests / commands / test_apio_upload.py (no function)   100% 4 0 0   100% 0 0   100%
tests / unit_tests / commands / test_shortcuts.py test_command_shortcuts   100% 17 0 0   100% 0 0   100%
tests / unit_tests / commands / test_shortcuts.py (no function)   100% 3 0 0   100% 0 0   100%
tests / unit_tests / common / test_apio_console.py test_style_unstyle   100% 11 0 0   100% 0 0   100%
tests / unit_tests / common / test_apio_console.py (no function)   100% 3 0 0   100% 0 0   100%
tests / unit_tests / common / test_apio_themes.py test_theme_style   100% 3 0 0   100% 2 0   100%
tests / unit_tests / common / test_apio_themes.py (no function)   100% 2 0 0   100% 0 0   100%
tests / unit_tests / common / test_common_utils.py test_file_sort_compare_func   100% 21 0 0   100% 0 0   100%
tests / unit_tests / common / test_common_utils.py test_sort_files   100% 2 0 0   100% 0 0   100%
tests / unit_tests / common / test_common_utils.py test_is_source_file   100% 11 0 0   100% 0 0   100%
tests / unit_tests / common / test_common_utils.py test_has_testbench_name   100% 10 0 0   100% 0 0   100%
tests / unit_tests / common / test_common_utils.py test_get_source_files   100% 14 0 0   100% 0 0   100%
tests / unit_tests / common / test_common_utils.py (no function)   100% 8 0 0   100% 0 0   100%
tests / unit_tests / managers / __init__.py (no function)   100% 0 0 0   100% 0 0   100%
tests / unit_tests / managers / test_programmers.py FakeDeviceScanner.__init__   100% 3 0 0   100% 0 0   100%
tests / unit_tests / managers / test_programmers.py FakeDeviceScanner.get_usb_devices   100% 2 0 0   100% 0 0   100%
tests / unit_tests / managers / test_programmers.py FakeDeviceScanner.get_serial_devices   100% 2 0 0   100% 0 0   100%
tests / unit_tests / managers / test_programmers.py fake_usb_device   100% 1 0 0   100% 0 0   100%
tests / unit_tests / managers / test_programmers.py fake_serial_device   100% 1 0 0   100% 0 0   100%
tests / unit_tests / managers / test_programmers.py test_default_cmd_template   100% 6 0 0   100% 0 0   100%
tests / unit_tests / managers / test_programmers.py test_custom_cmd_template   100% 6 0 0   100% 0 0   100%
tests / unit_tests / managers / test_programmers.py test_get_cmd_usb   100% 10 0 0   100% 0 0   100%
tests / unit_tests / managers / test_programmers.py test_get_cmd_usb_no_match   100% 11 0 0   100% 0 0   100%
tests / unit_tests / managers / test_programmers.py test_get_cmd_usb_multiple_matches   100% 13 0 0   100% 0 0   100%
tests / unit_tests / managers / test_programmers.py test_get_cmd_serial   100% 10 0 0   100% 0 0   100%
tests / unit_tests / managers / test_programmers.py test_get_cmd_serial_no_match   100% 11 0 0   100% 0 0   100%
tests / unit_tests / managers / test_programmers.py test_get_cmd_serial_multiple_matches   100% 13 0 0   100% 0 0   100%
tests / unit_tests / managers / test_programmers.py test_device_presence_ok   100% 11 0 0   100% 0 0   100%
tests / unit_tests / managers / test_programmers.py test_device_presence_not_found   100% 11 0 0   100% 0 0   100%
tests / unit_tests / managers / test_programmers.py (no function)   100% 23 0 0   100% 0 0   100%
tests / unit_tests / managers / test_project.py load_apio_ini   100% 5 0 0   100% 0 0   100%
tests / unit_tests / managers / test_project.py test_all_options_env   100% 8 0 0   100% 0 0   100%
tests / unit_tests / managers / test_project.py test_required_options_only_env   100% 4 0 0   100% 0 0   100%
tests / unit_tests / managers / test_project.py test_list_options   100% 3 0 0   100% 0 0   100%
tests / unit_tests / managers / test_project.py test_legacy_board_id   100% 4 0 0   100% 0 0   100%
tests / unit_tests / managers / test_project.py test_legacy_apio_ini   100% 4 0 0   100% 0 0   100%
tests / unit_tests / managers / test_project.py test_first_env_is_default   100% 3 0 0   100% 0 0   100%
tests / unit_tests / managers / test_project.py test_env_selection_from_apio_ini   100% 3 0 0   100% 0 0   100%
tests / unit_tests / managers / test_project.py test_env_selection_from_env_arg   100% 3 0 0   100% 0 0   100%
tests / unit_tests / managers / test_project.py error_tester   100% 8 0 0   100% 0 0   100%
tests / unit_tests / managers / test_project.py test_validation_errors   100% 8 0 0   100% 0 0   100%
tests / unit_tests / managers / test_project.py (no function)   100% 18 0 0   100% 0 0   100%
tests / unit_tests / managers / test_scons_filters.py test_pnr_range_detector   100% 8 0 0   100% 0 0   100%
tests / unit_tests / managers / test_scons_filters.py (no function)   100% 2 0 0   100% 0 0   100%
tests / unit_tests / managers / test_scons_manager.py test_default_params   100% 13 0 0   100% 0 0   100%
tests / unit_tests / managers / test_scons_manager.py test_explicit_params   100% 15 0 0   100% 0 0   100%
tests / unit_tests / managers / test_scons_manager.py (no function)   100% 10 0 0   100% 0 0   100%
tests / unit_tests / scons / __init__.py (no function)   100% 0 0 0   100% 0 0   100%
tests / unit_tests / scons / test_apio_env.py test_env_is_debug   100% 9 0 0   100% 0 0   100%
tests / unit_tests / scons / test_apio_env.py test_env_platform_id   100% 4 0 0   100% 0 0   100%
tests / unit_tests / scons / test_apio_env.py test_targeting   100% 4 0 0   100% 0 0   100%
tests / unit_tests / scons / test_apio_env.py (no function)   100% 6 0 0   100% 0 0   100%
tests / unit_tests / scons / test_plugin_util.py test_get_constraint_file   100% 49 0 0   100% 0 0   100%
tests / unit_tests / scons / test_plugin_util.py test_verilog_src_scanner   100% 16 0 0   100% 2 0   100%
tests / unit_tests / scons / test_plugin_util.py test_get_programmer_cmd   100% 3 0 0   100% 0 0   100%
tests / unit_tests / scons / test_plugin_util.py test_map_params   100% 5 0 0   100% 0 0   100%
tests / unit_tests / scons / test_plugin_util.py test_make_verilator_config_builder   100% 12 0 0   100% 0 0   100%
tests / unit_tests / scons / test_plugin_util.py test_verilator_lint_action_min   100% 9 0 0   100% 0 0   100%
tests / unit_tests / scons / test_plugin_util.py test_verilator_lint_action_max   100% 9 0 0   100% 0 0   100%
tests / unit_tests / scons / test_plugin_util.py (no function)   100% 20 0 0   100% 0 0   100%
tests / unit_tests / scons / testing.py SconsHacks.reset_scons_state   100% 6 0 0   100% 0 0   100%
tests / unit_tests / scons / testing.py make_test_scons_params   100% 1 0 0   100% 0 0   100%
tests / unit_tests / scons / testing.py make_test_apio_env   100% 14 0 0   100% 8 0   100%
tests / unit_tests / scons / testing.py (no function)   100% 14 0 0   100% 0 0   100%
tests / unit_tests / test_apio_context.py test_init   100% 11 0 0   100% 0 0   100%
tests / unit_tests / test_apio_context.py test_home_dir_with_a_bad_character   100% 8 0 0   100% 2 0   100%
tests / unit_tests / test_apio_context.py test_home_dir_with_relative_path   100% 7 0 0   100% 0 0   100%
tests / unit_tests / test_apio_context.py (no function)   100% 9 0 0   100% 0 0   100%
tests / unit_tests / test_profile.py get_test_data   100% 4 0 0   100% 0 0   100%
tests / unit_tests / test_profile.py test_profile_loading_config_ok   100% 8 0 0   100% 0 0   100%
tests / unit_tests / test_profile.py test_profile_loading_config_stale_version   100% 10 0 0   100% 0 0   100%
tests / unit_tests / test_profile.py test_datetime_stamp_diff_days   100% 8 0 0   100% 0 0   100%
tests / unit_tests / test_profile.py (no function)   100% 10 0 0   100% 0 0   100%
tests / unit_tests / test_resources.py lc_part_num   100% 1 0 0   100% 0 0   100%
tests / unit_tests / test_resources.py test_resources_references   100% 15 0 0   100% 4 0   100%
tests / unit_tests / test_resources.py test_resources_ids_and_order   100% 13 0 0   100% 6 0   100%
tests / unit_tests / test_resources.py test_resources_are_valid   100% 13 0 0   100% 6 0   100%
tests / unit_tests / test_resources.py test_fpga_definitions   97% 31 1 0   88% 8 1   95%
tests / unit_tests / test_resources.py (no function)   100% 9 0 0   100% 0 0   100%
tests / unit_tests / utils / __init__.py (no function)   100% 0 0 0   100% 0 0   100%
tests / unit_tests / utils / test_cmd_util.py fake_cmd   0% 1 1 0   100% 0 0   0%
tests / unit_tests / utils / test_cmd_util.py test_check_at_most_one_param   100% 20 0 0   100% 0 0   100%
tests / unit_tests / utils / test_cmd_util.py (no function)   100% 11 0 0   100% 0 0   100%
tests / unit_tests / utils / test_jsonc.py test_to_json   100% 1 0 0   100% 0 0   100%
tests / unit_tests / utils / test_jsonc.py (no function)   100% 4 0 0   100% 0 0   100%
tests / unit_tests / utils / test_serial_util.py test_device_summaries   100% 2 0 0   100% 0 0   100%
tests / unit_tests / utils / test_serial_util.py test_filtering   100% 49 0 0   100% 0 0   100%
tests / unit_tests / utils / test_serial_util.py (no function)   100% 4 0 0   100% 0 0   100%
tests / unit_tests / utils / test_usb_util.py test_device_summaries   100% 2 0 0   100% 0 0   100%
tests / unit_tests / utils / test_usb_util.py test_filtering   100% 37 0 0   100% 0 0   100%
tests / unit_tests / utils / test_usb_util.py (no function)   100% 4 0 0   100% 0 0   100%
tests / unit_tests / utils / test_util.py test_pluraliry   100% 6 0 0   100% 0 0   100%
tests / unit_tests / utils / test_util.py test_list_pluraliry   100% 5 0 0   100% 0 0   100%
tests / unit_tests / utils / test_util.py test_is_debug   100% 19 0 0   100% 0 0   100%
tests / unit_tests / utils / test_util.py test_pushd   100% 11 0 0   100% 0 0   100%
tests / unit_tests / utils / test_util.py test_subprocess_call   89% 9 1 0   100% 0 0   89%
tests / unit_tests / utils / test_util.py (no function)   100% 12 0 0   100% 0 0   100%
Total     89% 6865 776 33   72% 1276 245   86%

No items found using the specified filter.