Coverage report: 89%

Files Functions Classes

coverage.py v7.16.1, created at 2026-09-23 03:53 +0000

      Statements   Branches   Total
File function   coverage statements missing excluded   coverage branches partial   coverage
apio/__init__.py (no function)   100% 3 0 0   100% 0 0   100%
apio/__main__.py on_exit   100% 2 0 0   100% 2 0   100%
apio/__main__.py main   88% 25 3 0   79% 14 3   85%
apio/__main__.py (no function)   100% 8 0 0   100% 2 0   100%
apio/apio_context.py ApioContext.__init__   100% 55 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% 3 0 0   100% 0 0   100%
apio/apio_context.py ApioContext.project_resources   100% 3 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_file   71% 7 2 0   100% 0 0   71%
apio/apio_context.py ApioContext._expand_env_values   57% 7 3 0   50% 6 3   54%
apio/apio_context.py ApioContext._resolve_package_envs   100% 13 0 0   100% 8 0   100%
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_scons_shell_id   43% 21 12 0   39% 18 7   41%
apio/apio_context.py ApioContext._select_required_packages_for_platform   100% 11 0 0   100% 6 0   100%
apio/apio_context.py ApioContext.is_linux   100% 1 0 0   100% 0 0   100%
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% 17 0 0   100% 6 0   100%
apio/apio_context.py ApioContext._dump_env_mutations   82% 17 3 0   75% 12 3   79%
apio/apio_context.py ApioContext._apply_env_mutations   100% 8 0 0   100% 4 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% 67 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   85% 13 2 0   62% 8 3   76%
apio/commands/apio_api.py _get_system_cli   100% 29 0 0   50% 2 1   97%
apio/commands/apio_api.py _get_build_report_cli   100% 19 0 0   83% 6 1   96%
apio/commands/apio_api.py _get_project_cli   100% 27 0 0   50% 2 1   97%
apio/commands/apio_api.py _get_boards_cli   100% 22 0 0   75% 4 1   96%
apio/commands/apio_api.py _get_fpgas_cli   100% 10 0 0   75% 4 1   93%
apio/commands/apio_api.py _get_programmers_cli   100% 10 0 0   75% 4 1   93%
apio/commands/apio_api.py _get_examples_cli   100% 20 0 0   88% 8 1   96%
apio/commands/apio_api.py scan_children   100% 16 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 _get_packages_cli   100% 13 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 _echo_cli   100% 2 0 0   100% 0 0   100%
apio/commands/apio_api.py cli   100% 0 0 0   100% 0 0   100%
apio/commands/apio_api.py (no function)   100% 103 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% 5 0 0   100% 2 0   100%
apio/commands/apio_boards.py (no function)   100% 27 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% 17 0 0   100% 0 0   100%
apio/commands/apio_clean.py _delete_candidates   74% 23 6 0   79% 14 3   76%
apio/commands/apio_clean.py cli   100% 4 0 0   100% 0 0   100%
apio/commands/apio_clean.py (no function)   100% 16 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% 15 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 _scan_usb_cli   100% 2 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 _scan_serial_cli   100% 2 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% 20 0 0   100% 0 0   100%
apio/commands/apio_docs.py cli   0% 8 8 0   0% 2 0   0%
apio/commands/apio_docs.py (no function)   100% 10 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   100% 3 0 0   100% 0 0   100%
apio/commands/apio_drivers_install.py _serial_cli   100% 3 0 0   100% 0 0   100%
apio/commands/apio_drivers_install.py cli   100% 0 0 0   100% 0 0   100%
apio/commands/apio_drivers_install.py (no function)   100% 14 0 0   100% 0 0   100%
apio/commands/apio_drivers_uninstall.py _ftdi_cli   100% 3 0 0   100% 0 0   100%
apio/commands/apio_drivers_uninstall.py _serial_cli   100% 3 0 0   100% 0 0   100%
apio/commands/apio_drivers_uninstall.py cli   100% 0 0 0   100% 0 0   100%
apio/commands/apio_drivers_uninstall.py (no function)   100% 14 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   92% 12 1 0   75% 4 1   88%
apio/commands/apio_examples.py cli   100% 0 0 0   100% 0 0   100%
apio/commands/apio_examples.py (no function)   100% 32 0 0   100% 0 0   100%
apio/commands/apio_format.py cli   82% 34 6 0   70% 20 6   78%
apio/commands/apio_format.py (no function)   100% 18 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 _get_fpga_arch_params   100% 5 0 0   100% 0 0   100%
apio/commands/apio_fpgas.py _collect_fpgas_entries   100% 20 0 0   100% 4 0   100%
apio/commands/apio_fpgas.py _list_fpgas   93% 29 2 0   67% 12 4   85%
apio/commands/apio_fpgas.py _list_fpgas_docs_format   100% 20 0 0   100% 4 0   100%
apio/commands/apio_fpgas.py cli   100% 5 0 0   100% 2 0   100%
apio/commands/apio_fpgas.py (no function)   100% 27 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% 24 0 0   100% 0 0   100%
apio/commands/apio_info.py construct_remote_config_status_str   77% 13 3 0   50% 6 3   68%
apio/commands/apio_info.py _system_cli   100% 31 0 0   100% 2 0   100%
apio/commands/apio_info.py _project_cli   100% 32 0 0   100% 0 0   100%
apio/commands/apio_info.py _platforms_cli   100% 14 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   0% 15 15 0   0% 2 0   0%
apio/commands/apio_info.py _commands_cli   90% 10 1 0   83% 6 1   88%
apio/commands/apio_info.py cli   100% 0 0 0   100% 0 0   100%
apio/commands/apio_info.py (no function)   100% 48 0 0   100% 0 0   100%
apio/commands/apio_lint.py cli   100% 6 0 0   100% 0 0   100%
apio/commands/apio_lint.py (no function)   100% 20 0 0   100% 0 0   100%
apio/commands/apio_packages.py print_packages_report2   86% 28 4 0   62% 8 3   81%
apio/commands/apio_packages.py _install_cli   69% 13 4 0   50% 8 2   62%
apio/commands/apio_packages.py _list_cli   75% 4 1 0   50% 2 1   67%
apio/commands/apio_packages.py cli   100% 0 0 0   100% 0 0   100%
apio/commands/apio_packages.py (no function)   100% 25 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% 13 0 0   100% 6 0   100%
apio/commands/apio_preferences.py (no function)   100% 25 0 0   100% 0 0   100%
apio/commands/apio_raw.py _run_raw_command   62% 8 3 0   50% 6 3   57%
apio/commands/apio_raw.py cli   81% 21 4 0   75% 12 1   79%
apio/commands/apio_raw.py (no function)   100% 17 0 0   100% 0 0   100%
apio/commands/apio_report.py cli   100% 4 0 0   100% 0 0   100%
apio/commands/apio_report.py (no function)   100% 15 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% 22 0 0   100% 0 0   100%
apio/commands/apio_test.py cli   100% 10 0 0   100% 4 0   100%
apio/commands/apio_test.py (no function)   100% 19 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% 19 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 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% 13 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   100% 23 0 0   100% 12 0   100%
apio/common/apio_console.py check_apio_console_configured   100% 2 0 0   100% 0 0   100%
apio/common/apio_console.py is_colors_enabled   100% 3 0 0   100% 0 0   100%
apio/common/apio_console.py current_theme_name   100% 3 0 0   100% 0 0   100%
apio/common/apio_console.py console   100% 3 0 0   100% 0 0   100%
apio/common/apio_console.py cunstyle   100% 4 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 fatal_error   96% 23 1 0   86% 14 2   92%
apio/common/apio_console.py cwarning   0% 4 4 0   0% 2 0   0%
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 docs_text_to_str   100% 3 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% 3 0 0   100% 0 0   100%
apio/common/apio_console.py (no function)   100% 40 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% 11 0 0   100% 0 0   100%
apio/common/build_report.py read_build_report   100% 30 0 0   100% 6 0   100%
apio/common/build_report.py (no function)   100% 11 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/debug_util.py debug_level   100% 9 0 0   100% 2 0   100%
apio/common/debug_util.py is_debug   100% 3 0 0   100% 0 0   100%
apio/common/debug_util.py is_under_vscode_debugger   67% 3 1 0   50% 2 1   60%
apio/common/debug_util.py (no function)   100% 5 0 0   100% 0 0   100%
apio/common/proto_util.py check_is_initialized   91% 11 1 0   67% 6 2   82%
apio/common/proto_util.py check_is_required   100% 10 0 0   100% 8 0   100%
apio/common/proto_util.py check_not_required   87% 15 2 0   83% 12 2   85%
apio/common/proto_util.py proto_from_json_dict   100% 11 0 0   50% 2 1   92%
apio/common/proto_util.py proto_to_json_dict   100% 2 0 0   100% 0 0   100%
apio/common/proto_util.py (no function)   100% 13 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% 7 0 0   100% 0 0   100%
apio/managers/__init__.py (no function)   100% 0 0 0   100% 0 0   100%
apio/managers/apio_definitions.py ApioDefinitions.__init__   100% 20 0 0   100% 6 0   100%
apio/managers/apio_definitions.py ApioDefinitions._validate_definitions   87% 31 4 0   77% 26 6   82%
apio/managers/apio_definitions.py ApioDefinitions.is_custom_board   100% 2 0 0   100% 0 0   100%
apio/managers/apio_definitions.py ApioDefinitions.is_custom_fpga   100% 2 0 0   100% 0 0   100%
apio/managers/apio_definitions.py ApioDefinitions.is_custom_programmer   100% 2 0 0   100% 0 0   100%
apio/managers/apio_definitions.py ApioDefinitions._load_definitions   100% 11 0 0   100% 4 0   100%
apio/managers/apio_definitions.py ApioDefinitions._load_definitions_file   67% 6 2 0   100% 0 0   67%
apio/managers/apio_definitions.py (no function)   100% 21 0 0   100% 0 0   100%
apio/managers/downloader.py FileDownloader.__init__   89% 9 1 0   75% 4 1   85%
apio/managers/downloader.py FileDownloader.get_size   100% 2 0 0   100% 0 0   100%
apio/managers/downloader.py FileDownloader.download   100% 7 0 0   100% 2 0   100%
apio/managers/downloader.py FileDownloader.__del__   100% 3 0 0   100% 2 0   100%
apio/managers/downloader.py (no function)   100% 12 0 0   100% 0 0   100%
apio/managers/drivers.py Drivers.__init__   100% 1 0 0   100% 0 0   100%
apio/managers/drivers.py Drivers.ftdi_install   29% 7 5 0   17% 6 1   23%
apio/managers/drivers.py Drivers.ftdi_uninstall   29% 7 5 0   17% 6 1   23%
apio/managers/drivers.py Drivers.serial_install   29% 7 5 0   17% 6 1   23%
apio/managers/drivers.py Drivers.serial_uninstall   29% 7 5 0   17% 6 1   23%
apio/managers/drivers.py Drivers._ftdi_install_linux   70% 10 3 0   50% 4 2   64%
apio/managers/drivers.py Drivers._ftdi_uninstall_linux   70% 10 3 0   50% 4 2   64%
apio/managers/drivers.py Drivers._serial_install_linux   81% 16 3 0   50% 8 4   71%
apio/managers/drivers.py Drivers._serial_uninstall_linux   78% 9 2 0   50% 4 2   69%
apio/managers/drivers.py Drivers._sudo_steps_linux   54% 13 6 0   33% 6 2   47%
apio/managers/drivers.py Drivers._udev_reload_steps   100% 1 0 0   100% 0 0   100%
apio/managers/drivers.py Drivers._needs_dialout_group_linux   100% 2 0 0   100% 0 0   100%
apio/managers/drivers.py Drivers._ftdi_install_darwin   0% 1 1 0   100% 0 0   0%
apio/managers/drivers.py Drivers._ftdi_uninstall_darwin   0% 1 1 0   100% 0 0   0%
apio/managers/drivers.py Drivers._serial_install_darwin   0% 1 1 0   100% 0 0   0%
apio/managers/drivers.py Drivers._serial_uninstall_darwin   0% 1 1 0   100% 0 0   0%
apio/managers/drivers.py Drivers._ftdi_install_windows   0% 10 10 0   0% 2 0   0%
apio/managers/drivers.py Drivers._ftdi_uninstall_windows   0% 5 5 0   0% 2 0   0%
apio/managers/drivers.py Drivers._serial_install_windows   0% 7 7 0   0% 2 0   0%
apio/managers/drivers.py Drivers._serial_uninstall_windows   0% 5 5 0   0% 2 0   0%
apio/managers/drivers.py (no function)   100% 45 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   83% 6 1 0   50% 2 1   75%
apio/managers/examples.py Examples.get_examples_infos   94% 32 2 0   86% 14 2   91%
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   94% 16 1 0   90% 10 1   92%
apio/managers/examples.py Examples.get_board_examples   100% 1 0 0   100% 0 0   100%
apio/managers/examples.py Examples.copy_board_examples   89% 18 2 0   75% 8 2   85%
apio/managers/examples.py (no function)   100% 23 0 0   100% 0 0   100%
apio/managers/package_manager.py RequiredPackageStatus.is_ok   100% 1 0 0   100% 0 0   100%
apio/managers/package_manager.py RequiredPackageStatus.is_inconsistency   100% 1 0 0   100% 0 0   100%
apio/managers/package_manager.py PackagesScanResults.packages_installed_ok   100% 1 0 0   100% 0 0   100%
apio/managers/package_manager.py PackagesScanResults.num_inconsistencies_to_fix   100% 3 0 0   100% 0 0   100%
apio/managers/package_manager.py PackagesScanResults.is_all_ok   100% 1 0 0   100% 0 0   100%
apio/managers/package_manager.py PackagesScanResults.dump   0% 4 4 0   100% 0 0   0%
apio/managers/package_manager.py get_datetime_stamp   100% 3 0 0   50% 2 1   80%
apio/managers/package_manager.py PackageManager.__init__   100% 12 0 0   100% 0 0   100%
apio/managers/package_manager.py PackageManager.required_package_dir   100% 2 0 0   100% 0 0   100%
apio/managers/package_manager.py PackageManager._construct_package_download_url   71% 14 4 0   60% 10 4   67%
apio/managers/package_manager.py PackageManager._download_package_file   50% 12 6 0   0% 2 0   43%
apio/managers/package_manager.py PackageManager._delete_package_dir   73% 11 3 0   62% 8 3   68%
apio/managers/package_manager.py PackageManager.scan_and_fix_inconsistencies   100% 4 0 0   50% 2 1   83%
apio/managers/package_manager.py PackageManager.install_missing_packages_on_the_fly   31% 13 9 0   12% 8 1   24%
apio/managers/package_manager.py PackageManager.install_package   78% 37 8 0   60% 20 8   72%
apio/managers/package_manager.py PackageManager._fix_inconsistencies   60% 20 8 0   67% 12 2   62%
apio/managers/package_manager.py PackageManager.read_package_build_info   71% 7 2 0   100% 0 0   71%
apio/managers/package_manager.py PackageManager.get_yosys_release_tag   100% 2 0 0   100% 0 0   100%
apio/managers/package_manager.py PackageManager.check_packages_post_install   100% 6 0 0   100% 2 0   100%
apio/managers/package_manager.py PackageManager.classify_required_package_status   75% 20 5 0   64% 14 5   71%
apio/managers/package_manager.py PackageManager.scan_packages   89% 18 2 0   86% 14 2   88%
apio/managers/package_manager.py PackageManager._maybe_load_installed_packages_file   80% 10 2 0   100% 4 0   86%
apio/managers/package_manager.py PackageManager._save_installed_packages   62% 8 3 0   50% 4 2   58%
apio/managers/package_manager.py PackageManager.get_installed_package_version   100% 5 0 0   100% 0 0   100%
apio/managers/package_manager.py PackageManager.get_installed_package_info   100% 6 0 0   100% 0 0   100%
apio/managers/package_manager.py PackageManager.add_package   100% 2 0 0   100% 0 0   100%
apio/managers/package_manager.py PackageManager.remove_package   100% 3 0 0   50% 2 1   80%
apio/managers/package_manager.py PackageManager.get_required_package_spec   75% 4 1 0   50% 2 1   67%
apio/managers/package_manager.py (no function)   100% 63 0 0   100% 0 0   100%
apio/managers/profile.py Profile.__init__   100% 3 0 0   100% 0 0   100%
apio/managers/profile.py Profile.set_preferences_theme   100% 3 0 0   100% 0 0   100%
apio/managers/profile.py Profile.apply_color_preferences   100% 3 0 0   100% 0 0   100%
apio/managers/profile.py Profile.read_preferences_theme   100% 13 0 0   100% 4 0   100%
apio/managers/profile.py Profile._maybe_load_profile_file   100% 9 0 0   100% 2 0   100%
apio/managers/profile.py Profile._save   73% 11 3 0   50% 6 3   65%
apio/managers/profile.py (no function)   100% 18 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   78% 23 5 0   70% 10 3   76%
apio/managers/programmers.py _report_unused_flag   50% 2 1 0   50% 2 1   50%
apio/managers/programmers.py _construct_cmd_template   96% 25 1 0   60% 10 4   86%
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   64% 22 8   75%
apio/managers/programmers.py _match_usb_device   87% 31 4 0   65% 20 7   78%
apio/managers/programmers.py _check_device_presence   96% 23 1 0   64% 14 5   84%
apio/managers/programmers.py (no function)   100% 31 0 0   100% 0 0   100%
apio/managers/project.py Project.__init__   43% 21 12 0   60% 10 2   48%
apio/managers/project.py Project._validate_all_sections   100% 8 0 0   100% 6 0   100%
apio/managers/project.py Project._validate_apio_section   78% 9 2 0   80% 10 2   79%
apio/managers/project.py Project._validate_env_section   100% 6 0 0   100% 6 0   100%
apio/managers/project.py Project._determine_default_env_name   100% 8 0 0   100% 6 0   100%
apio/managers/project.py Project._expand_value   100% 3 0 0   100% 2 0   100%
apio/managers/project.py Project._parse_env_options   100% 19 0 0   88% 16 2   94%
apio/managers/project.py Project.get_str_option   100% 8 0 0   100% 2 0   100%
apio/managers/project.py Project.get_list_option   100% 8 0 0   100% 2 0   100%
apio/managers/project.py load_project_from_file   86% 35 5 0   81% 16 3   84%
apio/managers/project.py create_project_file   100% 10 0 0   100% 2 0   100%
apio/managers/project.py (no function)   100% 40 0 0   100% 0 0   100%
apio/managers/remote_config.py get_datetime_stamp   100% 3 0 0   100% 2 0   100%
apio/managers/remote_config.py days_between_datetime_stamps   100% 11 0 0   100% 0 0   100%
apio/managers/remote_config.py minutes_between_datetime_stamps   56% 9 4 0   100% 0 0   56%
apio/managers/remote_config.py RemoteConfig.__init__   95% 19 1 0   50% 2 1   90%
apio/managers/remote_config.py RemoteConfig._skipping_cache_msg   100% 1 0 0   100% 0 0   100%
apio/managers/remote_config.py RemoteConfig._apply_remote_config_policy   89% 27 3 0   75% 12 3   85%
apio/managers/remote_config.py RemoteConfig.data   100% 2 0 0   100% 0 0   100%
apio/managers/remote_config.py RemoteConfig.metadata   100% 2 0 0   100% 0 0   100%
apio/managers/remote_config.py RemoteConfig.get_package_config   100% 7 0 0   100% 0 0   100%
apio/managers/remote_config.py RemoteConfig._maybe_load_cached_remote_config   100% 16 0 0   100% 4 0   100%
apio/managers/remote_config.py RemoteConfig._save   67% 9 3 0   50% 4 2   62%
apio/managers/remote_config.py RemoteConfig._handle_soft_config_refresh_failure   0% 6 6 0   100% 0 0   0%
apio/managers/remote_config.py RemoteConfig._fetch_and_update_remote_config   62% 26 10 0   38% 8 3   56%
apio/managers/remote_config.py RemoteConfig._check_downloaded_remote_config   33% 9 6 0   0% 2 0   27%
apio/managers/remote_config.py RemoteConfig._fetch_remote_config_text   26% 27 20 0   10% 10 1   22%
apio/managers/remote_config.py (no function)   100% 41 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   50% 2 1 0   50% 2 1   50%
apio/managers/scons_filter.py SconsFilter.on_line   82% 11 2 0   75% 8 2   79%
apio/managers/scons_filter.py (no function)   100% 32 0 3   100% 0 0   100%
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   97% 59 2 0   92% 12 1   96%
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% 27 0 0   100% 0 0   100%
apio/managers/xilinx_chipdb.py _parts_index_path   100% 1 0 0   100% 0 0   100%
apio/managers/xilinx_chipdb.py read_xilinx_parts_index   100% 7 0 0   100% 2 0   100%
apio/managers/xilinx_chipdb.py chipdb_file_on_demand   79% 47 10 0   62% 16 6   75%
apio/managers/xilinx_chipdb.py (no function)   100% 14 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__   80% 10 2 0   50% 2 1   75%
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.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_one_of   100% 4 0 0   100% 4 0   100%
apio/scons/apio_env.py ApioEnv.add_builder   100% 1 0 0   100% 0 0   100%
apio/scons/apio_env.py ApioEnv.add_builder_target   100% 8 0 0   100% 6 0   100%
apio/scons/apio_env.py ApioEnv.add_alias   100% 4 0 0   100% 2 0   100%
apio/scons/apio_env.py ApioEnv.dump_env_vars   0% 9 9 0   0% 2 0   0%
apio/scons/apio_env.py (no function)   100% 27 0 0   100% 0 0   100%
apio/scons/gtkwave_util.py _get_gtkw_file_header   100% 3 0 0   100% 0 0   100%
apio/scons/gtkwave_util.py create_gtkwave_file   100% 8 0 0   100% 2 0   100%
apio/scons/gtkwave_util.py is_user_gtkw_file   82% 11 2 0   100% 6 0   88%
apio/scons/gtkwave_util.py (no function)   100% 8 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.make_synth_builder   100% 0 0 2   100% 0 0   100%
apio/scons/plugin_base.py PluginBase.make_pnr_builder   100% 0 0 2   100% 0 0   100%
apio/scons/plugin_base.py PluginBase.make_bitstream_builder   100% 0 0 2   100% 0 0   100%
apio/scons/plugin_base.py PluginBase.make_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.make_lint_config_builder   100% 0 0 2   100% 0 0   100%
apio/scons/plugin_base.py PluginBase.make_lint_builder   100% 0 0 2   100% 0 0   100%
apio/scons/plugin_base.py (no function)   100% 24 0 9   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.make_synth_builder   100% 3 0 0   100% 0 0   100%
apio/scons/plugin_ecp5.py PluginEcp5.make_pnr_builder   100% 4 0 0   100% 0 0   100%
apio/scons/plugin_ecp5.py PluginEcp5.make_pnr_builder.emitter   100% 3 0 0   100% 0 0   100%
apio/scons/plugin_ecp5.py PluginEcp5.make_bitstream_builder   100% 1 0 0   100% 0 0   100%
apio/scons/plugin_ecp5.py PluginEcp5.make_testbench_compile_builder   100% 6 0 0   100% 0 0   100%
apio/scons/plugin_ecp5.py PluginEcp5.make_testbench_compile_builder.action_generator   100% 5 0 0   100% 0 0   100%
apio/scons/plugin_ecp5.py PluginEcp5.make_lint_config_builder   100% 2 0 0   100% 0 0   100%
apio/scons/plugin_ecp5.py PluginEcp5.make_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% 10 0 0   50% 4 2   86%
apio/scons/plugin_gowin.py PluginGowin.plugin_info   100% 1 0 0   100% 0 0   100%
apio/scons/plugin_gowin.py PluginGowin.make_synth_builder   100% 4 0 0   100% 0 0   100%
apio/scons/plugin_gowin.py PluginGowin.make_pnr_builder   100% 5 0 0   100% 0 0   100%
apio/scons/plugin_gowin.py PluginGowin.make_pnr_builder.emitter   100% 3 0 0   100% 0 0   100%
apio/scons/plugin_gowin.py PluginGowin.make_bitstream_builder   100% 1 0 0   100% 0 0   100%
apio/scons/plugin_gowin.py PluginGowin.make_testbench_compile_builder   100% 6 0 0   100% 0 0   100%
apio/scons/plugin_gowin.py PluginGowin.make_testbench_compile_builder.action_generator   100% 5 0 0   100% 0 0   100%
apio/scons/plugin_gowin.py PluginGowin.make_lint_config_builder   100% 2 0 0   100% 0 0   100%
apio/scons/plugin_gowin.py PluginGowin.make_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% 5 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.make_synth_builder   100% 3 0 0   100% 0 0   100%
apio/scons/plugin_ice40.py PluginIce40.make_pnr_builder   100% 4 0 0   100% 0 0   100%
apio/scons/plugin_ice40.py PluginIce40.make_pnr_builder.emitter   100% 3 0 0   100% 0 0   100%
apio/scons/plugin_ice40.py PluginIce40.make_bitstream_builder   100% 1 0 0   100% 0 0   100%
apio/scons/plugin_ice40.py PluginIce40.make_testbench_compile_builder   100% 6 0 0   100% 0 0   100%
apio/scons/plugin_ice40.py PluginIce40.make_testbench_compile_builder.action_generator   100% 5 0 0   100% 0 0   100%
apio/scons/plugin_ice40.py PluginIce40.make_lint_config_builder   100% 2 0 0   100% 0 0   100%
apio/scons/plugin_ice40.py PluginIce40.make_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_str_params   100% 5 0 0   100% 2 0   100%
apio/scons/plugin_util.py map_path_params   100% 7 0 0   100% 4 0   100%
apio/scons/plugin_util.py get_constraint_file   95% 22 1 0   94% 16 1   95%
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   81% 27 5 0   69% 16 3   77%
apio/scons/plugin_util.py verilator_lint_action   100% 14 0 0   100% 4 0   100%
apio/scons/plugin_util.py TestbenchInfo.testbench_name   100% 1 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% 9 9 0   0% 2 0   0%
apio/scons/plugin_util.py gtkwave_target   48% 23 12 0   30% 10 1   42%
apio/scons/plugin_util.py gtkwave_target.create_default_gtkw_file   100% 3 0 0   100% 0 0   100%
apio/scons/plugin_util.py check_valid_testbench_name   50% 2 1 0   50% 2 1   50%
apio/scons/plugin_util.py get_apio_sim_testbench_info   86% 14 2 0   67% 6 2   80%
apio/scons/plugin_util.py get_apio_test_testbenches_infos   89% 18 2 0   80% 10 2   86%
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% 3 0 0   100% 0 0   100%
apio/scons/plugin_util.py source_files_issue_scanner_action.report_source_files_issues   86% 7 1 0   83% 6 1   85%
apio/scons/plugin_util.py _print_pnr_report   100% 30 0 0   92% 12 1   98%
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% 5 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   100% 4 0 0   100% 2 0   100%
apio/scons/plugin_util.py iverilog_action   100% 2 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% 47 0 0   100% 0 0   100%
apio/scons/plugin_xilinx.py PluginXilinx.__init__   100% 5 0 0   100% 0 0   100%
apio/scons/plugin_xilinx.py PluginXilinx.plugin_info   100% 1 0 0   100% 0 0   100%
apio/scons/plugin_xilinx.py PluginXilinx.make_synth_builder   100% 4 0 0   100% 0 0   100%
apio/scons/plugin_xilinx.py PluginXilinx.make_pnr_builder   100% 5 0 0   100% 0 0   100%
apio/scons/plugin_xilinx.py PluginXilinx.make_pnr_builder.emitter   100% 3 0 0   100% 0 0   100%
apio/scons/plugin_xilinx.py PluginXilinx.make_bitstream_builder   100% 8 0 0   100% 0 0   100%
apio/scons/plugin_xilinx.py PluginXilinx.make_testbench_compile_builder   100% 6 0 0   100% 0 0   100%
apio/scons/plugin_xilinx.py PluginXilinx.make_testbench_compile_builder.action_generator   100% 5 0 0   100% 0 0   100%
apio/scons/plugin_xilinx.py PluginXilinx.make_lint_config_builder   100% 2 0 0   100% 0 0   100%
apio/scons/plugin_xilinx.py PluginXilinx.make_lint_builder   100% 1 0 0   100% 0 0   100%
apio/scons/plugin_xilinx.py (no function)   100% 16 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   89% 28 3 0   80% 10 2   87%
apio/scons/scons_handler.py SconsHandler._register_common_targets   100% 12 0 0   100% 0 0   100%
apio/scons/scons_handler.py SconsHandler._register_apio_build_target   100% 7 0 0   100% 0 0   100%
apio/scons/scons_handler.py SconsHandler._register_apio_upload_target   0% 5 5 0   100% 0 0   0%
apio/scons/scons_handler.py SconsHandler._register_apio_report_target   100% 5 0 0   100% 0 0   100%
apio/scons/scons_handler.py SconsHandler._register_apio_graph_target   100% 10 0 0   100% 0 0   100%
apio/scons/scons_handler.py SconsHandler._register_apio_lint_target   100% 19 0 0   100% 4 0   100%
apio/scons/scons_handler.py SconsHandler._register_apio_sim_target   100% 13 0 0   100% 0 0   100%
apio/scons/scons_handler.py SconsHandler._register_apio_test_target   100% 15 0 0   100% 2 0   100%
apio/scons/scons_handler.py SconsHandler.execute   90% 21 2 0   86% 14 2   89%
apio/scons/scons_handler.py (no function)   100% 38 0 0   100% 0 0   100%
apio/utils/__init__.py (no function)   100% 0 0 0   100% 0 0   100%
apio/utils/apio_platforms.py ApioPlatform.__post_init__   100% 5 0 0   100% 0 0   100%
apio/utils/apio_platforms.py _determine_system_platform_id   88% 8 1 0   50% 4 2   75%
apio/utils/apio_platforms.py get_apio_platform   75% 8 2 0   50% 4 2   67%
apio/utils/apio_platforms.py get_all_apio_platforms   100% 1 0 0   100% 0 0   100%
apio/utils/apio_platforms.py get_system_info   100% 1 0 0   100% 0 0   100%
apio/utils/apio_platforms.py (no function)   100% 16 0 0   100% 0 0   100%
apio/utils/cmd_util.py fatal_usage_error   100% 5 0 0   100% 0 0   100%
apio/utils/cmd_util.py _get_all_params_definitions   100% 6 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% 4 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% 31 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 get_all   100% 1 0 0   100% 0 0   100%
apio/utils/env_options.py (no function)   100% 11 0 0   100% 0 0   100%
apio/utils/resource_util.py validate_config   50% 4 2 0   100% 0 0   50%
apio/utils/resource_util.py validate_packages   50% 4 2 0   100% 0 0   50%
apio/utils/resource_util.py collect_project_resources   90% 10 1 0   50% 2 1   83%
apio/utils/resource_util.py (no function)   100% 14 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   48% 27 14 0   39% 18 5   44%
apio/utils/serial_util.py SerialDeviceFilter.summary   100% 14 0 0   100% 12 0   100%
apio/utils/serial_util.py SerialDeviceFilter.set_vid   100% 3 0 0   100% 0 0   100%
apio/utils/serial_util.py SerialDeviceFilter.set_pid   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% 28 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   34% 32 21 0   25% 12 3   32%
apio/utils/usb_util.py scan_usb_devices.find_library   57% 14 6 0   50% 6 3   55%
apio/utils/usb_util.py UsbDeviceFilter.summary   100% 12 0 0   100% 10 0   100%
apio/utils/usb_util.py UsbDeviceFilter.set_vid   100% 3 0 0   100% 0 0   100%
apio/utils/usb_util.py UsbDeviceFilter.set_pid   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% 31 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   76% 21 5 0   100% 0 0   76%
apio/utils/util.py user_directory_or_cwd   83% 12 2 0   75% 8 2   80%
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 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 get_apio_release_info   100% 1 0 0   100% 0 0   100%
apio/utils/util.py get_apio_version_message   100% 3 0 0   100% 0 0   100%
apio/utils/util.py _check_apio_dir   91% 11 1 0   90% 10 1   90%
apio/utils/util.py resolve_home_dir   83% 12 2 0   100% 2 0   86%
apio/utils/util.py resolve_packages_dir   80% 10 2 0   50% 4 2   71%
apio/utils/util.py fpga_arch_sort_key   100% 3 0 0   100% 0 0   100%
apio/utils/util.py subprocess_call   75% 8 2 0   67% 6 2   71%
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 compute_file_sha256   100% 7 0 0   100% 2 0   100%
apio/utils/util.py unpack_tgz   75% 12 3 0   62% 8 3   70%
apio/utils/util.py (no function)   100% 53 0 0   100% 0 0   100%
tests/__init__.py (no function)   100% 0 0 0   100% 0 0   100%
tests/conftest.py _LogTee.__init__   100% 2 0 0   100% 0 0   100%
tests/conftest.py _LogTee.write   100% 4 0 0   100% 0 0   100%
tests/conftest.py _LogTee.flush   100% 2 0 0   100% 0 0   100%
tests/conftest.py CapturedLog.__init__   100% 2 0 0   100% 0 0   100%
tests/conftest.py CapturedLog.output_stream   100% 1 0 0   100% 0 0   100%
tests/conftest.py CapturedLog.buf   0% 1 1 0   100% 0 0   0%
tests/conftest.py CapturedLog.out   100% 2 0 0   100% 0 0   100%
tests/conftest.py CapturedLog.out_styled   0% 1 1 0   100% 0 0   0%
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% 8 0 0   100% 4 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_text   100% 3 0 0   100% 0 0   100%
tests/conftest.py ApioSandbox.read_file_lines   100% 3 0 0   100% 0 0   100%
tests/conftest.py ApioSandbox.write_json_file   100% 1 0 0   100% 0 0   100%
tests/conftest.py ApioSandbox.read_json_file   0% 3 3 0   100% 0 0   0%
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% 11 0 0   100% 0 0   100%
tests/conftest.py ApioRunner.with_logger   100% 5 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 ApioRunner.is_on_github_workflow   100% 2 0 0   100% 0 0   100%
tests/conftest.py apio_runner   100% 2 0 0   100% 0 0   100%
tests/conftest.py (no function)   100% 79 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_packages_checker.py test_yosys_release_tag_mismatch   100% 15 0 0   100% 0 0   100%
tests/integration_tests/test_packages_checker.py (no function)   100% 6 0 0   100% 0 0   100%
tests/integration_tests/test_projects.py _test_project   100% 161 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 test_project_xilinx_local_dir   100% 1 0 0   100% 0 0   100%
tests/integration_tests/test_projects.py test_project_xilinx_remote_dir   100% 1 0 0   100% 0 0   100%
tests/integration_tests/test_projects.py (no function)   100% 18 0 0   100% 0 0   100%
tests/integration_tests/test_xilinx_parts.py test_fpgas_yosys_part_num   100% 17 0 0   100% 4 0   100%
tests/integration_tests/test_xilinx_parts.py (no function)   100% 5 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_packages   100% 12 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% 21 0 0   100% 0 0   100%
tests/unit_tests/commands/test_apio_api.py test_apio_api_get_build_report   100% 21 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 test_apio_api_echo   100% 4 0 0   100% 0 0   100%
tests/unit_tests/commands/test_apio_api.py (no function)   100% 15 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% 18 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 (no function)   100% 7 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% 7 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_darwin_only   13% 15 13 0   50% 2 1   18%
tests/unit_tests/commands/test_apio_drivers.py test_drivers_github_linux_only   89% 19 2 0   50% 4 2   83%
tests/unit_tests/commands/test_apio_drivers.py test_drivers_windows_only   50% 4 2 0   50% 2 1   50%
tests/unit_tests/commands/test_apio_drivers.py (no function)   100% 7 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% 7 0 0   100% 0 0   100%
tests/unit_tests/commands/test_apio_info.py test_apio_info_system   100% 6 0 0   100% 0 0   100%
tests/unit_tests/commands/test_apio_info.py test_apio_info_project   100% 8 0 0   100% 0 0   100%
tests/unit_tests/commands/test_apio_info.py test_apio_info_platforms   100% 7 0 0   100% 0 0   100%
tests/unit_tests/commands/test_apio_info.py test_apio_info_colors   100% 7 0 0   100% 0 0   100%
tests/unit_tests/commands/test_apio_info.py test_apio_info_themes   100% 7 0 0   100% 0 0   100%
tests/unit_tests/commands/test_apio_info.py test_apio_info_commands   100% 7 0 0   100% 0 0   100%
tests/unit_tests/commands/test_apio_info.py (no function)   100% 11 0 0   100% 0 0   100%
tests/unit_tests/commands/test_apio_lint.py test_lint_no_apio_ini   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% 7 0 0   100% 0 0   100%
tests/unit_tests/commands/test_apio_packages.py test_packages_list   100% 3 0 0   100% 0 0   100%
tests/unit_tests/commands/test_apio_packages.py test_packages_install   100% 35 0 0   100% 0 0   100%
tests/unit_tests/commands/test_apio_packages.py (no function)   100% 7 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% 22 0 0   100% 0 0   100%
tests/unit_tests/commands/test_apio_raw.py test_raw_preserves_argv_and_cwd   100% 8 0 0   100% 0 0   100%
tests/unit_tests/commands/test_apio_raw.py test_raw_icepll   100% 10 0 0   100% 0 0   100%
tests/unit_tests/commands/test_apio_raw.py test_raw_ecppll   100% 10 0 0   100% 0 0   100%
tests/unit_tests/commands/test_apio_raw.py test_raw_gowin_pll   100% 10 0 0   100% 0 0   100%
tests/unit_tests/commands/test_apio_raw.py test_raw_xc7pll   100% 10 0 0   100% 0 0   100%
tests/unit_tests/commands/test_apio_raw.py (no function)   100% 11 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% 4 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 test_sim_with_no_user_gtkw_file   100% 22 0 0   100% 0 0   100%
tests/unit_tests/commands/test_apio_sim.py test_sim_with_user_gtkw_file   100% 15 0 0   100% 0 0   100%
tests/unit_tests/commands/test_apio_sim.py (no function)   100% 7 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_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 test_fatal_error   100% 49 0 0   100% 0 0   100%
tests/unit_tests/common/test_apio_console.py (no function)   100% 8 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_build_report.py test_ecp5_read_build_report   100% 7 0 0   100% 0 0   100%
tests/unit_tests/common/test_build_report.py test_non_ecp5_read_build_report   100% 7 0 0   100% 0 0   100%
tests/unit_tests/common/test_build_report.py test_hardware_pnr_reading_failure   100% 7 0 0   100% 0 0   100%
tests/unit_tests/common/test_build_report.py test_hardware_pnr_parsing_failure   100% 8 0 0   100% 0 0   100%
tests/unit_tests/common/test_build_report.py (no function)   100% 10 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/common/test_proto_util.py test_proto_from_dict_full   100% 9 0 0   100% 0 0   100%
tests/unit_tests/common/test_proto_util.py test_proto_from_dict_minimal   100% 8 0 0   100% 0 0   100%
tests/unit_tests/common/test_proto_util.py test_proto_from_dict_missing_field   100% 7 0 0   100% 0 0   100%
tests/unit_tests/common/test_proto_util.py test_proto_from_dict_unknown_field   100% 8 0 0   100% 0 0   100%
tests/unit_tests/common/test_proto_util.py test_check_is_required   100% 25 0 0   100% 0 0   100%
tests/unit_tests/common/test_proto_util.py test_check_not_required   100% 27 0 0   100% 0 0   100%
tests/unit_tests/common/test_proto_util.py (no function)   100% 10 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_apio_definitions.py test_default_loading_no_project   100% 7 0 0   100% 0 0   100%
tests/unit_tests/managers/test_apio_definitions.py test_default_loading_with_project   100% 8 0 0   100% 0 0   100%
tests/unit_tests/managers/test_apio_definitions.py test_loading_with_custom_boards   100% 16 0 0   100% 0 0   100%
tests/unit_tests/managers/test_apio_definitions.py test_loading_with_custom_fpgas   100% 18 0 0   100% 0 0   100%
tests/unit_tests/managers/test_apio_definitions.py test_loading_with_custom_programmer   100% 18 0 0   100% 0 0   100%
tests/unit_tests/managers/test_apio_definitions.py test_loading_invalid_custom_board   100% 8 0 0   100% 0 0   100%
tests/unit_tests/managers/test_apio_definitions.py test_loading_invalid_custom_fpga   100% 8 0 0   100% 0 0   100%
tests/unit_tests/managers/test_apio_definitions.py test_loading_invalid_custom_programmer   100% 8 0 0   100% 0 0   100%
tests/unit_tests/managers/test_apio_definitions.py test_loading_invalid_custom_board_id   100% 8 0 0   100% 0 0   100%
tests/unit_tests/managers/test_apio_definitions.py test_loading_invalid_custom_fpga_id   100% 8 0 0   100% 0 0   100%
tests/unit_tests/managers/test_apio_definitions.py test_loading_invalid_custom_programmer_id   100% 8 0 0   100% 0 0   100%
tests/unit_tests/managers/test_apio_definitions.py (no function)   100% 17 0 0   100% 0 0   100%
tests/unit_tests/managers/test_downloader.py test_failed_construction_safe_finalizer   100% 5 0 0   100% 0 0   100%
tests/unit_tests/managers/test_downloader.py test_failed_construction_safe_finalizer.mock_get   100% 1 0 0   100% 0 0   100%
tests/unit_tests/managers/test_downloader.py (no function)   100% 5 0 0   100% 0 0   100%
tests/unit_tests/managers/test_profile.py test_profile_loading   100% 5 0 0   100% 0 0   100%
tests/unit_tests/managers/test_profile.py test_profile_with_corrupt_profile_file   100% 10 0 0   100% 2 0   100%
tests/unit_tests/managers/test_profile.py test_profile_with_unknown_theme   100% 4 0 0   100% 2 0   100%
tests/unit_tests/managers/test_profile.py (no function)   100% 8 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% 7 0 0   100% 0 0   100%
tests/unit_tests/managers/test_programmers.py test_custom_cmd_template   100% 7 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% 22 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_env_options_specs   100% 2 0 0   100% 2 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% 3 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_macro_expansion   100% 3 0 0   100% 0 0   100%
tests/unit_tests/managers/test_project.py test_legacy_env_section_rejected   100% 1 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% 7 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% 16 0 0   100% 0 0   100%
tests/unit_tests/managers/test_remote_config.py get_test_data   100% 4 0 0   100% 0 0   100%
tests/unit_tests/managers/test_remote_config.py test_datetime_stamp_diff_days   100% 8 0 0   100% 0 0   100%
tests/unit_tests/managers/test_remote_config.py test_cached_config_ok   100% 13 0 0   100% 0 0   100%
tests/unit_tests/managers/test_remote_config.py test_cached_config_different_apio_version   100% 13 0 0   100% 0 0   100%
tests/unit_tests/managers/test_remote_config.py test_cached_config_different_apio_src_url   100% 12 0 0   100% 0 0   100%
tests/unit_tests/managers/test_remote_config.py test_cached_remote_config_too_old   100% 13 0 0   100% 0 0   100%
tests/unit_tests/managers/test_remote_config.py test_cached_remote_config_too_new   100% 13 0 0   100% 0 0   100%
tests/unit_tests/managers/test_remote_config.py test_corrupt_cached_remote_config   100% 12 0 0   100% 0 0   100%
tests/unit_tests/managers/test_remote_config.py test_no_cached_remote_config   100% 8 0 0   100% 0 0   100%
tests/unit_tests/managers/test_remote_config.py test_forced_fresh_remote_config_ok   100% 13 0 0   100% 0 0   100%
tests/unit_tests/managers/test_remote_config.py (no function)   100% 16 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% 14 0 0   100% 0 0   100%
tests/unit_tests/managers/test_scons_manager.py test_explicit_params   100% 16 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/managers/test_xilinx_chipdb.py _write_index   100% 4 0 0   100% 0 0   100%
tests/unit_tests/managers/test_xilinx_chipdb.py _context   100% 1 0 0   100% 0 0   100%
tests/unit_tests/managers/test_xilinx_chipdb.py _entry   100% 1 0 0   100% 0 0   100%
tests/unit_tests/managers/test_xilinx_chipdb.py _document   100% 1 0 0   100% 0 0   100%
tests/unit_tests/managers/test_xilinx_chipdb.py test_schema_6_is_accepted   100% 7 0 0   100% 0 0   100%
tests/unit_tests/managers/test_xilinx_chipdb.py test_absent_part_is_fatal   100% 8 0 0   100% 0 0   100%
tests/unit_tests/managers/test_xilinx_chipdb.py test_schema_5_is_rejected   100% 13 0 0   100% 0 0   100%
tests/unit_tests/managers/test_xilinx_chipdb.py (no function)   100% 14 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_platform_id   100% 4 0 0   100% 0 0   100%
tests/unit_tests/scons/test_apio_env.py test_targeting_one_if   100% 4 0 0   100% 0 0   100%
tests/unit_tests/scons/test_apio_env.py (no function)   100% 3 0 0   100% 0 0   100%
tests/unit_tests/scons/test_gtkwave_util.py test_create_gtkwave_file   100% 18 0 0   100% 2 0   100%
tests/unit_tests/scons/test_gtkwave_util.py test_default_signals_creation   100% 15 0 0   100% 2 0   100%
tests/unit_tests/scons/test_gtkwave_util.py test_user_gtkw_file_protection   100% 12 0 0   100% 0 0   100%
tests/unit_tests/scons/test_gtkwave_util.py (no function)   100% 8 0 0   100% 0 0   100%
tests/unit_tests/scons/test_plugin_util.py test_get_constraint_file   100% 43 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_str_params   100% 5 0 0   100% 0 0   100%
tests/unit_tests/scons/test_plugin_util.py test_map_path_params   100% 2 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_iverilog_action_has_no_vcd_output_macro   100% 11 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% 21 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% 15 0 0   100% 10 0   100%
tests/unit_tests/scons/testing.py (no function)   100% 13 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% 10 0 0   100% 2 0   100%
tests/unit_tests/test_apio_context.py test_home_dir_with_a_space_in_subprocess   100% 7 0 0   100% 0 0   100%
tests/unit_tests/test_apio_context.py test_home_dir_with_relative_path   100% 8 0 0   100% 0 0   100%
tests/unit_tests/test_apio_context.py (no function)   100% 13 0 0   100% 0 0   100%
tests/unit_tests/test_conftest.py State.snapshot   100% 2 0 0   100% 0 0   100%
tests/unit_tests/test_conftest.py test_logger_minimal   100% 7 0 0   100% 0 0   100%
tests/unit_tests/test_conftest.py test_logger_with_console   100% 25 0 0   100% 0 0   100%
tests/unit_tests/test_conftest.py test_logger_with_cstyle   100% 33 0 0   100% 0 0   100%
tests/unit_tests/test_conftest.py test_logger_with_apio_ctx   100% 29 0 0   100% 0 0   100%
tests/unit_tests/test_conftest.py (no function)   100% 13 0 0   100% 0 0   100%
tests/unit_tests/test_main.py _run_apio_version   100% 1 0 0   100% 0 0   100%
tests/unit_tests/test_main.py test_apio_debug_env_var_values   100% 9 0 0   100% 4 0   100%
tests/unit_tests/test_main.py (no function)   100% 8 0 0   100% 0 0   100%
tests/unit_tests/test_resources.py test_resources_references   100% 13 0 0   100% 4 0   100%
tests/unit_tests/test_resources.py test_resources_are_valid   100% 4 0 0   100% 0 0   100%
tests/unit_tests/test_resources.py (no function)   100% 5 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_apio_platforms.py test_platforms   100% 3 0 0   100% 2 0   100%
tests/unit_tests/utils/test_apio_platforms.py (no function)   100% 2 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% 19 0 0   100% 0 0   100%
tests/unit_tests/utils/test_cmd_util.py (no function)   100% 12 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% 3 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% 3 0 0   100% 0 0   100%
tests/unit_tests/utils/test_util.py test_release_info   100% 3 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 test_compute_file_sha256   100% 10 0 0   100% 0 0   100%
tests/unit_tests/utils/test_util.py (no function)   100% 15 0 0   100% 0 0   100%
Total     92% 8219 670 31   74% 1450 275   89%

No items found using the specified filter.