=== RUN TestPruneBackupsPreservesNewestAndNonRegularEntries --- PASS: TestPruneBackupsPreservesNewestAndNonRegularEntries (0.01s) === RUN TestPruneBackupsTreatsBracketDirectoriesLiterally === RUN TestPruneBackupsTreatsBracketDirectoriesLiterally/MPV_[test === RUN TestPruneBackupsTreatsBracketDirectoriesLiterally/MPV_[test] --- PASS: TestPruneBackupsTreatsBracketDirectoriesLiterally (0.01s) --- PASS: TestPruneBackupsTreatsBracketDirectoriesLiterally/MPV_[test (0.01s) --- PASS: TestPruneBackupsTreatsBracketDirectoriesLiterally/MPV_[test] (0.01s) === RUN TestWithLockSerializesAcrossProcesses --- PASS: TestWithLockSerializesAcrossProcesses (0.06s) === RUN TestWithLockHelperProcess --- PASS: TestWithLockHelperProcess (0.00s) === RUN TestWithLockSerializesEquivalentPaths --- PASS: TestWithLockSerializesEquivalentPaths (0.02s) === RUN TestAtomicWriteConcurrentTempFilesDoNotCollide --- PASS: TestAtomicWriteConcurrentTempFilesDoNotCollide (0.15s) PASS === RUN TestConcurrentConfigAccess --- PASS: TestConcurrentConfigAccess (4.04s) === RUN TestGetInstalledAppsReturnsCopy --- PASS: TestGetInstalledAppsReturnsCopy (0.02s) === RUN TestUpdateInstalledAppUISelectionByIDPersistsBothFields --- PASS: TestUpdateInstalledAppUISelectionByIDPersistsBothFields (0.03s) === RUN TestLoadQuarantinesCorruptConfig --- PASS: TestLoadQuarantinesCorruptConfig (0.02s) === RUN TestReloadQuarantinesCorruptConfig --- PASS: TestReloadQuarantinesCorruptConfig (0.02s) === RUN TestSetInstallPathRollsBackWhenPersistenceFails --- PASS: TestSetInstallPathRollsBackWhenPersistenceFails (0.00s) === RUN TestRejectedConfigMutationIsNeverPublishedOrPersistedLater --- PASS: TestRejectedConfigMutationIsNeverPublishedOrPersistedLater (0.03s) === RUN TestUpdateRebasesOnLatestDiskSnapshot --- PASS: TestUpdateRebasesOnLatestDiskSnapshot (0.03s) === RUN TestLoadReadErrorDoesNotReplaceConfigWithDefaults --- PASS: TestLoadReadErrorDoesNotReplaceConfigWithDefaults (0.01s) === RUN TestReloadReadErrorPreservesLastKnownGoodState --- PASS: TestReloadReadErrorPreservesLastKnownGoodState (0.02s) === RUN TestReloadCorruptFilePreservesLastKnownGoodState --- PASS: TestReloadCorruptFilePreservesLastKnownGoodState (0.03s) === RUN TestResetToDefaultsCreatesUniqueDurableBackupBeforePublish --- PASS: TestResetToDefaultsCreatesUniqueDurableBackupBeforePublish (0.04s) === RUN TestSaveLoadRoundTripCustomInstallPath --- PASS: TestSaveLoadRoundTripCustomInstallPath (0.03s) === RUN TestInstalledUIType --- PASS: TestInstalledUIType (0.02s) === RUN TestSaveAtomicNoTempLeftBehind --- PASS: TestSaveAtomicNoTempLeftBehind (0.02s) === RUN TestGetPortableConfigPath === RUN TestGetPortableConfigPath/absolute_path === RUN TestGetPortableConfigPath/relative_path === RUN TestGetPortableConfigPath/windows_path === RUN TestGetPortableConfigPath/empty_path --- PASS: TestGetPortableConfigPath (0.00s) --- PASS: TestGetPortableConfigPath/absolute_path (0.00s) --- PASS: TestGetPortableConfigPath/relative_path (0.00s) --- PASS: TestGetPortableConfigPath/windows_path (0.00s) --- PASS: TestGetPortableConfigPath/empty_path (0.00s) === RUN TestGetConfigDir === RUN TestGetConfigDir/native_home === RUN TestGetConfigDir/missing_home --- PASS: TestGetConfigDir (0.00s) --- PASS: TestGetConfigDir/native_home (0.00s) --- PASS: TestGetConfigDir/missing_home (0.00s) === RUN TestLoad === RUN TestLoad/load_new_config === RUN TestLoad/load_existing_config === RUN TestLoad/return_cached_config --- PASS: TestLoad (0.03s) --- PASS: TestLoad/load_new_config (0.01s) --- PASS: TestLoad/load_existing_config (0.01s) --- PASS: TestLoad/return_cached_config (0.00s) === RUN TestSave === RUN TestSave/save_config_to_file === RUN TestSave/error_without_loaded_config --- PASS: TestSave (0.02s) --- PASS: TestSave/save_config_to_file (0.02s) --- PASS: TestSave/error_without_loaded_config (0.00s) === RUN TestSetInstallPath === RUN TestSetInstallPath/set_install_path === RUN TestSetInstallPath/empty_install_path --- PASS: TestSetInstallPath (0.04s) --- PASS: TestSetInstallPath/set_install_path (0.02s) --- PASS: TestSetInstallPath/empty_install_path (0.01s) === RUN TestGetInstallPath === RUN TestGetInstallPath/get_custom_install_path === RUN TestGetInstallPath/get_default_install_path --- PASS: TestGetInstallPath (0.03s) --- PASS: TestGetInstallPath/get_custom_install_path (0.02s) --- PASS: TestGetInstallPath/get_default_install_path (0.01s) === RUN TestSetUOSCVersion --- PASS: TestSetUOSCVersion (0.02s) === RUN TestGetUOSCVersion --- PASS: TestGetUOSCVersion (0.02s) === RUN TestAddInstalledApp --- PASS: TestAddInstalledApp (0.02s) === RUN TestRemoveInstalledApp --- PASS: TestRemoveInstalledApp (0.03s) === RUN TestRemoveInstalledAppByType --- PASS: TestRemoveInstalledAppByType (0.06s) === RUN TestGetInstalledApps --- PASS: TestGetInstalledApps (0.03s) === RUN TestIsAppInstalled --- PASS: TestIsAppInstalled (0.03s) === RUN TestAudioLanguagePrefs --- PASS: TestAudioLanguagePrefs (0.02s) === RUN TestSubtitleLanguagePrefs --- PASS: TestSubtitleLanguagePrefs (0.03s) === RUN TestManagerInPATH --- PASS: TestManagerInPATH (0.03s) === RUN TestManagerBinPath --- PASS: TestManagerBinPath (0.02s) === RUN TestGetMPVConfigPath --- PASS: TestGetMPVConfigPath (0.02s) === RUN TestSetConfigValueConcurrentUpdatesPreserveEveryKey --- PASS: TestSetConfigValueConcurrentUpdatesPreserveEveryKey (0.27s) === RUN TestGetConfigValue === RUN TestGetConfigValue/Existing_key === RUN TestGetConfigValue/Missing_key === RUN TestGetConfigValue/Array_values === RUN TestGetConfigValue/Inline_comment === RUN TestGetConfigValue/Whitespace_trimming === RUN TestGetConfigValue/Empty_array === RUN TestGetConfigValue/No_such_file === RUN TestGetConfigValue/Comment_only_line_before_key === RUN TestGetConfigValue/Mixed_case_key === RUN TestGetConfigValue/Array_with_empty_values === RUN TestGetConfigValue/Array_with_whitespace === RUN TestGetConfigValue/Key_with_multiple_lines_uses_the_effective_last_assignment --- PASS: TestGetConfigValue (0.18s) --- PASS: TestGetConfigValue/Existing_key (0.02s) --- PASS: TestGetConfigValue/Missing_key (0.02s) --- PASS: TestGetConfigValue/Array_values (0.02s) --- PASS: TestGetConfigValue/Inline_comment (0.02s) --- PASS: TestGetConfigValue/Whitespace_trimming (0.02s) --- PASS: TestGetConfigValue/Empty_array (0.01s) --- PASS: TestGetConfigValue/No_such_file (0.01s) --- PASS: TestGetConfigValue/Comment_only_line_before_key (0.01s) --- PASS: TestGetConfigValue/Mixed_case_key (0.01s) --- PASS: TestGetConfigValue/Array_with_empty_values (0.01s) --- PASS: TestGetConfigValue/Array_with_whitespace (0.01s) --- PASS: TestGetConfigValue/Key_with_multiple_lines_uses_the_effective_last_assignment (0.01s) === RUN TestGetConfigValuePreservesQuotedHash --- PASS: TestGetConfigValuePreservesQuotedHash (0.02s) === RUN TestConfigResetPreservesProfilesAndEmptyValueCompatibility --- PASS: TestConfigResetPreservesProfilesAndEmptyValueCompatibility (0.03s) === RUN TestDeprecatedWriteConfigIsDeterministicAndRejectsLineInjection --- PASS: TestDeprecatedWriteConfigIsDeterministicAndRejectsLineInjection (0.01s) === RUN TestSetConfigValue === RUN TestSetConfigValue/New_key === RUN TestSetConfigValue/Replace_existing_key === RUN TestSetConfigValue/Preserve_comment === RUN TestSetConfigValue/Don't_preserve_comment === RUN TestSetConfigValue/Array_values === RUN TestSetConfigValue/Single_value === RUN TestSetConfigValue/Empty_value === RUN TestSetConfigValue/Multiple_keys_in_file --- PASS: TestSetConfigValue (0.21s) --- PASS: TestSetConfigValue/New_key (0.03s) --- PASS: TestSetConfigValue/Replace_existing_key (0.02s) --- PASS: TestSetConfigValue/Preserve_comment (0.03s) --- PASS: TestSetConfigValue/Don't_preserve_comment (0.03s) --- PASS: TestSetConfigValue/Array_values (0.02s) --- PASS: TestSetConfigValue/Single_value (0.03s) --- PASS: TestSetConfigValue/Empty_value (0.03s) --- PASS: TestSetConfigValue/Multiple_keys_in_file (0.03s) === RUN TestSetConfigValue_EmptyPreserveComment --- PASS: TestSetConfigValue_EmptyPreserveComment (0.03s) === RUN TestSetConfigValue_CommentAfterEquals --- PASS: TestSetConfigValue_CommentAfterEquals (0.03s) === RUN TestSetConfigValue_ErrorOnDirectoryCreate --- PASS: TestSetConfigValue_ErrorOnDirectoryCreate (0.00s) === RUN TestGetConfigPath === RUN TestGetConfigPath/Unix-like_path --- PASS: TestGetConfigPath (0.11s) --- PASS: TestGetConfigPath/Unix-like_path (0.11s) === RUN TestGetConfigPath_Windows editor_test.go:552: Skipping Windows-specific test on non-Windows platform --- SKIP: TestGetConfigPath_Windows (0.00s) === RUN TestParseConfig === RUN TestParseConfig/Simple_config === RUN TestParseConfig/With_comments === RUN TestParseConfig/Array_values === RUN TestParseConfig/Empty_file === RUN TestParseConfig/Whitespace_lines === RUN TestParseConfig/Multiple_comments === RUN TestParseConfig/Empty_values === RUN TestParseConfig/Array_with_whitespace === RUN TestParseConfig/Array_with_empty_values === RUN TestParseConfig/Skip_invalid_lines === RUN TestParseConfig/Complex_config --- PASS: TestParseConfig (0.02s) --- PASS: TestParseConfig/Simple_config (0.00s) --- PASS: TestParseConfig/With_comments (0.00s) --- PASS: TestParseConfig/Array_values (0.00s) --- PASS: TestParseConfig/Empty_file (0.00s) --- PASS: TestParseConfig/Whitespace_lines (0.00s) --- PASS: TestParseConfig/Multiple_comments (0.00s) --- PASS: TestParseConfig/Empty_values (0.00s) --- PASS: TestParseConfig/Array_with_whitespace (0.00s) --- PASS: TestParseConfig/Array_with_empty_values (0.00s) --- PASS: TestParseConfig/Skip_invalid_lines (0.00s) --- PASS: TestParseConfig/Complex_config (0.00s) === RUN TestParseConfig_NonExistentFile --- PASS: TestParseConfig_NonExistentFile (0.00s) === RUN TestWriteConfig === RUN TestWriteConfig/Simple_write === RUN TestWriteConfig/Array_values === RUN TestWriteConfig/Empty_config === RUN TestWriteConfig/Empty_values === RUN TestWriteConfig/Mixed_single_and_array_values --- PASS: TestWriteConfig (0.05s) --- PASS: TestWriteConfig/Simple_write (0.01s) --- PASS: TestWriteConfig/Array_values (0.01s) --- PASS: TestWriteConfig/Empty_config (0.01s) --- PASS: TestWriteConfig/Empty_values (0.01s) --- PASS: TestWriteConfig/Mixed_single_and_array_values (0.01s) === RUN TestWriteConfig_Atomically === RUN TestWriteConfig_Atomically/Write_succeeds --- PASS: TestWriteConfig_Atomically (0.01s) --- PASS: TestWriteConfig_Atomically/Write_succeeds (0.01s) === RUN TestWriteConfig_Overwrite --- PASS: TestWriteConfig_Overwrite (0.02s) === RUN TestWriteConfig_MultipleValues --- PASS: TestWriteConfig_MultipleValues (0.01s) === RUN TestGetConfigValue_ReadError --- PASS: TestGetConfigValue_ReadError (0.01s) === RUN TestParseConfig_ReadError --- PASS: TestParseConfig_ReadError (0.00s) === RUN TestWriteConfig_ReadOnlyPath --- PASS: TestWriteConfig_ReadOnlyPath (0.00s) === RUN TestSetConfigValue_EmbeddedAsset --- PASS: TestSetConfigValue_EmbeddedAsset (0.02s) === RUN TestInstalledAppIdentityMigrationPreservesDistinctMethods --- PASS: TestInstalledAppIdentityMigrationPreservesDistinctMethods (0.01s) === RUN TestAddInstalledAppCoexistsAndReplacesOnlySameIdentity --- PASS: TestAddInstalledAppCoexistsAndReplacesOnlySameIdentity (0.07s) === RUN TestStableIDTargetsRemovalAndUpdates --- PASS: TestStableIDTargetsRemovalAndUpdates (0.06s) === RUN TestUpdateInstalledAppVersionByIDTargetsOneSameMethodInstall --- PASS: TestUpdateInstalledAppVersionByIDTargetsOneSameMethodInstall (0.04s) === RUN TestLegacyManagedMigrationUsesRecordNotMethod --- PASS: TestLegacyManagedMigrationUsesRecordNotMethod (0.02s) === RUN TestResolveInstalledAppRejectsAmbiguousLegacyFields --- PASS: TestResolveInstalledAppRejectsAmbiguousLegacyFields (0.03s) === RUN TestInstalledAppIDNormalizesWindowsPaths --- PASS: TestInstalledAppIDNormalizesWindowsPaths (0.00s) === RUN TestAbsenceObservationCannotRemoveChangedOrDifferentApp --- PASS: TestAbsenceObservationCannotRemoveChangedOrDifferentApp (0.07s) === RUN TestResolveActiveMPVConfigDir === RUN TestResolveActiveMPVConfigDir/Windows_follows_selected_portable_install === RUN TestResolveActiveMPVConfigDir/Unix_follows_the_platform_config_file --- PASS: TestResolveActiveMPVConfigDir (0.00s) --- PASS: TestResolveActiveMPVConfigDir/Windows_follows_selected_portable_install (0.00s) --- PASS: TestResolveActiveMPVConfigDir/Unix_follows_the_platform_config_file (0.00s) === RUN TestMPVConfigConsumersShareActiveResolver --- PASS: TestMPVConfigConsumersShareActiveResolver (0.01s) === RUN TestValidateBackupPath_ValidPaths === RUN TestValidateBackupPath_ValidPaths/valid_relative_path === RUN TestValidateBackupPath_ValidPaths/valid_absolute_path_within_backup_directory === RUN TestValidateBackupPath_ValidPaths/valid_path_from_recent_backup === RUN TestValidateBackupPath_ValidPaths/valid_path_from_older_backup --- PASS: TestValidateBackupPath_ValidPaths (0.02s) --- PASS: TestValidateBackupPath_ValidPaths/valid_relative_path (0.01s) --- PASS: TestValidateBackupPath_ValidPaths/valid_absolute_path_within_backup_directory (0.00s) --- PASS: TestValidateBackupPath_ValidPaths/valid_path_from_recent_backup (0.00s) --- PASS: TestValidateBackupPath_ValidPaths/valid_path_from_older_backup (0.00s) === RUN TestValidateBackupPath_PathTraversal === RUN TestValidateBackupPath_PathTraversal/simple_parent_directory_traversal === RUN TestValidateBackupPath_PathTraversal/double_parent_directory_traversal === RUN TestValidateBackupPath_PathTraversal/triple_parent_directory_traversal === RUN TestValidateBackupPath_PathTraversal/windows-style_backslash_traversal === RUN TestValidateBackupPath_PathTraversal/mixed_traversal_with_current_directory === RUN TestValidateBackupPath_PathTraversal/deep_traversal === RUN TestValidateBackupPath_PathTraversal/url-encoded_traversal_(literal) === RUN TestValidateBackupPath_PathTraversal/mixed_traversal === RUN TestValidateBackupPath_PathTraversal/complex_traversal --- PASS: TestValidateBackupPath_PathTraversal (0.00s) --- PASS: TestValidateBackupPath_PathTraversal/simple_parent_directory_traversal (0.00s) --- PASS: TestValidateBackupPath_PathTraversal/double_parent_directory_traversal (0.00s) --- PASS: TestValidateBackupPath_PathTraversal/triple_parent_directory_traversal (0.00s) --- PASS: TestValidateBackupPath_PathTraversal/windows-style_backslash_traversal (0.00s) --- PASS: TestValidateBackupPath_PathTraversal/mixed_traversal_with_current_directory (0.00s) --- PASS: TestValidateBackupPath_PathTraversal/deep_traversal (0.00s) --- PASS: TestValidateBackupPath_PathTraversal/url-encoded_traversal_(literal) (0.00s) --- PASS: TestValidateBackupPath_PathTraversal/mixed_traversal (0.00s) --- PASS: TestValidateBackupPath_PathTraversal/complex_traversal (0.00s) === RUN TestValidateBackupPath_AbsolutePathEscapes === RUN TestValidateBackupPath_AbsolutePathEscapes/absolute_path_to_etc_passwd === RUN TestValidateBackupPath_AbsolutePathEscapes/absolute_path_to_ssh_key === RUN TestValidateBackupPath_AbsolutePathEscapes/absolute_path_to_syslog === RUN TestValidateBackupPath_AbsolutePathEscapes/absolute_path_to_shadow === RUN TestValidateBackupPath_AbsolutePathEscapes/windows_absolute_path_to_hosts === RUN TestValidateBackupPath_AbsolutePathEscapes/windows_absolute_path_to_ssh === RUN TestValidateBackupPath_AbsolutePathEscapes/absolute_path_to_tmp === RUN TestValidateBackupPath_AbsolutePathEscapes/absolute_path_to_aws_credentials --- PASS: TestValidateBackupPath_AbsolutePathEscapes (0.03s) --- PASS: TestValidateBackupPath_AbsolutePathEscapes/absolute_path_to_etc_passwd (0.00s) --- PASS: TestValidateBackupPath_AbsolutePathEscapes/absolute_path_to_ssh_key (0.03s) --- PASS: TestValidateBackupPath_AbsolutePathEscapes/absolute_path_to_syslog (0.00s) --- PASS: TestValidateBackupPath_AbsolutePathEscapes/absolute_path_to_shadow (0.00s) --- PASS: TestValidateBackupPath_AbsolutePathEscapes/windows_absolute_path_to_hosts (0.00s) --- PASS: TestValidateBackupPath_AbsolutePathEscapes/windows_absolute_path_to_ssh (0.00s) --- PASS: TestValidateBackupPath_AbsolutePathEscapes/absolute_path_to_tmp (0.00s) --- PASS: TestValidateBackupPath_AbsolutePathEscapes/absolute_path_to_aws_credentials (0.00s) === RUN TestValidateBackupPath_InvalidFilenamePatterns === RUN TestValidateBackupPath_InvalidFilenamePatterns/normal_conf_file === RUN TestValidateBackupPath_InvalidFilenamePatterns/missing_time_component === RUN TestValidateBackupPath_InvalidFilenamePatterns/wrong_prefix === RUN TestValidateBackupPath_InvalidFilenamePatterns/invalid_month === RUN TestValidateBackupPath_InvalidFilenamePatterns/invalid_day === RUN TestValidateBackupPath_InvalidFilenamePatterns/invalid_hour === RUN TestValidateBackupPath_InvalidFilenamePatterns/invalid_minute === RUN TestValidateBackupPath_InvalidFilenamePatterns/feb_29_in_non-leap_year === RUN TestValidateBackupPath_InvalidFilenamePatterns/month_00 === RUN TestValidateBackupPath_InvalidFilenamePatterns/day_00 === RUN TestValidateBackupPath_InvalidFilenamePatterns/invalid_seconds === RUN TestValidateBackupPath_InvalidFilenamePatterns/wrong_extension --- PASS: TestValidateBackupPath_InvalidFilenamePatterns (0.00s) --- PASS: TestValidateBackupPath_InvalidFilenamePatterns/normal_conf_file (0.00s) --- PASS: TestValidateBackupPath_InvalidFilenamePatterns/missing_time_component (0.00s) --- PASS: TestValidateBackupPath_InvalidFilenamePatterns/wrong_prefix (0.00s) --- PASS: TestValidateBackupPath_InvalidFilenamePatterns/invalid_month (0.00s) --- PASS: TestValidateBackupPath_InvalidFilenamePatterns/invalid_day (0.00s) --- PASS: TestValidateBackupPath_InvalidFilenamePatterns/invalid_hour (0.00s) --- PASS: TestValidateBackupPath_InvalidFilenamePatterns/invalid_minute (0.00s) --- PASS: TestValidateBackupPath_InvalidFilenamePatterns/feb_29_in_non-leap_year (0.00s) --- PASS: TestValidateBackupPath_InvalidFilenamePatterns/month_00 (0.00s) --- PASS: TestValidateBackupPath_InvalidFilenamePatterns/day_00 (0.00s) --- PASS: TestValidateBackupPath_InvalidFilenamePatterns/invalid_seconds (0.00s) --- PASS: TestValidateBackupPath_InvalidFilenamePatterns/wrong_extension (0.00s) === RUN TestValidateBackupPath_EmptyAndWhitespace === RUN TestValidateBackupPath_EmptyAndWhitespace/empty_string === RUN TestValidateBackupPath_EmptyAndWhitespace/whitespace_only === RUN TestValidateBackupPath_EmptyAndWhitespace/tabs_and_newlines === RUN TestValidateBackupPath_EmptyAndWhitespace/carriage_return === RUN TestValidateBackupPath_EmptyAndWhitespace/mixed_whitespace === RUN TestValidateBackupPath_EmptyAndWhitespace/vertical_tab --- PASS: TestValidateBackupPath_EmptyAndWhitespace (0.00s) --- PASS: TestValidateBackupPath_EmptyAndWhitespace/empty_string (0.00s) --- PASS: TestValidateBackupPath_EmptyAndWhitespace/whitespace_only (0.00s) --- PASS: TestValidateBackupPath_EmptyAndWhitespace/tabs_and_newlines (0.00s) --- PASS: TestValidateBackupPath_EmptyAndWhitespace/carriage_return (0.00s) --- PASS: TestValidateBackupPath_EmptyAndWhitespace/mixed_whitespace (0.00s) --- PASS: TestValidateBackupPath_EmptyAndWhitespace/vertical_tab (0.00s) === RUN TestValidateBackupPath_SpecialCharacters === RUN TestValidateBackupPath_SpecialCharacters/double_extension === RUN TestValidateBackupPath_SpecialCharacters/backup_extension === RUN TestValidateBackupPath_SpecialCharacters/command_injection_semicolon === RUN TestValidateBackupPath_SpecialCharacters/pipe_injection === RUN TestValidateBackupPath_SpecialCharacters/backticks === RUN TestValidateBackupPath_SpecialCharacters/substitution === RUN TestValidateBackupPath_SpecialCharacters/and_operator === RUN TestValidateBackupPath_SpecialCharacters/newline_injection === RUN TestValidateBackupPath_SpecialCharacters/crlf_injection === RUN TestValidateBackupPath_SpecialCharacters/null_byte_injection --- PASS: TestValidateBackupPath_SpecialCharacters (0.00s) --- PASS: TestValidateBackupPath_SpecialCharacters/double_extension (0.00s) --- PASS: TestValidateBackupPath_SpecialCharacters/backup_extension (0.00s) --- PASS: TestValidateBackupPath_SpecialCharacters/command_injection_semicolon (0.00s) --- PASS: TestValidateBackupPath_SpecialCharacters/pipe_injection (0.00s) --- PASS: TestValidateBackupPath_SpecialCharacters/backticks (0.00s) --- PASS: TestValidateBackupPath_SpecialCharacters/substitution (0.00s) --- PASS: TestValidateBackupPath_SpecialCharacters/and_operator (0.00s) --- PASS: TestValidateBackupPath_SpecialCharacters/newline_injection (0.00s) --- PASS: TestValidateBackupPath_SpecialCharacters/crlf_injection (0.00s) --- PASS: TestValidateBackupPath_SpecialCharacters/null_byte_injection (0.00s) === RUN TestValidateBackupPath_PathCleaning === RUN TestValidateBackupPath_PathCleaning/same_directory_with_dot === RUN TestValidateBackupPath_PathCleaning/normalized_path_with_subdir_and_parent === RUN TestValidateBackupPath_PathCleaning/normalized_path_with_current_dir --- PASS: TestValidateBackupPath_PathCleaning (0.02s) --- PASS: TestValidateBackupPath_PathCleaning/same_directory_with_dot (0.01s) --- PASS: TestValidateBackupPath_PathCleaning/normalized_path_with_subdir_and_parent (0.00s) --- PASS: TestValidateBackupPath_PathCleaning/normalized_path_with_current_dir (0.00s) === RUN TestValidateBackupPath_TimestampEdgeCases === RUN TestValidateBackupPath_TimestampEdgeCases/year_0 === RUN TestValidateBackupPath_TimestampEdgeCases/maximum_valid_year === RUN TestValidateBackupPath_TimestampEdgeCases/first_day_of_year === RUN TestValidateBackupPath_TimestampEdgeCases/last_day_of_last_year === RUN TestValidateBackupPath_TimestampEdgeCases/midnight === RUN TestValidateBackupPath_TimestampEdgeCases/end_of_day === RUN TestValidateBackupPath_TimestampEdgeCases/1_hour_ago === RUN TestValidateBackupPath_TimestampEdgeCases/1_hour_in_future === RUN TestValidateBackupPath_TimestampEdgeCases/25_hours_in_future === RUN TestValidateBackupPath_TimestampEdgeCases/400_days_ago --- PASS: TestValidateBackupPath_TimestampEdgeCases (0.02s) --- PASS: TestValidateBackupPath_TimestampEdgeCases/year_0 (0.01s) --- PASS: TestValidateBackupPath_TimestampEdgeCases/maximum_valid_year (0.00s) --- PASS: TestValidateBackupPath_TimestampEdgeCases/first_day_of_year (0.00s) --- PASS: TestValidateBackupPath_TimestampEdgeCases/last_day_of_last_year (0.00s) --- PASS: TestValidateBackupPath_TimestampEdgeCases/midnight (0.00s) --- PASS: TestValidateBackupPath_TimestampEdgeCases/end_of_day (0.00s) --- PASS: TestValidateBackupPath_TimestampEdgeCases/1_hour_ago (0.00s) --- PASS: TestValidateBackupPath_TimestampEdgeCases/1_hour_in_future (0.00s) --- PASS: TestValidateBackupPath_TimestampEdgeCases/25_hours_in_future (0.00s) --- PASS: TestValidateBackupPath_TimestampEdgeCases/400_days_ago (0.00s) === RUN TestValidateBackupPath_SymlinkAttacks === RUN TestValidateBackupPath_SymlinkAttacks/symlink_to_etc_passwd === RUN TestValidateBackupPath_SymlinkAttacks/symlink_to_valid_file === RUN TestValidateBackupPath_SymlinkAttacks/symlink_chain --- PASS: TestValidateBackupPath_SymlinkAttacks (0.00s) --- PASS: TestValidateBackupPath_SymlinkAttacks/symlink_to_etc_passwd (0.00s) --- PASS: TestValidateBackupPath_SymlinkAttacks/symlink_to_valid_file (0.00s) --- PASS: TestValidateBackupPath_SymlinkAttacks/symlink_chain (0.00s) === RUN TestValidateBackupPath_SymlinkWithValidFilename === RUN TestValidateBackupPath_SymlinkWithValidFilename/symlink_with_valid_name_pointing_outside_backup_dir === RUN TestValidateBackupPath_SymlinkWithValidFilename/symlink_with_valid_name_pointing_inside_backup_dir === RUN TestValidateBackupPath_SymlinkWithValidFilename/regular_valid_file --- PASS: TestValidateBackupPath_SymlinkWithValidFilename (0.02s) --- PASS: TestValidateBackupPath_SymlinkWithValidFilename/symlink_with_valid_name_pointing_outside_backup_dir (0.01s) --- PASS: TestValidateBackupPath_SymlinkWithValidFilename/symlink_with_valid_name_pointing_inside_backup_dir (0.00s) --- PASS: TestValidateBackupPath_SymlinkWithValidFilename/regular_valid_file (0.00s) === RUN TestBackupOperationsRejectSymlinkedBackupDirectory --- PASS: TestBackupOperationsRejectSymlinkedBackupDirectory (0.01s) === RUN TestValidateBackupPath_DirectoryTraversalCombinations === RUN TestValidateBackupPath_DirectoryTraversalCombinations/windows_backslash_traversal === RUN TestValidateBackupPath_DirectoryTraversalCombinations/mixed_slashes_traversal === RUN TestValidateBackupPath_DirectoryTraversalCombinations/traversal_plus_current_dir === RUN TestValidateBackupPath_DirectoryTraversalCombinations/current_dir_plus_traversal === RUN TestValidateBackupPath_DirectoryTraversalCombinations/mixed_slash_types === RUN TestValidateBackupPath_DirectoryTraversalCombinations/mixed_traversals === RUN TestValidateBackupPath_DirectoryTraversalCombinations/triple_dot_not_traversal === RUN TestValidateBackupPath_DirectoryTraversalCombinations/double_dot_double_slash --- PASS: TestValidateBackupPath_DirectoryTraversalCombinations (0.00s) --- PASS: TestValidateBackupPath_DirectoryTraversalCombinations/windows_backslash_traversal (0.00s) --- PASS: TestValidateBackupPath_DirectoryTraversalCombinations/mixed_slashes_traversal (0.00s) --- PASS: TestValidateBackupPath_DirectoryTraversalCombinations/traversal_plus_current_dir (0.00s) --- PASS: TestValidateBackupPath_DirectoryTraversalCombinations/current_dir_plus_traversal (0.00s) --- PASS: TestValidateBackupPath_DirectoryTraversalCombinations/mixed_slash_types (0.00s) --- PASS: TestValidateBackupPath_DirectoryTraversalCombinations/mixed_traversals (0.00s) --- PASS: TestValidateBackupPath_DirectoryTraversalCombinations/triple_dot_not_traversal (0.00s) --- PASS: TestValidateBackupPath_DirectoryTraversalCombinations/double_dot_double_slash (0.00s) === RUN TestValidateBackupPath_RealWorldScenarios === RUN TestValidateBackupPath_RealWorldScenarios/ssh_private_key === RUN TestValidateBackupPath_RealWorldScenarios/ssh_ed25519_key === RUN TestValidateBackupPath_RealWorldScenarios/ssh_known_hosts === RUN TestValidateBackupPath_RealWorldScenarios/aws_credentials === RUN TestValidateBackupPath_RealWorldScenarios/aws_config === RUN TestValidateBackupPath_RealWorldScenarios/gcloud_credentials === RUN TestValidateBackupPath_RealWorldScenarios/etc_passwd === RUN TestValidateBackupPath_RealWorldScenarios/etc_shadow === RUN TestValidateBackupPath_RealWorldScenarios/etc_hosts === RUN TestValidateBackupPath_RealWorldScenarios/auth_log === RUN TestValidateBackupPath_RealWorldScenarios/root_ssh_authorized_keys === RUN TestValidateBackupPath_RealWorldScenarios/crontab === RUN TestValidateBackupPath_RealWorldScenarios/sudoers --- PASS: TestValidateBackupPath_RealWorldScenarios (0.14s) --- PASS: TestValidateBackupPath_RealWorldScenarios/ssh_private_key (0.03s) --- PASS: TestValidateBackupPath_RealWorldScenarios/ssh_ed25519_key (0.03s) --- PASS: TestValidateBackupPath_RealWorldScenarios/ssh_known_hosts (0.02s) --- PASS: TestValidateBackupPath_RealWorldScenarios/aws_credentials (0.02s) --- PASS: TestValidateBackupPath_RealWorldScenarios/aws_config (0.02s) --- PASS: TestValidateBackupPath_RealWorldScenarios/gcloud_credentials (0.02s) --- PASS: TestValidateBackupPath_RealWorldScenarios/etc_passwd (0.00s) --- PASS: TestValidateBackupPath_RealWorldScenarios/etc_shadow (0.00s) --- PASS: TestValidateBackupPath_RealWorldScenarios/etc_hosts (0.00s) --- PASS: TestValidateBackupPath_RealWorldScenarios/auth_log (0.00s) --- PASS: TestValidateBackupPath_RealWorldScenarios/root_ssh_authorized_keys (0.00s) --- PASS: TestValidateBackupPath_RealWorldScenarios/crontab (0.00s) --- PASS: TestValidateBackupPath_RealWorldScenarios/sudoers (0.00s) === RUN TestValidateBackupPath_ErrorMessages === RUN TestValidateBackupPath_ErrorMessages/path_traversal_error_message === RUN TestValidateBackupPath_ErrorMessages/invalid_filename_error_includes_filename === RUN TestValidateBackupPath_ErrorMessages/timestamp_error_includes_details === RUN TestValidateBackupPath_ErrorMessages/timestamp_too_old_error === RUN TestValidateBackupPath_ErrorMessages/timestamp_too_new_error --- PASS: TestValidateBackupPath_ErrorMessages (0.01s) --- PASS: TestValidateBackupPath_ErrorMessages/path_traversal_error_message (0.01s) --- PASS: TestValidateBackupPath_ErrorMessages/invalid_filename_error_includes_filename (0.00s) --- PASS: TestValidateBackupPath_ErrorMessages/timestamp_error_includes_details (0.00s) --- PASS: TestValidateBackupPath_ErrorMessages/timestamp_too_old_error (0.00s) --- PASS: TestValidateBackupPath_ErrorMessages/timestamp_too_new_error (0.00s) === RUN TestValidateBackupPath_NoSideEffects --- PASS: TestValidateBackupPath_NoSideEffects (0.02s) === RUN TestValidateBackupPath_ValidBackupCreation --- PASS: TestValidateBackupPath_ValidBackupCreation (0.01s) === RUN TestValidateBackupPath_FutureTimestamp === RUN TestValidateBackupPath_FutureTimestamp/1_hour_in_future === RUN TestValidateBackupPath_FutureTimestamp/12_hours_in_future === RUN TestValidateBackupPath_FutureTimestamp/23_hours_in_future === RUN TestValidateBackupPath_FutureTimestamp/24_hours_in_future_(boundary) === RUN TestValidateBackupPath_FutureTimestamp/25_hours_in_future === RUN TestValidateBackupPath_FutureTimestamp/48_hours_in_future === RUN TestValidateBackupPath_FutureTimestamp/1_week_in_future --- PASS: TestValidateBackupPath_FutureTimestamp (0.02s) --- PASS: TestValidateBackupPath_FutureTimestamp/1_hour_in_future (0.01s) --- PASS: TestValidateBackupPath_FutureTimestamp/12_hours_in_future (0.00s) --- PASS: TestValidateBackupPath_FutureTimestamp/23_hours_in_future (0.00s) --- PASS: TestValidateBackupPath_FutureTimestamp/24_hours_in_future_(boundary) (0.00s) --- PASS: TestValidateBackupPath_FutureTimestamp/25_hours_in_future (0.00s) --- PASS: TestValidateBackupPath_FutureTimestamp/48_hours_in_future (0.00s) --- PASS: TestValidateBackupPath_FutureTimestamp/1_week_in_future (0.00s) === RUN TestValidateBackupPath_PastTimestamp === RUN TestValidateBackupPath_PastTimestamp/1_day_ago === RUN TestValidateBackupPath_PastTimestamp/180_days_ago === RUN TestValidateBackupPath_PastTimestamp/365_days_ago_(boundary) === RUN TestValidateBackupPath_PastTimestamp/366_days_ago === RUN TestValidateBackupPath_PastTimestamp/400_days_ago === RUN TestValidateBackupPath_PastTimestamp/1_year_ago === RUN TestValidateBackupPath_PastTimestamp/2_years_ago --- PASS: TestValidateBackupPath_PastTimestamp (0.01s) --- PASS: TestValidateBackupPath_PastTimestamp/1_day_ago (0.01s) --- PASS: TestValidateBackupPath_PastTimestamp/180_days_ago (0.00s) --- PASS: TestValidateBackupPath_PastTimestamp/365_days_ago_(boundary) (0.00s) --- PASS: TestValidateBackupPath_PastTimestamp/366_days_ago (0.00s) --- PASS: TestValidateBackupPath_PastTimestamp/400_days_ago (0.00s) --- PASS: TestValidateBackupPath_PastTimestamp/1_year_ago (0.00s) --- PASS: TestValidateBackupPath_PastTimestamp/2_years_ago (0.00s) === RUN TestValidateBackupPath_LeapYear === RUN TestValidateBackupPath_LeapYear/valid_leap_year_feb_29 === RUN TestValidateBackupPath_LeapYear/valid_leap_year_feb_29_(earlier) === RUN TestValidateBackupPath_LeapYear/non-leap_year_feb_29 === RUN TestValidateBackupPath_LeapYear/non-leap_year_feb_28 === RUN TestValidateBackupPath_LeapYear/century_year_2000_(leap_year) === RUN TestValidateBackupPath_LeapYear/century_year_1900_(not_leap_year) --- PASS: TestValidateBackupPath_LeapYear (0.01s) --- PASS: TestValidateBackupPath_LeapYear/valid_leap_year_feb_29 (0.01s) --- PASS: TestValidateBackupPath_LeapYear/valid_leap_year_feb_29_(earlier) (0.00s) --- PASS: TestValidateBackupPath_LeapYear/non-leap_year_feb_29 (0.00s) --- PASS: TestValidateBackupPath_LeapYear/non-leap_year_feb_28 (0.00s) --- PASS: TestValidateBackupPath_LeapYear/century_year_2000_(leap_year) (0.00s) --- PASS: TestValidateBackupPath_LeapYear/century_year_1900_(not_leap_year) (0.00s) === RUN TestValidateBackupPath_SecurityVerification === RUN TestValidateBackupPath_SecurityVerification/CRITICAL:_Symlink_protection_works === RUN TestValidateBackupPath_SecurityVerification/CRITICAL:_Path_traversal_blocked === RUN TestValidateBackupPath_SecurityVerification/CRITICAL:_Timestamp_validation_works === RUN TestValidateBackupPath_SecurityVerification/CRITICAL:_Filename_pattern_enforced --- PASS: TestValidateBackupPath_SecurityVerification (0.02s) --- PASS: TestValidateBackupPath_SecurityVerification/CRITICAL:_Symlink_protection_works (0.01s) --- PASS: TestValidateBackupPath_SecurityVerification/CRITICAL:_Path_traversal_blocked (0.00s) --- PASS: TestValidateBackupPath_SecurityVerification/CRITICAL:_Timestamp_validation_works (0.00s) --- PASS: TestValidateBackupPath_SecurityVerification/CRITICAL:_Filename_pattern_enforced (0.00s) === RUN TestValidateBackupPath_IntegrationScenarios === RUN TestValidateBackupPath_IntegrationScenarios/complete_valid_workflow === RUN TestValidateBackupPath_IntegrationScenarios/multiple_backups_in_directory --- PASS: TestValidateBackupPath_IntegrationScenarios (0.01s) --- PASS: TestValidateBackupPath_IntegrationScenarios/complete_valid_workflow (0.01s) --- PASS: TestValidateBackupPath_IntegrationScenarios/multiple_backups_in_directory (0.00s) === RUN TestValidateCustomInstallPath === RUN TestValidateCustomInstallPath/empty_path_rejected === RUN TestValidateCustomInstallPath/relative_path_rejected === RUN TestValidateCustomInstallPath/filesystem_root_rejected === RUN TestValidateCustomInstallPath/control_characters_rejected === RUN TestValidateCustomInstallPath/path_under_WINDIR_rejected === RUN TestValidateCustomInstallPath/nonexistent_but_creatable_path_accepted === RUN TestValidateCustomInstallPath/existing_directory_accepted === RUN TestValidateCustomInstallPath/file_at_target_rejected === RUN TestValidateCustomInstallPath/unwritable_ancestor_rejected --- PASS: TestValidateCustomInstallPath (0.01s) --- PASS: TestValidateCustomInstallPath/empty_path_rejected (0.00s) --- PASS: TestValidateCustomInstallPath/relative_path_rejected (0.00s) --- PASS: TestValidateCustomInstallPath/filesystem_root_rejected (0.00s) --- PASS: TestValidateCustomInstallPath/control_characters_rejected (0.00s) --- PASS: TestValidateCustomInstallPath/path_under_WINDIR_rejected (0.00s) --- PASS: TestValidateCustomInstallPath/nonexistent_but_creatable_path_accepted (0.00s) --- PASS: TestValidateCustomInstallPath/existing_directory_accepted (0.00s) --- PASS: TestValidateCustomInstallPath/file_at_target_rejected (0.00s) --- PASS: TestValidateCustomInstallPath/unwritable_ancestor_rejected (0.00s) PASS === RUN TestSetBindingFileConcurrentUpdatesPreserveEveryBinding --- PASS: TestSetBindingFileConcurrentUpdatesPreserveEveryBinding (0.37s) === RUN TestSetBindingFileConflictDoesNotOverwrite --- PASS: TestSetBindingFileConflictDoesNotOverwrite (0.01s) === RUN TestUnrelatedHotkeyEditPreservesRawCommandsAndFormatting --- PASS: TestUnrelatedHotkeyEditPreservesRawCommandsAndFormatting (0.02s) === RUN TestMixedNewlineBindingsRoundtripEditAndDelete --- PASS: TestMixedNewlineBindingsRoundtripEditAndDelete (0.00s) === RUN TestPresetPreservesExistingPermissionsAndRefusesSymlink --- PASS: TestPresetPreservesExistingPermissionsAndRefusesSymlink (0.02s) === RUN TestParseInputConf === RUN TestParseInputConf/normal_binding === RUN TestParseInputConf/binding_with_inline_comment === RUN TestParseInputConf/comment_line === RUN TestParseInputConf/empty_line === RUN TestParseInputConf/section_header === RUN TestParseInputConf/multi-word_command === RUN TestParseInputConf/mixed_content --- PASS: TestParseInputConf (0.00s) --- PASS: TestParseInputConf/normal_binding (0.00s) --- PASS: TestParseInputConf/binding_with_inline_comment (0.00s) --- PASS: TestParseInputConf/comment_line (0.00s) --- PASS: TestParseInputConf/empty_line (0.00s) --- PASS: TestParseInputConf/section_header (0.00s) --- PASS: TestParseInputConf/multi-word_command (0.00s) --- PASS: TestParseInputConf/mixed_content (0.00s) === RUN TestParseBindingLineCommentExtraction --- PASS: TestParseBindingLineCommentExtraction (0.00s) === RUN TestParseBindingLineQuotedHash --- PASS: TestParseBindingLineQuotedHash (0.00s) === RUN TestSerializeInputConf === RUN TestSerializeInputConf/simple_binding === RUN TestSerializeInputConf/binding_with_comment === RUN TestSerializeInputConf/comment_line === RUN TestSerializeInputConf/section_header === RUN TestSerializeInputConf/empty_line === RUN TestSerializeInputConf/multi-field_command === RUN TestSerializeInputConf/full_file --- PASS: TestSerializeInputConf (0.00s) --- PASS: TestSerializeInputConf/simple_binding (0.00s) --- PASS: TestSerializeInputConf/binding_with_comment (0.00s) --- PASS: TestSerializeInputConf/comment_line (0.00s) --- PASS: TestSerializeInputConf/section_header (0.00s) --- PASS: TestSerializeInputConf/empty_line (0.00s) --- PASS: TestSerializeInputConf/multi-field_command (0.00s) --- PASS: TestSerializeInputConf/full_file (0.00s) === RUN TestSerializeInputConfRoundtripSimple --- PASS: TestSerializeInputConfRoundtripSimple (0.00s) === RUN TestFindBinding === RUN TestFindBinding/found_SPACE === RUN TestFindBinding/found_RIGHT === RUN TestFindBinding/found_Ctrl+RIGHT === RUN TestFindBinding/not_found_LEFT === RUN TestFindBinding/not_found_-_empty_key --- PASS: TestFindBinding (0.00s) --- PASS: TestFindBinding/found_SPACE (0.00s) --- PASS: TestFindBinding/found_RIGHT (0.00s) --- PASS: TestFindBinding/found_Ctrl+RIGHT (0.00s) --- PASS: TestFindBinding/not_found_LEFT (0.00s) --- PASS: TestFindBinding/not_found_-_empty_key (0.00s) === RUN TestSetBinding === RUN TestSetBinding/add_new_binding === RUN TestSetBinding/update_existing_binding === RUN TestSetBinding/preserves_other_bindings === RUN TestSetBinding/updates_every_duplicate_binding --- PASS: TestSetBinding (0.00s) --- PASS: TestSetBinding/add_new_binding (0.00s) --- PASS: TestSetBinding/update_existing_binding (0.00s) --- PASS: TestSetBinding/preserves_other_bindings (0.00s) --- PASS: TestSetBinding/updates_every_duplicate_binding (0.00s) === RUN TestRemoveBinding === RUN TestRemoveBinding/remove_existing_binding === RUN TestRemoveBinding/remove_non-existent_binding === RUN TestRemoveBinding/remove_preserves_surrounding_bindings === RUN TestRemoveBinding/removes_every_duplicate_binding --- PASS: TestRemoveBinding (0.00s) --- PASS: TestRemoveBinding/remove_existing_binding (0.00s) --- PASS: TestRemoveBinding/remove_non-existent_binding (0.00s) --- PASS: TestRemoveBinding/remove_preserves_surrounding_bindings (0.00s) --- PASS: TestRemoveBinding/removes_every_duplicate_binding (0.00s) === RUN TestGetPresetList --- PASS: TestGetPresetList (0.00s) === RUN TestLoadPreset === RUN TestLoadPreset/default_preset === RUN TestLoadPreset/vlc_preset === RUN TestLoadPreset/mpc-hc_preset === RUN TestLoadPreset/unknown_preset === RUN TestLoadPreset/empty_preset_name --- PASS: TestLoadPreset (0.00s) --- PASS: TestLoadPreset/default_preset (0.00s) --- PASS: TestLoadPreset/vlc_preset (0.00s) --- PASS: TestLoadPreset/mpc-hc_preset (0.00s) --- PASS: TestLoadPreset/unknown_preset (0.00s) --- PASS: TestLoadPreset/empty_preset_name (0.00s) === RUN TestLoadPresetNoDuplicateKeys === RUN TestLoadPresetNoDuplicateKeys/default === RUN TestLoadPresetNoDuplicateKeys/vlc === RUN TestLoadPresetNoDuplicateKeys/mpc-hc --- PASS: TestLoadPresetNoDuplicateKeys (0.00s) --- PASS: TestLoadPresetNoDuplicateKeys/default (0.00s) --- PASS: TestLoadPresetNoDuplicateKeys/vlc (0.00s) --- PASS: TestLoadPresetNoDuplicateKeys/mpc-hc (0.00s) === RUN TestInputConfBackupsDoNotCollide --- PASS: TestInputConfBackupsDoNotCollide (0.01s) === RUN TestInputConfBackupRetentionIsBounded --- PASS: TestInputConfBackupRetentionIsBounded (0.20s) === RUN TestValidateKeyName === RUN TestValidateKeyName/valid/q === RUN TestValidateKeyName/valid/Q === RUN TestValidateKeyName/valid/9 === RUN TestValidateKeyName/valid/, === RUN TestValidateKeyName/valid/. === RUN TestValidateKeyName/valid// === RUN TestValidateKeyName/valid/* === RUN TestValidateKeyName/valid/< === RUN TestValidateKeyName/valid/> === RUN TestValidateKeyName/valid/] === RUN TestValidateKeyName/valid/{ === RUN TestValidateKeyName/valid/} === RUN TestValidateKeyName/valid/_ === RUN TestValidateKeyName/valid/` === RUN TestValidateKeyName/valid/= === RUN TestValidateKeyName/valid/+ === RUN TestValidateKeyName/valid/SPACE === RUN TestValidateKeyName/valid/ENTER === RUN TestValidateKeyName/valid/TAB === RUN TestValidateKeyName/valid/UP === RUN TestValidateKeyName/valid/DOWN === RUN TestValidateKeyName/valid/LEFT === RUN TestValidateKeyName/valid/RIGHT === RUN TestValidateKeyName/valid/HOME === RUN TestValidateKeyName/valid/END === RUN TestValidateKeyName/valid/PGUP === RUN TestValidateKeyName/valid/PGDWN === RUN TestValidateKeyName/valid/INS === RUN TestValidateKeyName/valid/DEL === RUN TestValidateKeyName/valid/ESC === RUN TestValidateKeyName/valid/BS === RUN TestValidateKeyName/valid/BACKSPACE === RUN TestValidateKeyName/valid/SHARP === RUN TestValidateKeyName/valid/PRINT === RUN TestValidateKeyName/valid/F1 === RUN TestValidateKeyName/valid/F8 === RUN TestValidateKeyName/valid/F13 === RUN TestValidateKeyName/valid/F24 === RUN TestValidateKeyName/valid/KP0 === RUN TestValidateKeyName/valid/KP9 === RUN TestValidateKeyName/valid/KP_ADD === RUN TestValidateKeyName/valid/KP_SUBTRACT === RUN TestValidateKeyName/valid/KP_MULTIPLY === RUN TestValidateKeyName/valid/KP_DIVIDE === RUN TestValidateKeyName/valid/KP_ENTER === RUN TestValidateKeyName/valid/MBTN_LEFT === RUN TestValidateKeyName/valid/MBTN_LEFT_DBL === RUN TestValidateKeyName/valid/WHEEL_UP === RUN TestValidateKeyName/valid/WHEEL_DOWN === RUN TestValidateKeyName/valid/GAMEPAD_ACTION_DOWN === RUN TestValidateKeyName/valid/PLAY === RUN TestValidateKeyName/valid/PAUSE === RUN TestValidateKeyName/valid/STOP === RUN TestValidateKeyName/valid/REWIND === RUN TestValidateKeyName/valid/FORWARD === RUN TestValidateKeyName/valid/PLAYPAUSE === RUN TestValidateKeyName/valid/PLAYONLY === RUN TestValidateKeyName/valid/PAUSEONLY === RUN TestValidateKeyName/valid/NEXT === RUN TestValidateKeyName/valid/PREV === RUN TestValidateKeyName/valid/MUTE === RUN TestValidateKeyName/valid/VOLUME_UP === RUN TestValidateKeyName/valid/VOLUME_DOWN === RUN TestValidateKeyName/valid/CLOSE_WIN === RUN TestValidateKeyName/valid/POWER === RUN TestValidateKeyName/valid/ctrl+q === RUN TestValidateKeyName/valid/Ctrl+X === RUN TestValidateKeyName/valid/Ctrl+Shift+UP === RUN TestValidateKeyName/valid/Shift+Ctrl+F1 === RUN TestValidateKeyName/valid/Alt+KP0 === RUN TestValidateKeyName/valid/Meta+A === RUN TestValidateKeyName/valid/ctrl++ === RUN TestValidateKeyName/valid/ctrl+- === RUN TestValidateKeyName/valid/Alt+ENTER === RUN TestValidateKeyName/valid/Alt+F4 === RUN TestValidateKeyName/valid/Shift+Ctrl+BS === RUN TestValidateKeyName/valid/Ctrl+Shift+RIGHT === RUN TestValidateKeyName/valid/ctrl === RUN TestValidateKeyName/valid/Ctrl === RUN TestValidateKeyName/valid/Shift === RUN TestValidateKeyName/valid/Alt === RUN TestValidateKeyName/valid/Meta === RUN TestValidateKeyName/invalid/empty === RUN TestValidateKeyName/invalid/modifier_without_key === RUN TestValidateKeyName/invalid/leading_plus === RUN TestValidateKeyName/invalid/doubled_plus === RUN TestValidateKeyName/invalid/trailing_plus_after_combo === RUN TestValidateKeyName/invalid/unknown_modifier === RUN TestValidateKeyName/invalid/unknown_modifier_with_space === RUN TestValidateKeyName/invalid/space_around_plus === RUN TestValidateKeyName/invalid/trailing_space === RUN TestValidateKeyName/invalid/leading_tab === RUN TestValidateKeyName/invalid/newline_injection === RUN TestValidateKeyName/invalid/newline_in_combo === RUN TestValidateKeyName/invalid/control_char === RUN TestValidateKeyName/invalid/non-ASCII === RUN TestValidateKeyName/invalid/unknown_lowercase_name === RUN TestValidateKeyName/invalid/mixed-case_named_key === RUN TestValidateKeyName/invalid/comment_delimiter --- PASS: TestValidateKeyName (0.00s) --- PASS: TestValidateKeyName/valid/q (0.00s) --- PASS: TestValidateKeyName/valid/Q (0.00s) --- PASS: TestValidateKeyName/valid/9 (0.00s) --- PASS: TestValidateKeyName/valid/, (0.00s) --- PASS: TestValidateKeyName/valid/. (0.00s) --- PASS: TestValidateKeyName/valid// (0.00s) --- PASS: TestValidateKeyName/valid/* (0.00s) --- PASS: TestValidateKeyName/valid/< (0.00s) --- PASS: TestValidateKeyName/valid/> (0.00s) --- PASS: TestValidateKeyName/valid/] (0.00s) --- PASS: TestValidateKeyName/valid/{ (0.00s) --- PASS: TestValidateKeyName/valid/} (0.00s) --- PASS: TestValidateKeyName/valid/_ (0.00s) --- PASS: TestValidateKeyName/valid/` (0.00s) --- PASS: TestValidateKeyName/valid/= (0.00s) --- PASS: TestValidateKeyName/valid/+ (0.00s) --- PASS: TestValidateKeyName/valid/SPACE (0.00s) --- PASS: TestValidateKeyName/valid/ENTER (0.00s) --- PASS: TestValidateKeyName/valid/TAB (0.00s) --- PASS: TestValidateKeyName/valid/UP (0.00s) --- PASS: TestValidateKeyName/valid/DOWN (0.00s) --- PASS: TestValidateKeyName/valid/LEFT (0.00s) --- PASS: TestValidateKeyName/valid/RIGHT (0.00s) --- PASS: TestValidateKeyName/valid/HOME (0.00s) --- PASS: TestValidateKeyName/valid/END (0.00s) --- PASS: TestValidateKeyName/valid/PGUP (0.00s) --- PASS: TestValidateKeyName/valid/PGDWN (0.00s) --- PASS: TestValidateKeyName/valid/INS (0.00s) --- PASS: TestValidateKeyName/valid/DEL (0.00s) --- PASS: TestValidateKeyName/valid/ESC (0.00s) --- PASS: TestValidateKeyName/valid/BS (0.00s) --- PASS: TestValidateKeyName/valid/BACKSPACE (0.00s) --- PASS: TestValidateKeyName/valid/SHARP (0.00s) --- PASS: TestValidateKeyName/valid/PRINT (0.00s) --- PASS: TestValidateKeyName/valid/F1 (0.00s) --- PASS: TestValidateKeyName/valid/F8 (0.00s) --- PASS: TestValidateKeyName/valid/F13 (0.00s) --- PASS: TestValidateKeyName/valid/F24 (0.00s) --- PASS: TestValidateKeyName/valid/KP0 (0.00s) --- PASS: TestValidateKeyName/valid/KP9 (0.00s) --- PASS: TestValidateKeyName/valid/KP_ADD (0.00s) --- PASS: TestValidateKeyName/valid/KP_SUBTRACT (0.00s) --- PASS: TestValidateKeyName/valid/KP_MULTIPLY (0.00s) --- PASS: TestValidateKeyName/valid/KP_DIVIDE (0.00s) --- PASS: TestValidateKeyName/valid/KP_ENTER (0.00s) --- PASS: TestValidateKeyName/valid/MBTN_LEFT (0.00s) --- PASS: TestValidateKeyName/valid/MBTN_LEFT_DBL (0.00s) --- PASS: TestValidateKeyName/valid/WHEEL_UP (0.00s) --- PASS: TestValidateKeyName/valid/WHEEL_DOWN (0.00s) --- PASS: TestValidateKeyName/valid/GAMEPAD_ACTION_DOWN (0.00s) --- PASS: TestValidateKeyName/valid/PLAY (0.00s) --- PASS: TestValidateKeyName/valid/PAUSE (0.00s) --- PASS: TestValidateKeyName/valid/STOP (0.00s) --- PASS: TestValidateKeyName/valid/REWIND (0.00s) --- PASS: TestValidateKeyName/valid/FORWARD (0.00s) --- PASS: TestValidateKeyName/valid/PLAYPAUSE (0.00s) --- PASS: TestValidateKeyName/valid/PLAYONLY (0.00s) --- PASS: TestValidateKeyName/valid/PAUSEONLY (0.00s) --- PASS: TestValidateKeyName/valid/NEXT (0.00s) --- PASS: TestValidateKeyName/valid/PREV (0.00s) --- PASS: TestValidateKeyName/valid/MUTE (0.00s) --- PASS: TestValidateKeyName/valid/VOLUME_UP (0.00s) --- PASS: TestValidateKeyName/valid/VOLUME_DOWN (0.00s) --- PASS: TestValidateKeyName/valid/CLOSE_WIN (0.00s) --- PASS: TestValidateKeyName/valid/POWER (0.00s) --- PASS: TestValidateKeyName/valid/ctrl+q (0.00s) --- PASS: TestValidateKeyName/valid/Ctrl+X (0.00s) --- PASS: TestValidateKeyName/valid/Ctrl+Shift+UP (0.00s) --- PASS: TestValidateKeyName/valid/Shift+Ctrl+F1 (0.00s) --- PASS: TestValidateKeyName/valid/Alt+KP0 (0.00s) --- PASS: TestValidateKeyName/valid/Meta+A (0.00s) --- PASS: TestValidateKeyName/valid/ctrl++ (0.00s) --- PASS: TestValidateKeyName/valid/ctrl+- (0.00s) --- PASS: TestValidateKeyName/valid/Alt+ENTER (0.00s) --- PASS: TestValidateKeyName/valid/Alt+F4 (0.00s) --- PASS: TestValidateKeyName/valid/Shift+Ctrl+BS (0.00s) --- PASS: TestValidateKeyName/valid/Ctrl+Shift+RIGHT (0.00s) --- PASS: TestValidateKeyName/valid/ctrl (0.00s) --- PASS: TestValidateKeyName/valid/Ctrl (0.00s) --- PASS: TestValidateKeyName/valid/Shift (0.00s) --- PASS: TestValidateKeyName/valid/Alt (0.00s) --- PASS: TestValidateKeyName/valid/Meta (0.00s) --- PASS: TestValidateKeyName/invalid/empty (0.00s) --- PASS: TestValidateKeyName/invalid/modifier_without_key (0.00s) --- PASS: TestValidateKeyName/invalid/leading_plus (0.00s) --- PASS: TestValidateKeyName/invalid/doubled_plus (0.00s) --- PASS: TestValidateKeyName/invalid/trailing_plus_after_combo (0.00s) --- PASS: TestValidateKeyName/invalid/unknown_modifier (0.00s) --- PASS: TestValidateKeyName/invalid/unknown_modifier_with_space (0.00s) --- PASS: TestValidateKeyName/invalid/space_around_plus (0.00s) --- PASS: TestValidateKeyName/invalid/trailing_space (0.00s) --- PASS: TestValidateKeyName/invalid/leading_tab (0.00s) --- PASS: TestValidateKeyName/invalid/newline_injection (0.00s) --- PASS: TestValidateKeyName/invalid/newline_in_combo (0.00s) --- PASS: TestValidateKeyName/invalid/control_char (0.00s) --- PASS: TestValidateKeyName/invalid/non-ASCII (0.00s) --- PASS: TestValidateKeyName/invalid/unknown_lowercase_name (0.00s) --- PASS: TestValidateKeyName/invalid/mixed-case_named_key (0.00s) --- PASS: TestValidateKeyName/invalid/comment_delimiter (0.00s) === RUN TestValidateKeyNameCaseSensitivity --- PASS: TestValidateKeyNameCaseSensitivity (0.00s) === RUN TestValidateKeyNamePresetKeys === RUN TestValidateKeyNamePresetKeys/default === RUN TestValidateKeyNamePresetKeys/vlc === RUN TestValidateKeyNamePresetKeys/mpc-hc --- PASS: TestValidateKeyNamePresetKeys (0.00s) --- PASS: TestValidateKeyNamePresetKeys/default (0.00s) --- PASS: TestValidateKeyNamePresetKeys/vlc (0.00s) --- PASS: TestValidateKeyNamePresetKeys/mpc-hc (0.00s) === RUN TestValidateBindingCommand === RUN TestValidateBindingCommand/valid/quit === RUN TestValidateBindingCommand/valid/seek_5 === RUN TestValidateBindingCommand/valid/seek_-5 === RUN TestValidateBindingCommand/valid/cycle_pause === RUN TestValidateBindingCommand/valid/cycle_audio_#_switch_audio_track === RUN TestValidateBindingCommand/valid/show-text_"a_#b" === RUN TestValidateBindingCommand/valid/show-text_"hi" === RUN TestValidateBindingCommand/valid/set_volume_100 === RUN TestValidateBindingCommand/valid/add_sub-delay_0.1 === RUN TestValidateBindingCommand/valid/seek_5_#_inline_comment === RUN TestValidateBindingCommand/invalid/empty === RUN TestValidateBindingCommand/invalid/whitespace_only === RUN TestValidateBindingCommand/invalid/tab_only === RUN TestValidateBindingCommand/invalid/newline_injection === RUN TestValidateBindingCommand/invalid/carriage_return === RUN TestValidateBindingCommand/invalid/tab_separator === RUN TestValidateBindingCommand/invalid/NUL_byte --- PASS: TestValidateBindingCommand (0.00s) --- PASS: TestValidateBindingCommand/valid/quit (0.00s) --- PASS: TestValidateBindingCommand/valid/seek_5 (0.00s) --- PASS: TestValidateBindingCommand/valid/seek_-5 (0.00s) --- PASS: TestValidateBindingCommand/valid/cycle_pause (0.00s) --- PASS: TestValidateBindingCommand/valid/cycle_audio_#_switch_audio_track (0.00s) --- PASS: TestValidateBindingCommand/valid/show-text_"a_#b" (0.00s) --- PASS: TestValidateBindingCommand/valid/show-text_"hi" (0.00s) --- PASS: TestValidateBindingCommand/valid/set_volume_100 (0.00s) --- PASS: TestValidateBindingCommand/valid/add_sub-delay_0.1 (0.00s) --- PASS: TestValidateBindingCommand/valid/seek_5_#_inline_comment (0.00s) --- PASS: TestValidateBindingCommand/invalid/empty (0.00s) --- PASS: TestValidateBindingCommand/invalid/whitespace_only (0.00s) --- PASS: TestValidateBindingCommand/invalid/tab_only (0.00s) --- PASS: TestValidateBindingCommand/invalid/newline_injection (0.00s) --- PASS: TestValidateBindingCommand/invalid/carriage_return (0.00s) --- PASS: TestValidateBindingCommand/invalid/tab_separator (0.00s) --- PASS: TestValidateBindingCommand/invalid/NUL_byte (0.00s) === RUN TestSetBindingValidation === RUN TestSetBindingValidation/rejects_invalid_key === RUN TestSetBindingValidation/rejects_empty_key === RUN TestSetBindingValidation/rejects_newline_injection_in_command === RUN TestSetBindingValidation/rejects_empty_command === RUN TestSetBindingValidation/rejects_control_char_in_comment === RUN TestSetBindingValidation/accepts_and_round-trips_valid_binding === RUN TestSetBindingValidation/updates_existing_binding_with_validation --- PASS: TestSetBindingValidation (0.00s) --- PASS: TestSetBindingValidation/rejects_invalid_key (0.00s) --- PASS: TestSetBindingValidation/rejects_empty_key (0.00s) --- PASS: TestSetBindingValidation/rejects_newline_injection_in_command (0.00s) --- PASS: TestSetBindingValidation/rejects_empty_command (0.00s) --- PASS: TestSetBindingValidation/rejects_control_char_in_comment (0.00s) --- PASS: TestSetBindingValidation/accepts_and_round-trips_valid_binding (0.00s) --- PASS: TestSetBindingValidation/updates_existing_binding_with_validation (0.00s) PASS === RUN TestModernZScalingMigrationApplyIsPersistent --- PASS: TestModernZScalingMigrationApplyIsPersistent (0.04s) === RUN TestModernZScalingMigrationKeepDoesNotRewriteConfig --- PASS: TestModernZScalingMigrationKeepDoesNotRewriteConfig (0.01s) === RUN TestInspectReportsInvalidUOSCValues --- PASS: TestInspectReportsInvalidUOSCValues (0.00s) === RUN TestInspectRepresentsTwoInstalledOverlayScriptsAsAmbiguous --- PASS: TestInspectRepresentsTwoInstalledOverlayScriptsAsAmbiguous (0.00s) === RUN TestMigrationDoesNotOverrideExplicitWindowScaling --- PASS: TestMigrationDoesNotOverrideExplicitWindowScaling (0.00s) === RUN TestMigrationRollsBackScriptWhenManagerPersistenceFails --- PASS: TestMigrationRollsBackScriptWhenManagerPersistenceFails (0.05s) === RUN TestMigrationRecoveryRollsBackUncommittedScriptChange --- PASS: TestMigrationRecoveryRollsBackUncommittedScriptChange (0.04s) === RUN TestMigrationRecoveryKeepsCommittedScriptChange --- PASS: TestMigrationRecoveryKeepsCommittedScriptChange (0.04s) === RUN TestMigrationRecoveryRetainsConcurrentEditsAndJournal === RUN TestMigrationRecoveryRetainsConcurrentEditsAndJournal/created_after_migration === RUN TestMigrationRecoveryRetainsConcurrentEditsAndJournal/edited_after_migration --- PASS: TestMigrationRecoveryRetainsConcurrentEditsAndJournal (0.09s) --- PASS: TestMigrationRecoveryRetainsConcurrentEditsAndJournal/created_after_migration (0.04s) --- PASS: TestMigrationRecoveryRetainsConcurrentEditsAndJournal/edited_after_migration (0.05s) === RUN TestMigrationRecoveryReplaysAlreadyRestoredSnapshot --- PASS: TestMigrationRecoveryReplaysAlreadyRestoredSnapshot (0.02s) === RUN TestLegacyMigrationRecoveryRetainsAmbiguousSnapshot --- PASS: TestLegacyMigrationRecoveryRetainsAmbiguousSnapshot (0.04s) === RUN TestQueuedMigrationMatchesLastPersistedValue === RUN TestQueuedMigrationMatchesLastPersistedValue/queued_decision === RUN TestQueuedMigrationMatchesLastPersistedValue/concurrent_editor --- PASS: TestQueuedMigrationMatchesLastPersistedValue (0.05s) --- PASS: TestQueuedMigrationMatchesLastPersistedValue/queued_decision (0.05s) --- PASS: TestQueuedMigrationMatchesLastPersistedValue/concurrent_editor (0.01s) === RUN TestDetectUOSCDirectoryEntrypoint --- PASS: TestDetectUOSCDirectoryEntrypoint (0.01s) PASS === RUN TestCheckCPUFeatures === RUN TestCheckCPUFeatures/empty === RUN TestCheckCPUFeatures/avx2_present === RUN TestCheckCPUFeatures/avx512_present === RUN TestCheckCPUFeatures/neon_present === RUN TestCheckCPUFeatures/linux_arm64_asimd_is_neon === RUN TestCheckCPUFeatures/case_insensitive === RUN TestCheckCPUFeatures/avx1_is_not_avx2 === RUN TestCheckCPUFeatures/avx512_implies_avx512_flag_check_only --- PASS: TestCheckCPUFeatures (0.00s) --- PASS: TestCheckCPUFeatures/empty (0.00s) --- PASS: TestCheckCPUFeatures/avx2_present (0.00s) --- PASS: TestCheckCPUFeatures/avx512_present (0.00s) --- PASS: TestCheckCPUFeatures/neon_present (0.00s) --- PASS: TestCheckCPUFeatures/linux_arm64_asimd_is_neon (0.00s) --- PASS: TestCheckCPUFeatures/case_insensitive (0.00s) --- PASS: TestCheckCPUFeatures/avx1_is_not_avx2 (0.00s) --- PASS: TestCheckCPUFeatures/avx512_implies_avx512_flag_check_only (0.00s) === RUN TestGetVendorDisplay === RUN TestGetVendorDisplay/GenuineIntel === RUN TestGetVendorDisplay/AuthenticAMD === RUN TestGetVendorDisplay/nvidia === RUN TestGetVendorDisplay/amd === RUN TestGetVendorDisplay/intel === RUN TestGetVendorDisplay/apple === RUN TestGetVendorDisplay/VIA === RUN TestGetVendorDisplay/#00 --- PASS: TestGetVendorDisplay (0.00s) --- PASS: TestGetVendorDisplay/GenuineIntel (0.00s) --- PASS: TestGetVendorDisplay/AuthenticAMD (0.00s) --- PASS: TestGetVendorDisplay/nvidia (0.00s) --- PASS: TestGetVendorDisplay/amd (0.00s) --- PASS: TestGetVendorDisplay/intel (0.00s) --- PASS: TestGetVendorDisplay/apple (0.00s) --- PASS: TestGetVendorDisplay/VIA (0.00s) --- PASS: TestGetVendorDisplay/#00 (0.00s) === RUN TestX64BaselineSelection === RUN TestX64BaselineSelection/CMOV === RUN TestX64BaselineSelection/CMPXCHG8 === RUN TestX64BaselineSelection/X87 === RUN TestX64BaselineSelection/FXSR === RUN TestX64BaselineSelection/MMX === RUN TestX64BaselineSelection/SYSCALL === RUN TestX64BaselineSelection/SSE === RUN TestX64BaselineSelection/SSE2 === RUN TestX64BaselineSelection/CX16 === RUN TestX64BaselineSelection/LAHF === RUN TestX64BaselineSelection/POPCNT === RUN TestX64BaselineSelection/SSE3 === RUN TestX64BaselineSelection/SSE4 === RUN TestX64BaselineSelection/SSE42 === RUN TestX64BaselineSelection/SSSE3 === RUN TestX64BaselineSelection/AVX === RUN TestX64BaselineSelection/AVX2 === RUN TestX64BaselineSelection/BMI1 === RUN TestX64BaselineSelection/BMI2 === RUN TestX64BaselineSelection/F16C === RUN TestX64BaselineSelection/FMA3 === RUN TestX64BaselineSelection/LZCNT === RUN TestX64BaselineSelection/MOVBE === RUN TestX64BaselineSelection/OSXSAVE --- PASS: TestX64BaselineSelection (0.00s) --- PASS: TestX64BaselineSelection/CMOV (0.00s) --- PASS: TestX64BaselineSelection/CMPXCHG8 (0.00s) --- PASS: TestX64BaselineSelection/X87 (0.00s) --- PASS: TestX64BaselineSelection/FXSR (0.00s) --- PASS: TestX64BaselineSelection/MMX (0.00s) --- PASS: TestX64BaselineSelection/SYSCALL (0.00s) --- PASS: TestX64BaselineSelection/SSE (0.00s) --- PASS: TestX64BaselineSelection/SSE2 (0.00s) --- PASS: TestX64BaselineSelection/CX16 (0.00s) --- PASS: TestX64BaselineSelection/LAHF (0.00s) --- PASS: TestX64BaselineSelection/POPCNT (0.00s) --- PASS: TestX64BaselineSelection/SSE3 (0.00s) --- PASS: TestX64BaselineSelection/SSE4 (0.00s) --- PASS: TestX64BaselineSelection/SSE42 (0.00s) --- PASS: TestX64BaselineSelection/SSSE3 (0.00s) --- PASS: TestX64BaselineSelection/AVX (0.00s) --- PASS: TestX64BaselineSelection/AVX2 (0.00s) --- PASS: TestX64BaselineSelection/BMI1 (0.00s) --- PASS: TestX64BaselineSelection/BMI2 (0.00s) --- PASS: TestX64BaselineSelection/F16C (0.00s) --- PASS: TestX64BaselineSelection/FMA3 (0.00s) --- PASS: TestX64BaselineSelection/LZCNT (0.00s) --- PASS: TestX64BaselineSelection/MOVBE (0.00s) --- PASS: TestX64BaselineSelection/OSXSAVE (0.00s) === RUN TestDetectCPULinux cpu_test.go:101: Linux-only detection path --- SKIP: TestDetectCPULinux (0.00s) === RUN TestDetectCPU cpu_test.go:122: assertions target the Linux detection path --- SKIP: TestDetectCPU (0.00s) === RUN TestDetectCPUDarwinWithRunner cpu_test.go:144: covered natively on darwin --- SKIP: TestDetectCPUDarwinWithRunner (0.00s) === RUN TestSupportsX86_64_v3 === RUN TestSupportsX86_64_v3/amd64_with_avx2 === RUN TestSupportsX86_64_v3/x86_64_alias_with_avx2 === RUN TestSupportsX86_64_v3/amd64_full_v3 === RUN TestSupportsX86_64_v3/amd64_full_v4 === RUN TestSupportsX86_64_v3/x86_64_full_v3 === RUN TestSupportsX86_64_v3/amd64_v2_with_AVX2 === RUN TestSupportsX86_64_v3/amd64_without_avx2 === RUN TestSupportsX86_64_v3/arm64_never --- PASS: TestSupportsX86_64_v3 (0.00s) --- PASS: TestSupportsX86_64_v3/amd64_with_avx2 (0.00s) --- PASS: TestSupportsX86_64_v3/x86_64_alias_with_avx2 (0.00s) --- PASS: TestSupportsX86_64_v3/amd64_full_v3 (0.00s) --- PASS: TestSupportsX86_64_v3/amd64_full_v4 (0.00s) --- PASS: TestSupportsX86_64_v3/x86_64_full_v3 (0.00s) --- PASS: TestSupportsX86_64_v3/amd64_v2_with_AVX2 (0.00s) --- PASS: TestSupportsX86_64_v3/amd64_without_avx2 (0.00s) --- PASS: TestSupportsX86_64_v3/arm64_never (0.00s) === RUN TestDetectCPUWindowsStub --- PASS: TestDetectCPUWindowsStub (0.00s) === RUN TestGetEffectiveUID --- PASS: TestGetEffectiveUID (0.00s) === RUN TestIsRoot --- PASS: TestIsRoot (0.00s) === RUN TestGetCurrentUser --- PASS: TestGetCurrentUser (0.00s) === RUN TestGetHomeDirectory --- PASS: TestGetHomeDirectory (0.00s) === RUN TestParseUID === RUN TestParseUID/0 === RUN TestParseUID/1000 === RUN TestParseUID/-1 === RUN TestParseUID/abc === RUN TestParseUID/#00 === RUN TestParseUID/10.5 --- PASS: TestParseUID (0.00s) --- PASS: TestParseUID/0 (0.00s) --- PASS: TestParseUID/1000 (0.00s) --- PASS: TestParseUID/-1 (0.00s) --- PASS: TestParseUID/abc (0.00s) --- PASS: TestParseUID/#00 (0.00s) --- PASS: TestParseUID/10.5 (0.00s) === RUN TestGPUCatalogKnownModels === RUN TestGPUCatalogKnownModels/AMD_Radeon_RX_6850M_XT === RUN TestGPUCatalogKnownModels/AMD_Radeon_RX_6800M === RUN TestGPUCatalogKnownModels/AMD_Radeon_RX_6700M === RUN TestGPUCatalogKnownModels/AMD_Radeon_RX_6650M_XT === RUN TestGPUCatalogKnownModels/AMD_Radeon_RX_6650M === RUN TestGPUCatalogKnownModels/AMD_Radeon_RX_6600M === RUN TestGPUCatalogKnownModels/AMD_Radeon_RX_6800S === RUN TestGPUCatalogKnownModels/AMD_Radeon_RX_6700S === RUN TestGPUCatalogKnownModels/AMD_Radeon_RX_6600S === RUN TestGPUCatalogKnownModels/AMD_Radeon_RX_6550M === RUN TestGPUCatalogKnownModels/AMD_Radeon_RX_6500M === RUN TestGPUCatalogKnownModels/AMD_Radeon_RX_6450M === RUN TestGPUCatalogKnownModels/AMD_Radeon_RX_6300M === RUN TestGPUCatalogKnownModels/AMD_Radeon_RX_7900M === RUN TestGPUCatalogKnownModels/AMD_Radeon_RX_7800M === RUN TestGPUCatalogKnownModels/AMD_Radeon_RX_7600M_XT === RUN TestGPUCatalogKnownModels/AMD_Radeon_RX_7600M === RUN TestGPUCatalogKnownModels/AMD_Radeon_RX_7700S === RUN TestGPUCatalogKnownModels/AMD_Radeon_RX_7600S === RUN TestGPUCatalogKnownModels/AMD_Radeon(TM)_660M === RUN TestGPUCatalogKnownModels/AMD_Radeon(TM)_680M === RUN TestGPUCatalogKnownModels/AMD_Radeon_740M === RUN TestGPUCatalogKnownModels/AMD_Radeon_760M === RUN TestGPUCatalogKnownModels/AMD_Radeon_780M === RUN TestGPUCatalogKnownModels/AMD_Radeon_860M === RUN TestGPUCatalogKnownModels/AMD_Radeon_880M === RUN TestGPUCatalogKnownModels/AMD_Radeon_890M === RUN TestGPUCatalogKnownModels/Intel(R)_Arc(TM)_A370M_Graphics === RUN TestGPUCatalogKnownModels/Intel_Arc_Pro_A60 === RUN TestGPUCatalogKnownModels/Intel_Arc_Pro_A60M === RUN TestGPUCatalogKnownModels/Intel_Arc_Pro_B60 === RUN TestGPUCatalogKnownModels/Intel_Arc_Pro_B50 === RUN TestGPUCatalogKnownModels/Intel_Arc_140T_GPU === RUN TestGPUCatalogKnownModels/Intel_Arc_Graphics_130T === RUN TestGPUCatalogKnownModels/Intel_Arc_140V_GPU === RUN TestGPUCatalogKnownModels/Intel(R)_Arc(TM)_Graphics_140V === RUN TestGPUCatalogKnownModels/Intel®_Arc™_Graphics_130V === RUN TestGPUCatalogKnownModels/Intel_Arc_B390_GPU === RUN TestGPUCatalogKnownModels/Intel_Arc_B370_GPU === RUN TestGPUCatalogKnownModels/Arrow_Lake === RUN TestGPUCatalogKnownModels/Panther_Lake === RUN TestGPUCatalogKnownModels/Intel_Core_Ultra_7_268V === RUN TestGPUCatalogKnownModels/Intel_UHD_Graphics_770 === RUN TestGPUCatalogKnownModels/NVIDIA_GeForce_RTX_2050 === RUN TestGPUCatalogKnownModels/NVIDIA_Quadro_RTX_3000 === RUN TestGPUCatalogKnownModels/NVIDIA_Quadro_RTX_4000 === RUN TestGPUCatalogKnownModels/NVIDIA_GeForce_RTX_3050_Laptop_GPU === RUN TestGPUCatalogKnownModels/NVIDIA_GeForce_RTX_5060_Laptop_GPU --- PASS: TestGPUCatalogKnownModels (0.00s) --- PASS: TestGPUCatalogKnownModels/AMD_Radeon_RX_6850M_XT (0.00s) --- PASS: TestGPUCatalogKnownModels/AMD_Radeon_RX_6800M (0.00s) --- PASS: TestGPUCatalogKnownModels/AMD_Radeon_RX_6700M (0.00s) --- PASS: TestGPUCatalogKnownModels/AMD_Radeon_RX_6650M_XT (0.00s) --- PASS: TestGPUCatalogKnownModels/AMD_Radeon_RX_6650M (0.00s) --- PASS: TestGPUCatalogKnownModels/AMD_Radeon_RX_6600M (0.00s) --- PASS: TestGPUCatalogKnownModels/AMD_Radeon_RX_6800S (0.00s) --- PASS: TestGPUCatalogKnownModels/AMD_Radeon_RX_6700S (0.00s) --- PASS: TestGPUCatalogKnownModels/AMD_Radeon_RX_6600S (0.00s) --- PASS: TestGPUCatalogKnownModels/AMD_Radeon_RX_6550M (0.00s) --- PASS: TestGPUCatalogKnownModels/AMD_Radeon_RX_6500M (0.00s) --- PASS: TestGPUCatalogKnownModels/AMD_Radeon_RX_6450M (0.00s) --- PASS: TestGPUCatalogKnownModels/AMD_Radeon_RX_6300M (0.00s) --- PASS: TestGPUCatalogKnownModels/AMD_Radeon_RX_7900M (0.00s) --- PASS: TestGPUCatalogKnownModels/AMD_Radeon_RX_7800M (0.00s) --- PASS: TestGPUCatalogKnownModels/AMD_Radeon_RX_7600M_XT (0.00s) --- PASS: TestGPUCatalogKnownModels/AMD_Radeon_RX_7600M (0.00s) --- PASS: TestGPUCatalogKnownModels/AMD_Radeon_RX_7700S (0.00s) --- PASS: TestGPUCatalogKnownModels/AMD_Radeon_RX_7600S (0.00s) --- PASS: TestGPUCatalogKnownModels/AMD_Radeon(TM)_660M (0.00s) --- PASS: TestGPUCatalogKnownModels/AMD_Radeon(TM)_680M (0.00s) --- PASS: TestGPUCatalogKnownModels/AMD_Radeon_740M (0.00s) --- PASS: TestGPUCatalogKnownModels/AMD_Radeon_760M (0.00s) --- PASS: TestGPUCatalogKnownModels/AMD_Radeon_780M (0.00s) --- PASS: TestGPUCatalogKnownModels/AMD_Radeon_860M (0.00s) --- PASS: TestGPUCatalogKnownModels/AMD_Radeon_880M (0.00s) --- PASS: TestGPUCatalogKnownModels/AMD_Radeon_890M (0.00s) --- PASS: TestGPUCatalogKnownModels/Intel(R)_Arc(TM)_A370M_Graphics (0.00s) --- PASS: TestGPUCatalogKnownModels/Intel_Arc_Pro_A60 (0.00s) --- PASS: TestGPUCatalogKnownModels/Intel_Arc_Pro_A60M (0.00s) --- PASS: TestGPUCatalogKnownModels/Intel_Arc_Pro_B60 (0.00s) --- PASS: TestGPUCatalogKnownModels/Intel_Arc_Pro_B50 (0.00s) --- PASS: TestGPUCatalogKnownModels/Intel_Arc_140T_GPU (0.00s) --- PASS: TestGPUCatalogKnownModels/Intel_Arc_Graphics_130T (0.00s) --- PASS: TestGPUCatalogKnownModels/Intel_Arc_140V_GPU (0.00s) --- PASS: TestGPUCatalogKnownModels/Intel(R)_Arc(TM)_Graphics_140V (0.00s) --- PASS: TestGPUCatalogKnownModels/Intel®_Arc™_Graphics_130V (0.00s) --- PASS: TestGPUCatalogKnownModels/Intel_Arc_B390_GPU (0.00s) --- PASS: TestGPUCatalogKnownModels/Intel_Arc_B370_GPU (0.00s) --- PASS: TestGPUCatalogKnownModels/Arrow_Lake (0.00s) --- PASS: TestGPUCatalogKnownModels/Panther_Lake (0.00s) --- PASS: TestGPUCatalogKnownModels/Intel_Core_Ultra_7_268V (0.00s) --- PASS: TestGPUCatalogKnownModels/Intel_UHD_Graphics_770 (0.00s) --- PASS: TestGPUCatalogKnownModels/NVIDIA_GeForce_RTX_2050 (0.00s) --- PASS: TestGPUCatalogKnownModels/NVIDIA_Quadro_RTX_3000 (0.00s) --- PASS: TestGPUCatalogKnownModels/NVIDIA_Quadro_RTX_4000 (0.00s) --- PASS: TestGPUCatalogKnownModels/NVIDIA_GeForce_RTX_3050_Laptop_GPU (0.00s) --- PASS: TestGPUCatalogKnownModels/NVIDIA_GeForce_RTX_5060_Laptop_GPU (0.00s) === RUN TestGPUCatalogAmbiguousNamesStayUnknown === RUN TestGPUCatalogAmbiguousNamesStayUnknown/Intel_Graphics === RUN TestGPUCatalogAmbiguousNamesStayUnknown/Intel_Xe_Graphics === RUN TestGPUCatalogAmbiguousNamesStayUnknown/Intel_Arc_Graphics === RUN TestGPUCatalogAmbiguousNamesStayUnknown/Intel_Arc_B-Series === RUN TestGPUCatalogAmbiguousNamesStayUnknown/Intel_Core_Ultra_200 === RUN TestGPUCatalogAmbiguousNamesStayUnknown/Intel_Core_Ultra_200H === RUN TestGPUCatalogAmbiguousNamesStayUnknown/Intel_Core_Ultra_7_255H === RUN TestGPUCatalogAmbiguousNamesStayUnknown/NVIDIA_RTX_3000 === RUN TestGPUCatalogAmbiguousNamesStayUnknown/NVIDIA_RTX_4000 === RUN TestGPUCatalogAmbiguousNamesStayUnknown/NVIDIA_GeForce_RTX_50900 === RUN TestGPUCatalogAmbiguousNamesStayUnknown/Intel_Arc_B999 === RUN TestGPUCatalogAmbiguousNamesStayUnknown/AMD_Radeon_Graphics === RUN TestGPUCatalogAmbiguousNamesStayUnknown/AMD_Radeon_RX_6800Mystery === RUN TestGPUCatalogAmbiguousNamesStayUnknown/AMD_Radeon_RX_7600Unknown === RUN TestGPUCatalogAmbiguousNamesStayUnknown/AMD_Radeon_Vega_60 === RUN TestGPUCatalogAmbiguousNamesStayUnknown/Intel_Arc_A7700 === RUN TestGPUCatalogAmbiguousNamesStayUnknown/NotNavi_21 === RUN TestGPUCatalogAmbiguousNamesStayUnknown/Intel_Arc_Graphics_999V === RUN TestGPUCatalogAmbiguousNamesStayUnknown/Microsoft_Basic_Display_Adapter --- PASS: TestGPUCatalogAmbiguousNamesStayUnknown (0.00s) --- PASS: TestGPUCatalogAmbiguousNamesStayUnknown/Intel_Graphics (0.00s) --- PASS: TestGPUCatalogAmbiguousNamesStayUnknown/Intel_Xe_Graphics (0.00s) --- PASS: TestGPUCatalogAmbiguousNamesStayUnknown/Intel_Arc_Graphics (0.00s) --- PASS: TestGPUCatalogAmbiguousNamesStayUnknown/Intel_Arc_B-Series (0.00s) --- PASS: TestGPUCatalogAmbiguousNamesStayUnknown/Intel_Core_Ultra_200 (0.00s) --- PASS: TestGPUCatalogAmbiguousNamesStayUnknown/Intel_Core_Ultra_200H (0.00s) --- PASS: TestGPUCatalogAmbiguousNamesStayUnknown/Intel_Core_Ultra_7_255H (0.00s) --- PASS: TestGPUCatalogAmbiguousNamesStayUnknown/NVIDIA_RTX_3000 (0.00s) --- PASS: TestGPUCatalogAmbiguousNamesStayUnknown/NVIDIA_RTX_4000 (0.00s) --- PASS: TestGPUCatalogAmbiguousNamesStayUnknown/NVIDIA_GeForce_RTX_50900 (0.00s) --- PASS: TestGPUCatalogAmbiguousNamesStayUnknown/Intel_Arc_B999 (0.00s) --- PASS: TestGPUCatalogAmbiguousNamesStayUnknown/AMD_Radeon_Graphics (0.00s) --- PASS: TestGPUCatalogAmbiguousNamesStayUnknown/AMD_Radeon_RX_6800Mystery (0.00s) --- PASS: TestGPUCatalogAmbiguousNamesStayUnknown/AMD_Radeon_RX_7600Unknown (0.00s) --- PASS: TestGPUCatalogAmbiguousNamesStayUnknown/AMD_Radeon_Vega_60 (0.00s) --- PASS: TestGPUCatalogAmbiguousNamesStayUnknown/Intel_Arc_A7700 (0.00s) --- PASS: TestGPUCatalogAmbiguousNamesStayUnknown/NotNavi_21 (0.00s) --- PASS: TestGPUCatalogAmbiguousNamesStayUnknown/Intel_Arc_Graphics_999V (0.00s) --- PASS: TestGPUCatalogAmbiguousNamesStayUnknown/Microsoft_Basic_Display_Adapter (0.00s) === RUN TestGetCodecsForModel === RUN TestGetCodecsForModel/M1 === RUN TestGetCodecsForModel/M2 === RUN TestGetCodecsForModel/M3 === RUN TestGetCodecsForModel/M4 === RUN TestGetCodecsForModel/M5 === RUN TestGetCodecsForModel/Intel_Iris_Plus === RUN TestGetCodecsForModel/Intel_UHD === RUN TestGetCodecsForModel/Intel_with_Apple_chip_substring === RUN TestGetCodecsForModel/unknown_fails_conservatively --- PASS: TestGetCodecsForModel (0.00s) --- PASS: TestGetCodecsForModel/M1 (0.00s) --- PASS: TestGetCodecsForModel/M2 (0.00s) --- PASS: TestGetCodecsForModel/M3 (0.00s) --- PASS: TestGetCodecsForModel/M4 (0.00s) --- PASS: TestGetCodecsForModel/M5 (0.00s) --- PASS: TestGetCodecsForModel/Intel_Iris_Plus (0.00s) --- PASS: TestGetCodecsForModel/Intel_UHD (0.00s) --- PASS: TestGetCodecsForModel/Intel_with_Apple_chip_substring (0.00s) --- PASS: TestGetCodecsForModel/unknown_fails_conservatively (0.00s) === RUN TestDetectGPULinuxGlxinfo --- PASS: TestDetectGPULinuxGlxinfo (0.00s) === RUN TestDetectGPULinuxLspciFallback --- PASS: TestDetectGPULinuxLspciFallback (0.00s) === RUN TestDetectGPULinuxAllProbesFail --- PASS: TestDetectGPULinuxAllProbesFail (0.00s) === RUN TestDetectGPULinuxMultiModelBrands --- PASS: TestDetectGPULinuxMultiModelBrands (0.00s) === RUN TestDetectGPULinuxAggregatesAllProbeSources --- PASS: TestDetectGPULinuxAggregatesAllProbeSources (0.00s) === RUN TestParseCodecSupportLinuxVainfo --- PASS: TestParseCodecSupportLinuxVainfo (0.00s) === RUN TestParseCodecSupportLinuxGPUDatabaseFallback --- PASS: TestParseCodecSupportLinuxGPUDatabaseFallback (0.00s) === RUN TestParseCodecSupportLinuxCombinesHybridDatabaseMatches --- PASS: TestParseCodecSupportLinuxCombinesHybridDatabaseMatches (0.00s) === RUN TestParseCodecSupportLinuxUnknown === RUN TestParseCodecSupportLinuxUnknown/unknown_GPU_model === RUN TestParseCodecSupportLinuxUnknown/no_models_at_all --- PASS: TestParseCodecSupportLinuxUnknown (0.00s) --- PASS: TestParseCodecSupportLinuxUnknown/unknown_GPU_model (0.00s) --- PASS: TestParseCodecSupportLinuxUnknown/no_models_at_all (0.00s) === RUN TestParseCodecSupportWindowsWithRunner === RUN TestParseCodecSupportWindowsWithRunner/probe_failure_propagates_the_error === RUN TestParseCodecSupportWindowsWithRunner/known_model_maps_to_database_codecs === RUN TestParseCodecSupportWindowsWithRunner/unknown_model_falls_back_to_unknown --- PASS: TestParseCodecSupportWindowsWithRunner (0.00s) --- PASS: TestParseCodecSupportWindowsWithRunner/probe_failure_propagates_the_error (0.00s) --- PASS: TestParseCodecSupportWindowsWithRunner/known_model_maps_to_database_codecs (0.00s) --- PASS: TestParseCodecSupportWindowsWithRunner/unknown_model_falls_back_to_unknown (0.00s) === RUN TestDetectGPUWindowsWmic --- PASS: TestDetectGPUWindowsWmic (0.00s) === RUN TestDetectGPUDarwinWithRunner gpu_detect_test.go:265: covered natively on darwin --- SKIP: TestDetectGPUDarwinWithRunner (0.00s) === RUN TestParseGlxInfo === RUN TestParseGlxInfo/device_line === RUN TestParseGlxInfo/renderer_string_fallback === RUN TestParseGlxInfo/duplicate_models_are_deduplicated === RUN TestParseGlxInfo/multi_gpu_system === RUN TestParseGlxInfo/unrelated_output === RUN TestParseGlxInfo/empty_output --- PASS: TestParseGlxInfo (0.00s) --- PASS: TestParseGlxInfo/device_line (0.00s) --- PASS: TestParseGlxInfo/renderer_string_fallback (0.00s) --- PASS: TestParseGlxInfo/duplicate_models_are_deduplicated (0.00s) --- PASS: TestParseGlxInfo/multi_gpu_system (0.00s) --- PASS: TestParseGlxInfo/unrelated_output (0.00s) --- PASS: TestParseGlxInfo/empty_output (0.00s) === RUN TestLookupGPUCodecsMatchPasses === RUN TestLookupGPUCodecsMatchPasses/model_name_pass === RUN TestLookupGPUCodecsMatchPasses/series_pass === RUN TestLookupGPUCodecsMatchPasses/codename_pass === RUN TestLookupGPUCodecsMatchPasses/alt_codename_pass === RUN TestLookupGPUCodecsMatchPasses/case_and_trademark_normalization === RUN TestLookupGPUCodecsMatchPasses/no_match === RUN TestLookupGPUCodecsMatchPasses/empty_name --- PASS: TestLookupGPUCodecsMatchPasses (0.00s) --- PASS: TestLookupGPUCodecsMatchPasses/model_name_pass (0.00s) --- PASS: TestLookupGPUCodecsMatchPasses/series_pass (0.00s) --- PASS: TestLookupGPUCodecsMatchPasses/codename_pass (0.00s) --- PASS: TestLookupGPUCodecsMatchPasses/alt_codename_pass (0.00s) --- PASS: TestLookupGPUCodecsMatchPasses/case_and_trademark_normalization (0.00s) --- PASS: TestLookupGPUCodecsMatchPasses/no_match (0.00s) --- PASS: TestLookupGPUCodecsMatchPasses/empty_name (0.00s) === RUN TestLookupGPUCodecsWithFallbackBrands === RUN TestLookupGPUCodecsWithFallbackBrands/brand_hit_stays_in-brand === RUN TestLookupGPUCodecsWithFallbackBrands/wrong_brand_falls_back_cross-brand === RUN TestLookupGPUCodecsWithFallbackBrands/empty_brand_searches_all_tables === RUN TestLookupGPUCodecsWithFallbackBrands/uppercase_brand_matches === RUN TestLookupGPUCodecsWithFallbackBrands/unknown_gpu --- PASS: TestLookupGPUCodecsWithFallbackBrands (0.00s) --- PASS: TestLookupGPUCodecsWithFallbackBrands/brand_hit_stays_in-brand (0.00s) --- PASS: TestLookupGPUCodecsWithFallbackBrands/wrong_brand_falls_back_cross-brand (0.00s) --- PASS: TestLookupGPUCodecsWithFallbackBrands/empty_brand_searches_all_tables (0.00s) --- PASS: TestLookupGPUCodecsWithFallbackBrands/uppercase_brand_matches (0.00s) --- PASS: TestLookupGPUCodecsWithFallbackBrands/unknown_gpu (0.00s) === RUN TestGetHwaDescription === RUN TestGetHwaDescription/auto === RUN TestGetHwaDescription/auto-safe === RUN TestGetHwaDescription/nvdec === RUN TestGetHwaDescription/nvdec-copy === RUN TestGetHwaDescription/vaapi === RUN TestGetHwaDescription/vaapi-copy === RUN TestGetHwaDescription/vulkan === RUN TestGetHwaDescription/vulkan-copy === RUN TestGetHwaDescription/d3d11va === RUN TestGetHwaDescription/d3d11va-copy === RUN TestGetHwaDescription/videotoolbox === RUN TestGetHwaDescription/videotoolbox-copy === RUN TestGetHwaDescription/drm === RUN TestGetHwaDescription/drm-copy === RUN TestGetHwaDescription/no === RUN TestGetHwaDescription/nvdec,auto === RUN TestGetHwaDescription/vaapi,auto === RUN TestGetHwaDescription/NVDEC === RUN TestGetHwaDescription/NVDEC,AUTO === RUN TestGetHwaDescription/future-api --- PASS: TestGetHwaDescription (0.00s) --- PASS: TestGetHwaDescription/auto (0.00s) --- PASS: TestGetHwaDescription/auto-safe (0.00s) --- PASS: TestGetHwaDescription/nvdec (0.00s) --- PASS: TestGetHwaDescription/nvdec-copy (0.00s) --- PASS: TestGetHwaDescription/vaapi (0.00s) --- PASS: TestGetHwaDescription/vaapi-copy (0.00s) --- PASS: TestGetHwaDescription/vulkan (0.00s) --- PASS: TestGetHwaDescription/vulkan-copy (0.00s) --- PASS: TestGetHwaDescription/d3d11va (0.00s) --- PASS: TestGetHwaDescription/d3d11va-copy (0.00s) --- PASS: TestGetHwaDescription/videotoolbox (0.00s) --- PASS: TestGetHwaDescription/videotoolbox-copy (0.00s) --- PASS: TestGetHwaDescription/drm (0.00s) --- PASS: TestGetHwaDescription/drm-copy (0.00s) --- PASS: TestGetHwaDescription/no (0.00s) --- PASS: TestGetHwaDescription/nvdec,auto (0.00s) --- PASS: TestGetHwaDescription/vaapi,auto (0.00s) --- PASS: TestGetHwaDescription/NVDEC (0.00s) --- PASS: TestGetHwaDescription/NVDEC,AUTO (0.00s) --- PASS: TestGetHwaDescription/future-api (0.00s) === RUN TestParseVainfo === RUN TestParseVainfo/VLD_entrypoints_map_to_codecs === RUN TestParseVainfo/non-VLD_entrypoints_are_ignored === RUN TestParseVainfo/duplicate_profiles_collapse_to_one_codec === RUN TestParseVainfo/empty_output --- PASS: TestParseVainfo (0.00s) --- PASS: TestParseVainfo/VLD_entrypoints_map_to_codecs (0.00s) --- PASS: TestParseVainfo/non-VLD_entrypoints_are_ignored (0.00s) --- PASS: TestParseVainfo/duplicate_profiles_collapse_to_one_codec (0.00s) --- PASS: TestParseVainfo/empty_output (0.00s) === RUN TestParseVDPAUInfo === RUN TestParseVDPAUInfo/decoder_capabilities_map_to_codecs === RUN TestParseVDPAUInfo/no_decoder_lines_is_an_error --- PASS: TestParseVDPAUInfo (0.00s) --- PASS: TestParseVDPAUInfo/decoder_capabilities_map_to_codecs (0.00s) --- PASS: TestParseVDPAUInfo/no_decoder_lines_is_an_error (0.00s) === RUN TestFileExists --- PASS: TestFileExists (0.00s) === RUN TestGetGPUModelFromPCIID --- PASS: TestGetGPUModelFromPCIID (0.00s) === RUN TestParsePCIIDsModel --- PASS: TestParsePCIIDsModel (0.00s) === RUN TestDRMCardAndPCIIDParsing --- PASS: TestDRMCardAndPCIIDParsing (0.00s) === RUN TestLookupGPUCodecsNvidiaTitan === RUN TestLookupGPUCodecsNvidiaTitan/Pascal_TITAN_X_parenthetical === RUN TestLookupGPUCodecsNvidiaTitan/Pascal_TITAN_X === RUN TestLookupGPUCodecsNvidiaTitan/Pascal_TITAN_Xp === RUN TestLookupGPUCodecsNvidiaTitan/Volta_TITAN_V === RUN TestLookupGPUCodecsNvidiaTitan/Turing_TITAN_RTX === RUN TestLookupGPUCodecsNvidiaTitan/Kepler_GTX_TITAN === RUN TestLookupGPUCodecsNvidiaTitan/Kepler_GTX_TITAN_Black === RUN TestLookupGPUCodecsNvidiaTitan/Kepler_GTX_TITAN_Z === RUN TestLookupGPUCodecsNvidiaTitan/Maxwell_GTX_TITAN_X --- PASS: TestLookupGPUCodecsNvidiaTitan (0.00s) --- PASS: TestLookupGPUCodecsNvidiaTitan/Pascal_TITAN_X_parenthetical (0.00s) --- PASS: TestLookupGPUCodecsNvidiaTitan/Pascal_TITAN_X (0.00s) --- PASS: TestLookupGPUCodecsNvidiaTitan/Pascal_TITAN_Xp (0.00s) --- PASS: TestLookupGPUCodecsNvidiaTitan/Volta_TITAN_V (0.00s) --- PASS: TestLookupGPUCodecsNvidiaTitan/Turing_TITAN_RTX (0.00s) --- PASS: TestLookupGPUCodecsNvidiaTitan/Kepler_GTX_TITAN (0.00s) --- PASS: TestLookupGPUCodecsNvidiaTitan/Kepler_GTX_TITAN_Black (0.00s) --- PASS: TestLookupGPUCodecsNvidiaTitan/Kepler_GTX_TITAN_Z (0.00s) --- PASS: TestLookupGPUCodecsNvidiaTitan/Maxwell_GTX_TITAN_X (0.00s) === RUN TestLookupGPUCodecsNvidiaKepler === RUN TestLookupGPUCodecsNvidiaKepler/GTX_680 === RUN TestLookupGPUCodecsNvidiaKepler/GTX_670 === RUN TestLookupGPUCodecsNvidiaKepler/GTX_690 === RUN TestLookupGPUCodecsNvidiaKepler/GTX_760 === RUN TestLookupGPUCodecsNvidiaKepler/GTX_770 === RUN TestLookupGPUCodecsNvidiaKepler/GTX_780_Ti === RUN TestLookupGPUCodecsNvidiaKepler/GTX_750_Ti_is_Maxwell === RUN TestLookupGPUCodecsNvidiaKepler/GTX_1080_Ti_is_Pascal --- PASS: TestLookupGPUCodecsNvidiaKepler (0.00s) --- PASS: TestLookupGPUCodecsNvidiaKepler/GTX_680 (0.00s) --- PASS: TestLookupGPUCodecsNvidiaKepler/GTX_670 (0.00s) --- PASS: TestLookupGPUCodecsNvidiaKepler/GTX_690 (0.00s) --- PASS: TestLookupGPUCodecsNvidiaKepler/GTX_760 (0.00s) --- PASS: TestLookupGPUCodecsNvidiaKepler/GTX_770 (0.00s) --- PASS: TestLookupGPUCodecsNvidiaKepler/GTX_780_Ti (0.00s) --- PASS: TestLookupGPUCodecsNvidiaKepler/GTX_750_Ti_is_Maxwell (0.00s) --- PASS: TestLookupGPUCodecsNvidiaKepler/GTX_1080_Ti_is_Pascal (0.00s) === RUN TestLookupGPUCodecsAMDAPU === RUN TestLookupGPUCodecsAMDAPU/680M_plain === RUN TestLookupGPUCodecsAMDAPU/680M_trademark_form === RUN TestLookupGPUCodecsAMDAPU/780M === RUN TestLookupGPUCodecsAMDAPU/780M_plain === RUN TestLookupGPUCodecsAMDAPU/890M === RUN TestLookupGPUCodecsAMDAPU/Vega_8_full_string === RUN TestLookupGPUCodecsAMDAPU/Vega_8_bare === RUN TestLookupGPUCodecsAMDAPU/Vega_6 === RUN TestLookupGPUCodecsAMDAPU/Vega_11 === RUN TestLookupGPUCodecsAMDAPU/RX_Vega_64_stays_discrete === RUN TestLookupGPUCodecsAMDAPU/RX_6800_XT_stays_Navi_21 --- PASS: TestLookupGPUCodecsAMDAPU (0.00s) --- PASS: TestLookupGPUCodecsAMDAPU/680M_plain (0.00s) --- PASS: TestLookupGPUCodecsAMDAPU/680M_trademark_form (0.00s) --- PASS: TestLookupGPUCodecsAMDAPU/780M (0.00s) --- PASS: TestLookupGPUCodecsAMDAPU/780M_plain (0.00s) --- PASS: TestLookupGPUCodecsAMDAPU/890M (0.00s) --- PASS: TestLookupGPUCodecsAMDAPU/Vega_8_full_string (0.00s) --- PASS: TestLookupGPUCodecsAMDAPU/Vega_8_bare (0.00s) --- PASS: TestLookupGPUCodecsAMDAPU/Vega_6 (0.00s) --- PASS: TestLookupGPUCodecsAMDAPU/Vega_11 (0.00s) --- PASS: TestLookupGPUCodecsAMDAPU/RX_Vega_64_stays_discrete (0.00s) --- PASS: TestLookupGPUCodecsAMDAPU/RX_6800_XT_stays_Navi_21 (0.00s) === RUN TestLookupGPUCodecsIntelCoreUltra === RUN TestLookupGPUCodecsIntelCoreUltra/Meteor_Lake_Core_Ultra_7_155H === RUN TestLookupGPUCodecsIntelCoreUltra/Meteor_Lake_Core_Ultra_9_185H === RUN TestLookupGPUCodecsIntelCoreUltra/Meteor_Lake_Core_Ultra_5_125H === RUN TestLookupGPUCodecsIntelCoreUltra/Lunar_Lake_Core_Ultra_7_258V === RUN TestLookupGPUCodecsIntelCoreUltra/Lunar_Lake_by_name === RUN TestLookupGPUCodecsIntelCoreUltra/Arc_A770 --- PASS: TestLookupGPUCodecsIntelCoreUltra (0.00s) --- PASS: TestLookupGPUCodecsIntelCoreUltra/Meteor_Lake_Core_Ultra_7_155H (0.00s) --- PASS: TestLookupGPUCodecsIntelCoreUltra/Meteor_Lake_Core_Ultra_9_185H (0.00s) --- PASS: TestLookupGPUCodecsIntelCoreUltra/Meteor_Lake_Core_Ultra_5_125H (0.00s) --- PASS: TestLookupGPUCodecsIntelCoreUltra/Lunar_Lake_Core_Ultra_7_258V (0.00s) --- PASS: TestLookupGPUCodecsIntelCoreUltra/Lunar_Lake_by_name (0.00s) --- PASS: TestLookupGPUCodecsIntelCoreUltra/Arc_A770 (0.00s) === RUN TestDetermineModelBrand === RUN TestDetermineModelBrand/NVIDIA_GeForce_RTX_3080 === RUN TestDetermineModelBrand/GeForce_GTX_1080 === RUN TestDetermineModelBrand/AMD_Radeon(TM)_780M === RUN TestDetermineModelBrand/Radeon_RX_6800_XT === RUN TestDetermineModelBrand/Intel_UHD_Graphics_770 === RUN TestDetermineModelBrand/Intel_Arc_A380 === RUN TestDetermineModelBrand/Apple_M4 === RUN TestDetermineModelBrand/Microsoft_Basic_Render_Driver --- PASS: TestDetermineModelBrand (0.00s) --- PASS: TestDetermineModelBrand/NVIDIA_GeForce_RTX_3080 (0.00s) --- PASS: TestDetermineModelBrand/GeForce_GTX_1080 (0.00s) --- PASS: TestDetermineModelBrand/AMD_Radeon(TM)_780M (0.00s) --- PASS: TestDetermineModelBrand/Radeon_RX_6800_XT (0.00s) --- PASS: TestDetermineModelBrand/Intel_UHD_Graphics_770 (0.00s) --- PASS: TestDetermineModelBrand/Intel_Arc_A380 (0.00s) --- PASS: TestDetermineModelBrand/Apple_M4 (0.00s) --- PASS: TestDetermineModelBrand/Microsoft_Basic_Render_Driver (0.00s) === RUN TestGetGPUBrands === RUN TestGetGPUBrands/nil_info === RUN TestGetGPUBrands/from_Brands === RUN TestGetGPUBrands/derived_from_Models === RUN TestGetGPUBrands/single_apple === RUN TestGetGPUBrands/fallback_to_Brand === RUN TestGetGPUBrands/empty_brand_entries_dropped === RUN TestGetGPUBrands/duplicates_removed --- PASS: TestGetGPUBrands (0.00s) --- PASS: TestGetGPUBrands/nil_info (0.00s) --- PASS: TestGetGPUBrands/from_Brands (0.00s) --- PASS: TestGetGPUBrands/derived_from_Models (0.00s) --- PASS: TestGetGPUBrands/single_apple (0.00s) --- PASS: TestGetGPUBrands/fallback_to_Brand (0.00s) --- PASS: TestGetGPUBrands/empty_brand_entries_dropped (0.00s) --- PASS: TestGetGPUBrands/duplicates_removed (0.00s) === RUN TestGetRecommendedHWADecoderMultiBrand === RUN TestGetRecommendedHWADecoderMultiBrand/Windows_intel+nvidia === RUN TestGetRecommendedHWADecoderMultiBrand/Windows_nvidia+intel_order-independent === RUN TestGetRecommendedHWADecoderMultiBrand/Linux_intel+nvidia === RUN TestGetRecommendedHWADecoderMultiBrand/Windows_amd+intel === RUN TestGetRecommendedHWADecoderMultiBrand/Linux_amd+intel === RUN TestGetRecommendedHWADecoderMultiBrand/Darwin_multi_stays_auto === RUN TestGetRecommendedHWADecoderMultiBrand/Windows_nvidia === RUN TestGetRecommendedHWADecoderMultiBrand/Windows_amd === RUN TestGetRecommendedHWADecoderMultiBrand/Windows_intel === RUN TestGetRecommendedHWADecoderMultiBrand/Windows_unknown === RUN TestGetRecommendedHWADecoderMultiBrand/Linux_nvidia === RUN TestGetRecommendedHWADecoderMultiBrand/Linux_amd === RUN TestGetRecommendedHWADecoderMultiBrand/Linux_intel === RUN TestGetRecommendedHWADecoderMultiBrand/Darwin_apple === RUN TestGetRecommendedHWADecoderMultiBrand/Darwin_intel === RUN TestGetRecommendedHWADecoderMultiBrand/duplicate_nvidia --- PASS: TestGetRecommendedHWADecoderMultiBrand (0.00s) --- PASS: TestGetRecommendedHWADecoderMultiBrand/Windows_intel+nvidia (0.00s) --- PASS: TestGetRecommendedHWADecoderMultiBrand/Windows_nvidia+intel_order-independent (0.00s) --- PASS: TestGetRecommendedHWADecoderMultiBrand/Linux_intel+nvidia (0.00s) --- PASS: TestGetRecommendedHWADecoderMultiBrand/Windows_amd+intel (0.00s) --- PASS: TestGetRecommendedHWADecoderMultiBrand/Linux_amd+intel (0.00s) --- PASS: TestGetRecommendedHWADecoderMultiBrand/Darwin_multi_stays_auto (0.00s) --- PASS: TestGetRecommendedHWADecoderMultiBrand/Windows_nvidia (0.00s) --- PASS: TestGetRecommendedHWADecoderMultiBrand/Windows_amd (0.00s) --- PASS: TestGetRecommendedHWADecoderMultiBrand/Windows_intel (0.00s) --- PASS: TestGetRecommendedHWADecoderMultiBrand/Windows_unknown (0.00s) --- PASS: TestGetRecommendedHWADecoderMultiBrand/Linux_nvidia (0.00s) --- PASS: TestGetRecommendedHWADecoderMultiBrand/Linux_amd (0.00s) --- PASS: TestGetRecommendedHWADecoderMultiBrand/Linux_intel (0.00s) --- PASS: TestGetRecommendedHWADecoderMultiBrand/Darwin_apple (0.00s) --- PASS: TestGetRecommendedHWADecoderMultiBrand/Darwin_intel (0.00s) --- PASS: TestGetRecommendedHWADecoderMultiBrand/duplicate_nvidia (0.00s) === RUN TestGetHWAOptionsMultiBrand === RUN TestGetHWAOptionsMultiBrand/Windows_intel+nvidia_chain_first === RUN TestGetHWAOptionsMultiBrand/Windows_nvidia+intel_keeps_nvdec === RUN TestGetHWAOptionsMultiBrand/Linux_intel+nvidia_chain_first === RUN TestGetHWAOptionsMultiBrand/Linux_amd+intel_chain_first === RUN TestGetHWAOptionsMultiBrand/single_brand_gets_no_chain === RUN TestGetHWAOptionsMultiBrand/Darwin_multi_gets_no_chain --- PASS: TestGetHWAOptionsMultiBrand (0.00s) --- PASS: TestGetHWAOptionsMultiBrand/Windows_intel+nvidia_chain_first (0.00s) --- PASS: TestGetHWAOptionsMultiBrand/Windows_nvidia+intel_keeps_nvdec (0.00s) --- PASS: TestGetHWAOptionsMultiBrand/Linux_intel+nvidia_chain_first (0.00s) --- PASS: TestGetHWAOptionsMultiBrand/Linux_amd+intel_chain_first (0.00s) --- PASS: TestGetHWAOptionsMultiBrand/single_brand_gets_no_chain (0.00s) --- PASS: TestGetHWAOptionsMultiBrand/Darwin_multi_gets_no_chain (0.00s) === RUN TestDetermineGPUBrandArcOnly === RUN TestDetermineGPUBrandArcOnly/arc_only_(reported_bug) === RUN TestDetermineGPUBrandArcOnly/arc_only,_bare_name === RUN TestDetermineGPUBrandArcOnly/arc_only,_no_decoration === RUN TestDetermineGPUBrandArcOnly/intel_iGPU_only === RUN TestDetermineGPUBrandArcOnly/amd_iGPU_+_arc_dGPU_prefers_arc === RUN TestDetermineGPUBrandArcOnly/amd_iGPU_+_intel_iGPU_prefers_amd === RUN TestDetermineGPUBrandArcOnly/intel_iGPU_+_nvidia_dGPU_prefers_nvidia === RUN TestDetermineGPUBrandArcOnly/amd_+_nvidia_prefers_nvidia === RUN TestDetermineGPUBrandArcOnly/empty === RUN TestDetermineGPUBrandArcOnly/unrecognized_only --- PASS: TestDetermineGPUBrandArcOnly (0.00s) --- PASS: TestDetermineGPUBrandArcOnly/arc_only_(reported_bug) (0.00s) --- PASS: TestDetermineGPUBrandArcOnly/arc_only,_bare_name (0.00s) --- PASS: TestDetermineGPUBrandArcOnly/arc_only,_no_decoration (0.00s) --- PASS: TestDetermineGPUBrandArcOnly/intel_iGPU_only (0.00s) --- PASS: TestDetermineGPUBrandArcOnly/amd_iGPU_+_arc_dGPU_prefers_arc (0.00s) --- PASS: TestDetermineGPUBrandArcOnly/amd_iGPU_+_intel_iGPU_prefers_amd (0.00s) --- PASS: TestDetermineGPUBrandArcOnly/intel_iGPU_+_nvidia_dGPU_prefers_nvidia (0.00s) --- PASS: TestDetermineGPUBrandArcOnly/amd_+_nvidia_prefers_nvidia (0.00s) --- PASS: TestDetermineGPUBrandArcOnly/empty (0.00s) --- PASS: TestDetermineGPUBrandArcOnly/unrecognized_only (0.00s) === RUN TestDetermineModelBrandFallbacks === RUN TestDetermineModelBrandFallbacks/Arc_B580 === RUN TestDetermineModelBrandFallbacks/Arc_A750_Limited_Edition === RUN TestDetermineModelBrandFallbacks/Arc_Pro_B60 === RUN TestDetermineModelBrandFallbacks/Battlemage_G21 === RUN TestDetermineModelBrandFallbacks/Alchemist_DG2 === RUN TestDetermineModelBrandFallbacks/Iris_Xe_Graphics === RUN TestDetermineModelBrandFallbacks/GTX_1080_Ti === RUN TestDetermineModelBrandFallbacks/RTX_5090 === RUN TestDetermineModelBrandFallbacks/Vega_8 === RUN TestDetermineModelBrandFallbacks/Microsoft_Basic_Render_Driver === RUN TestDetermineModelBrandFallbacks/llvmpipe_(LLVM_15.0,_256_bits) === RUN TestDetermineModelBrandFallbacks/virtio-gpu --- PASS: TestDetermineModelBrandFallbacks (0.00s) --- PASS: TestDetermineModelBrandFallbacks/Arc_B580 (0.00s) --- PASS: TestDetermineModelBrandFallbacks/Arc_A750_Limited_Edition (0.00s) --- PASS: TestDetermineModelBrandFallbacks/Arc_Pro_B60 (0.00s) --- PASS: TestDetermineModelBrandFallbacks/Battlemage_G21 (0.00s) --- PASS: TestDetermineModelBrandFallbacks/Alchemist_DG2 (0.00s) --- PASS: TestDetermineModelBrandFallbacks/Iris_Xe_Graphics (0.00s) --- PASS: TestDetermineModelBrandFallbacks/GTX_1080_Ti (0.00s) --- PASS: TestDetermineModelBrandFallbacks/RTX_5090 (0.00s) --- PASS: TestDetermineModelBrandFallbacks/Vega_8 (0.00s) --- PASS: TestDetermineModelBrandFallbacks/Microsoft_Basic_Render_Driver (0.00s) --- PASS: TestDetermineModelBrandFallbacks/llvmpipe_(LLVM_15.0,_256_bits) (0.00s) --- PASS: TestDetermineModelBrandFallbacks/virtio-gpu (0.00s) === RUN TestLookupGPUCodecsBattlemage === RUN TestLookupGPUCodecsBattlemage/Intel(R)_Arc(TM)_B580_Graphics === RUN TestLookupGPUCodecsBattlemage/Arc_B570 --- PASS: TestLookupGPUCodecsBattlemage (0.00s) --- PASS: TestLookupGPUCodecsBattlemage/Intel(R)_Arc(TM)_B580_Graphics (0.00s) --- PASS: TestLookupGPUCodecsBattlemage/Arc_B570 (0.00s) === RUN TestDetectLinuxDistro linux_detect_test.go:10: Linux-only path --- SKIP: TestDetectLinuxDistro (0.00s) === RUN TestGetLinuxDistroFamily linux_detect_test.go:55: Linux-only path --- SKIP: TestGetLinuxDistroFamily (0.00s) === RUN TestGetDistroFamily === RUN TestGetDistroFamily/fedora === RUN TestGetDistroFamily/rocky_via_ID_LIKE === RUN TestGetDistroFamily/arch === RUN TestGetDistroFamily/manjaro_via_ID_LIKE === RUN TestGetDistroFamily/unknown_derivative_via_ID_LIKE_arch === RUN TestGetDistroFamily/elementary === RUN TestGetDistroFamily/opensuse_tumbleweed === RUN TestGetDistroFamily/opensuse_leap === RUN TestGetDistroFamily/debian === RUN TestGetDistroFamily/ubuntu === RUN TestGetDistroFamily/unknown_id_returned_unchanged === RUN TestGetDistroFamily/empty_input --- PASS: TestGetDistroFamily (0.00s) --- PASS: TestGetDistroFamily/fedora (0.00s) --- PASS: TestGetDistroFamily/rocky_via_ID_LIKE (0.00s) --- PASS: TestGetDistroFamily/arch (0.00s) --- PASS: TestGetDistroFamily/manjaro_via_ID_LIKE (0.00s) --- PASS: TestGetDistroFamily/unknown_derivative_via_ID_LIKE_arch (0.00s) --- PASS: TestGetDistroFamily/elementary (0.00s) --- PASS: TestGetDistroFamily/opensuse_tumbleweed (0.00s) --- PASS: TestGetDistroFamily/opensuse_leap (0.00s) --- PASS: TestGetDistroFamily/debian (0.00s) --- PASS: TestGetDistroFamily/ubuntu (0.00s) --- PASS: TestGetDistroFamily/unknown_id_returned_unchanged (0.00s) --- PASS: TestGetDistroFamily/empty_input (0.00s) === RUN TestIsImmutableDistro === RUN TestIsImmutableDistro/fedora_silverblue_via_VARIANT_ID === RUN TestIsImmutableDistro/fedora_kinoite_via_VARIANT_ID === RUN TestIsImmutableDistro/plain_fedora_workstation === RUN TestIsImmutableDistro/bluefin_via_distro_name === RUN TestIsImmutableDistro/plain_arch === RUN TestIsImmutableDistro/non-linux_is_never_immutable --- PASS: TestIsImmutableDistro (0.00s) --- PASS: TestIsImmutableDistro/fedora_silverblue_via_VARIANT_ID (0.00s) --- PASS: TestIsImmutableDistro/fedora_kinoite_via_VARIANT_ID (0.00s) --- PASS: TestIsImmutableDistro/plain_fedora_workstation (0.00s) --- PASS: TestIsImmutableDistro/bluefin_via_distro_name (0.00s) --- PASS: TestIsImmutableDistro/plain_arch (0.00s) --- PASS: TestIsImmutableDistro/non-linux_is_never_immutable (0.00s) === RUN TestReadOSReleaseFallback --- PASS: TestReadOSReleaseFallback (0.00s) === RUN TestReadOSReleaseMissing --- PASS: TestReadOSReleaseMissing (0.00s) === RUN TestGetOSType --- PASS: TestGetOSType (0.00s) === RUN TestGetOSTypeDisplay --- PASS: TestGetOSTypeDisplay (0.00s) === RUN TestPlatformGetCPULevelMethod --- PASS: TestPlatformGetCPULevelMethod (0.00s) === RUN TestGetMacOSVersionName === RUN TestGetMacOSVersionName/10.15 === RUN TestGetMacOSVersionName/11 === RUN TestGetMacOSVersionName/14 === RUN TestGetMacOSVersionName/15 === RUN TestGetMacOSVersionName/26 === RUN TestGetMacOSVersionName/99 === RUN TestGetMacOSVersionName/#00 --- PASS: TestGetMacOSVersionName (0.00s) --- PASS: TestGetMacOSVersionName/10.15 (0.00s) --- PASS: TestGetMacOSVersionName/11 (0.00s) --- PASS: TestGetMacOSVersionName/14 (0.00s) --- PASS: TestGetMacOSVersionName/15 (0.00s) --- PASS: TestGetMacOSVersionName/26 (0.00s) --- PASS: TestGetMacOSVersionName/99 (0.00s) --- PASS: TestGetMacOSVersionName/#00 (0.00s) === RUN TestDetectMacOSVersionNonDarwin platform_detect_test.go:71: covered natively on darwin --- SKIP: TestDetectMacOSVersionNonDarwin (0.00s) === RUN TestPlatformString === RUN TestPlatformString/linux_with_distro === RUN TestPlatformString/linux_without_distro === RUN TestPlatformString/windows === RUN TestPlatformString/macOS_with_codename_and_cpu_model === RUN TestPlatformString/macOS_unknown_version_passes_through === RUN TestPlatformString/macOS_without_cpu_model --- PASS: TestPlatformString (0.00s) --- PASS: TestPlatformString/linux_with_distro (0.00s) --- PASS: TestPlatformString/linux_without_distro (0.00s) --- PASS: TestPlatformString/windows (0.00s) --- PASS: TestPlatformString/macOS_with_codename_and_cpu_model (0.00s) --- PASS: TestPlatformString/macOS_unknown_version_passes_through (0.00s) --- PASS: TestPlatformString/macOS_without_cpu_model (0.00s) === RUN TestDetect --- PASS: TestDetect (0.02s) === RUN TestGetCPULevelPackageFunc --- PASS: TestGetCPULevelPackageFunc (0.00s) === RUN TestDetectCodecSupportDarwinStub platform_detect_test.go:182: real implementation on darwin --- SKIP: TestDetectCodecSupportDarwinStub (0.00s) === RUN TestDetectCodecSupportLinuxHost platform_detect_test.go:194: Linux-only path --- SKIP: TestDetectCodecSupportLinuxHost (0.00s) === RUN TestIsWindows === RUN TestIsWindows/Windows_platform === RUN TestIsWindows/Darwin_platform === RUN TestIsWindows/Linux_platform --- PASS: TestIsWindows (0.00s) --- PASS: TestIsWindows/Windows_platform (0.00s) --- PASS: TestIsWindows/Darwin_platform (0.00s) --- PASS: TestIsWindows/Linux_platform (0.00s) === RUN TestIsDarwin === RUN TestIsDarwin/Darwin_platform === RUN TestIsDarwin/Windows_platform === RUN TestIsDarwin/Linux_platform --- PASS: TestIsDarwin (0.00s) --- PASS: TestIsDarwin/Darwin_platform (0.00s) --- PASS: TestIsDarwin/Windows_platform (0.00s) --- PASS: TestIsDarwin/Linux_platform (0.00s) === RUN TestIsLinux === RUN TestIsLinux/Linux_platform === RUN TestIsLinux/Darwin_platform === RUN TestIsLinux/Windows_platform --- PASS: TestIsLinux (0.00s) --- PASS: TestIsLinux/Linux_platform (0.00s) --- PASS: TestIsLinux/Darwin_platform (0.00s) --- PASS: TestIsLinux/Windows_platform (0.00s) === RUN TestProbeCommandHelperProcess --- PASS: TestProbeCommandHelperProcess (0.00s) === RUN TestRunProbeCommandTimesOut --- PASS: TestRunProbeCommandTimesOut (0.05s) === RUN TestRunProbeCommandCapsCombinedOutput --- PASS: TestRunProbeCommandCapsCombinedOutput (0.01s) === RUN TestRunProbeCommandHonorsParentCancellation --- PASS: TestRunProbeCommandHonorsParentCancellation (0.00s) === RUN TestLinuxGPUFallbackGetsIndependentProbeBudget --- PASS: TestLinuxGPUFallbackGetsIndependentProbeBudget (0.00s) === RUN TestLinuxCodecFallbackGetsIndependentProbeBudget --- PASS: TestLinuxCodecFallbackGetsIndependentProbeBudget (0.00s) === RUN TestWindowsGPUFallbackUsesBoundedPowerShell --- PASS: TestWindowsGPUFallbackUsesBoundedPowerShell (0.00s) === RUN TestRunProbeCommandValidation === RUN TestRunProbeCommandValidation/empty_command === RUN TestRunProbeCommandValidation/zero_timeout === RUN TestRunProbeCommandValidation/negative_timeout === RUN TestRunProbeCommandValidation/zero_output_limit --- PASS: TestRunProbeCommandValidation (0.00s) --- PASS: TestRunProbeCommandValidation/empty_command (0.00s) --- PASS: TestRunProbeCommandValidation/zero_timeout (0.00s) --- PASS: TestRunProbeCommandValidation/negative_timeout (0.00s) --- PASS: TestRunProbeCommandValidation/zero_output_limit (0.00s) === RUN TestSystemProbeRunner === RUN TestSystemProbeRunner/successful_probe_returns_stdout === RUN TestSystemProbeRunner/missing_binary_fails_fast --- PASS: TestSystemProbeRunner (0.01s) --- PASS: TestSystemProbeRunner/successful_probe_returns_stdout (0.01s) --- PASS: TestSystemProbeRunner/missing_binary_fails_fast (0.00s) === RUN TestRunProbeCommandIncludesStderr --- PASS: TestRunProbeCommandIncludesStderr (0.01s) === RUN TestRunProbeCommandNilParentContext --- PASS: TestRunProbeCommandNilParentContext (0.00s) PASS === RUN TestPrintVersionJSON --- PASS: TestPrintVersionJSON (0.00s) === RUN TestCLIMethodAvailability --- PASS: TestCLIMethodAvailability (0.00s) === RUN TestExecuteCLIInstallRejectsUnavailableMethod --- PASS: TestExecuteCLIInstallRejectsUnavailableMethod (0.00s) === RUN TestExecuteCLIInstallRejectsIgnoredCustomDestination --- PASS: TestExecuteCLIInstallRejectsIgnoredCustomDestination (0.00s) === RUN TestCLIMethodSupportsCustomPath --- PASS: TestCLIMethodSupportsCustomPath (0.00s) === RUN TestCLIInstallMetadata --- PASS: TestCLIInstallMetadata (0.00s) === RUN TestValidateCommandLineContract --- PASS: TestValidateCommandLineContract (0.00s) === RUN TestCancellationUsesShellConventionalExitCode --- PASS: TestCancellationUsesShellConventionalExitCode (0.00s) === RUN TestStartAndReapWaitsForBrowserHelper --- PASS: TestStartAndReapWaitsForBrowserHelper (0.01s) === RUN TestBrowserHelperExit --- PASS: TestBrowserHelperExit (0.00s) === RUN TestUpdateCheckCancellation Checking for updates... --- PASS: TestUpdateCheckCancellation (0.00s) PASS Error checking for updates: failed to check for updates: Get "https://mpv.rocks/api/releases/stable.json": context canceled === RUN TestCheckForUpdateFrom === RUN TestCheckForUpdateFrom/newer_version_with_platform_asset_offers_update === RUN TestCheckForUpdateFrom/same_version_does_not_offer_update === RUN TestCheckForUpdateFrom/unsigned_manifest_is_rejected === RUN TestCheckForUpdateFrom/self-update_disabled_hides_update_but_keeps_latest_version === RUN TestCheckForUpdateFrom/non-200_status_surfaces_an_error === RUN TestCheckForUpdateFrom/malformed_JSON_surfaces_a_parse_error === RUN TestCheckForUpdateFrom/unreachable_server_surfaces_a_network_error --- PASS: TestCheckForUpdateFrom (0.03s) --- PASS: TestCheckForUpdateFrom/newer_version_with_platform_asset_offers_update (0.01s) --- PASS: TestCheckForUpdateFrom/same_version_does_not_offer_update (0.01s) --- PASS: TestCheckForUpdateFrom/unsigned_manifest_is_rejected (0.00s) --- PASS: TestCheckForUpdateFrom/self-update_disabled_hides_update_but_keeps_latest_version (0.01s) --- PASS: TestCheckForUpdateFrom/non-200_status_surfaces_an_error (0.00s) --- PASS: TestCheckForUpdateFrom/malformed_JSON_surfaces_a_parse_error (0.00s) --- PASS: TestCheckForUpdateFrom/unreachable_server_surfaces_a_network_error (0.00s) === RUN TestUpdateJournalRejectsTamperingBeforeRecovery --- PASS: TestUpdateJournalRejectsTamperingBeforeRecovery (0.01s) === RUN TestUpdateJournalVerificationDoesNotCreateMissingKey --- PASS: TestUpdateJournalVerificationDoesNotCreateMissingKey (0.01s) === RUN TestJournalAuthenticationKeyIsPrivateAndStable --- PASS: TestJournalAuthenticationKeyIsPrivateAndStable (0.01s) === RUN TestLegacyJournalIsPreservedWithoutExecution --- PASS: TestLegacyJournalIsPreservedWithoutExecution (0.01s) === RUN TestRollbackDoesNotExecuteBackupWithoutOriginalEvidence --- PASS: TestRollbackDoesNotExecuteBackupWithoutOriginalEvidence (0.01s) === RUN TestUpdateJournalReaderAllowsAtomicPublication --- PASS: TestUpdateJournalReaderAllowsAtomicPublication (0.10s) === RUN TestJournalKeyRejectsReadAccessByOtherUsers --- PASS: TestJournalKeyRejectsReadAccessByOtherUsers (0.01s) === RUN TestRecoveryRejectsSharedSiblingDirectoryBeforeBackupExecution --- PASS: TestRecoveryRejectsSharedSiblingDirectoryBeforeBackupExecution (0.35s) === RUN TestRecoveryRejectsWritableAndLinkedJournal --- PASS: TestRecoveryRejectsWritableAndLinkedJournal (0.25s) === RUN TestRecoveryRejectsForeignOwnedJournal recovery_trust_unix_test.go:64: ownership fixture requires chown capability --- SKIP: TestRecoveryRejectsForeignOwnedJournal (0.00s) === RUN TestReleaseChannelsRejectCrossFeedAndKeepSeparateTrust --- PASS: TestReleaseChannelsRejectCrossFeedAndKeepSeparateTrust (0.04s) === RUN TestPublicUpdateSelectionVerifiesCallerSuppliedManifest --- PASS: TestPublicUpdateSelectionVerifiesCallerSuppliedManifest (0.01s) === RUN TestReleaseRetryCancellationInterruptsBackoff --- PASS: TestReleaseRetryCancellationInterruptsBackoff (0.00s) === RUN TestFetchReleaseInfoFrom === RUN TestFetchReleaseInfoFrom/success === RUN TestFetchReleaseInfoFrom/non-200_status === RUN TestFetchReleaseInfoFrom/empty_manifest_object_is_an_error === RUN TestFetchReleaseInfoFrom/malformed_JSON --- PASS: TestFetchReleaseInfoFrom (0.02s) --- PASS: TestFetchReleaseInfoFrom/success (0.01s) --- PASS: TestFetchReleaseInfoFrom/non-200_status (0.00s) --- PASS: TestFetchReleaseInfoFrom/empty_manifest_object_is_an_error (0.00s) --- PASS: TestFetchReleaseInfoFrom/malformed_JSON (0.00s) === RUN TestFetchReleaseInfoWithRetryFrom === RUN TestFetchReleaseInfoWithRetryFrom/succeeds_on_second_attempt_after_HTTP_500 === RUN TestFetchReleaseInfoWithRetryFrom/persistent_failure_returns_error_after_exactly_N_attempts === RUN TestFetchReleaseInfoWithRetryFrom/empty_manifest_object_is_retried,_never_a_success === RUN TestFetchReleaseInfoWithRetryFrom/network_error_is_retried --- PASS: TestFetchReleaseInfoWithRetryFrom (0.02s) --- PASS: TestFetchReleaseInfoWithRetryFrom/succeeds_on_second_attempt_after_HTTP_500 (0.01s) --- PASS: TestFetchReleaseInfoWithRetryFrom/persistent_failure_returns_error_after_exactly_N_attempts (0.01s) --- PASS: TestFetchReleaseInfoWithRetryFrom/empty_manifest_object_is_retried,_never_a_success (0.00s) --- PASS: TestFetchReleaseInfoWithRetryFrom/network_error_is_retried (0.00s) === RUN TestReleaseTrustStateRejectsReplayRollbackAndEquivocation --- PASS: TestReleaseTrustStateRejectsReplayRollbackAndEquivocation (0.02s) === RUN TestReleaseTrustEnforcesBuildFloorKeyEpochAndRevocation --- PASS: TestReleaseTrustEnforcesBuildFloorKeyEpochAndRevocation (0.01s) === RUN TestSelectManagerAssetPlatforms === RUN TestSelectManagerAssetPlatforms/linux/amd64 === RUN TestSelectManagerAssetPlatforms/linux/arm64 === RUN TestSelectManagerAssetPlatforms/windows/amd64 === RUN TestSelectManagerAssetPlatforms/windows/arm64 === RUN TestSelectManagerAssetPlatforms/darwin/amd64 === RUN TestSelectManagerAssetPlatforms/darwin/arm64 === RUN TestSelectManagerAssetPlatforms/unsupported_combo --- PASS: TestSelectManagerAssetPlatforms (0.00s) --- PASS: TestSelectManagerAssetPlatforms/linux/amd64 (0.00s) --- PASS: TestSelectManagerAssetPlatforms/linux/arm64 (0.00s) --- PASS: TestSelectManagerAssetPlatforms/windows/amd64 (0.00s) --- PASS: TestSelectManagerAssetPlatforms/windows/arm64 (0.00s) --- PASS: TestSelectManagerAssetPlatforms/darwin/amd64 (0.00s) --- PASS: TestSelectManagerAssetPlatforms/darwin/arm64 (0.00s) --- PASS: TestSelectManagerAssetPlatforms/unsupported_combo (0.00s) === RUN TestVerifyBLAKE3OpenFailure --- PASS: TestVerifyBLAKE3OpenFailure (0.00s) === RUN TestDownloadFileWithProgressMidStreamError --- PASS: TestDownloadFileWithProgressMidStreamError (1.01s) === RUN TestDownloadFileWithProgressUnwritableDirectory --- PASS: TestDownloadFileWithProgressUnwritableDirectory (0.00s) === RUN TestCleanupStaleUpdateFiles === RUN TestCleanupStaleUpdateFiles/restores_missing_executable_from_backup === RUN TestCleanupStaleUpdateFiles/restores_backup_and_removes_orphaned_staged_download === RUN TestCleanupStaleUpdateFiles/removes_stale_backup_when_executable_exists === RUN TestCleanupStaleUpdateFiles/removes_orphaned_staged_download_when_executable_exists === RUN TestCleanupStaleUpdateFiles/leaves_a_clean_install_untouched === RUN TestCleanupStaleUpdateFiles/missing_executable_without_backup_is_a_no-op === RUN TestCleanupStaleUpdateFiles/empty_path_is_a_no-op --- PASS: TestCleanupStaleUpdateFiles (0.02s) --- PASS: TestCleanupStaleUpdateFiles/restores_missing_executable_from_backup (0.00s) --- PASS: TestCleanupStaleUpdateFiles/restores_backup_and_removes_orphaned_staged_download (0.00s) --- PASS: TestCleanupStaleUpdateFiles/removes_stale_backup_when_executable_exists (0.00s) --- PASS: TestCleanupStaleUpdateFiles/removes_orphaned_staged_download_when_executable_exists (0.00s) --- PASS: TestCleanupStaleUpdateFiles/leaves_a_clean_install_untouched (0.00s) --- PASS: TestCleanupStaleUpdateFiles/missing_executable_without_backup_is_a_no-op (0.00s) --- PASS: TestCleanupStaleUpdateFiles/empty_path_is_a_no-op (0.00s) === RUN TestSelectManagerAsset === RUN TestSelectManagerAsset/known_platform_with_newer_version_gets_update === RUN TestSelectManagerAsset/unrecognized_platform_gets_no_update_even_when_newer_version_exists === RUN TestSelectManagerAsset/known_platform_without_an_asset_URL_gets_no_update === RUN TestSelectManagerAsset/same_version_on_known_platform_is_not_an_update --- PASS: TestSelectManagerAsset (0.00s) --- PASS: TestSelectManagerAsset/known_platform_with_newer_version_gets_update (0.00s) --- PASS: TestSelectManagerAsset/unrecognized_platform_gets_no_update_even_when_newer_version_exists (0.00s) --- PASS: TestSelectManagerAsset/known_platform_without_an_asset_URL_gets_no_update (0.00s) --- PASS: TestSelectManagerAsset/same_version_on_known_platform_is_not_an_update (0.00s) === RUN TestVerifyUpdatedBinary === RUN TestVerifyUpdatedBinary/accepts_the_exact_selected_binary === RUN TestVerifyUpdatedBinary/rejects_a_binary_that_exits_non-zero === RUN TestVerifyUpdatedBinary/rejects_invalid_JSON === RUN TestVerifyUpdatedBinary/bounds_identity_stdout === RUN TestVerifyUpdatedBinary/bounded_writer_retains_only_its_configured_limit === RUN TestVerifyUpdatedBinary/wrong_product === RUN TestVerifyUpdatedBinary/wrong_component === RUN TestVerifyUpdatedBinary/wrong_version === RUN TestVerifyUpdatedBinary/wrong_OS === RUN TestVerifyUpdatedBinary/wrong_architecture === RUN TestVerifyUpdatedBinary/rejects_the_update_when_exec_itself_is_impossible --- PASS: TestVerifyUpdatedBinary (0.50s) --- PASS: TestVerifyUpdatedBinary/accepts_the_exact_selected_binary (0.05s) --- PASS: TestVerifyUpdatedBinary/rejects_a_binary_that_exits_non-zero (0.05s) --- PASS: TestVerifyUpdatedBinary/rejects_invalid_JSON (0.05s) --- PASS: TestVerifyUpdatedBinary/bounds_identity_stdout (0.07s) --- PASS: TestVerifyUpdatedBinary/bounded_writer_retains_only_its_configured_limit (0.00s) --- PASS: TestVerifyUpdatedBinary/wrong_product (0.06s) --- PASS: TestVerifyUpdatedBinary/wrong_component (0.05s) --- PASS: TestVerifyUpdatedBinary/wrong_version (0.06s) --- PASS: TestVerifyUpdatedBinary/wrong_OS (0.05s) --- PASS: TestVerifyUpdatedBinary/wrong_architecture (0.05s) --- PASS: TestVerifyUpdatedBinary/rejects_the_update_when_exec_itself_is_impossible (0.00s) === RUN TestUpdateLockRejectsConcurrentAttempt --- PASS: TestUpdateLockRejectsConcurrentAttempt (0.00s) === RUN TestUpdatePayloadUsesNativeExecutableName --- PASS: TestUpdatePayloadUsesNativeExecutableName (0.00s) === RUN TestPrepareSelfUpdateStagesWithoutReplacing --- PASS: TestPrepareSelfUpdateStagesWithoutReplacing (0.23s) === RUN TestPrepareSelfUpdateStagesPrimaryAndSecondaryFromOneDownload --- PASS: TestPrepareSelfUpdateStagesPrimaryAndSecondaryFromOneDownload (0.39s) === RUN TestPrepareWritesInitializingJournalBeforeDownload --- PASS: TestPrepareWritesInitializingJournalBeforeDownload (0.24s) === RUN TestRunUpdateHelperCommitsAllTargetsWithoutRelaunch --- PASS: TestRunUpdateHelperCommitsAllTargetsWithoutRelaunch (0.52s) === RUN TestRecoveryReplaysRollbackAfterBackupWasConsumed === RUN TestRecoveryReplaysRollbackAfterBackupWasConsumed/false === RUN TestRecoveryReplaysRollbackAfterBackupWasConsumed/true --- PASS: TestRecoveryReplaysRollbackAfterBackupWasConsumed (0.89s) --- PASS: TestRecoveryReplaysRollbackAfterBackupWasConsumed/false (0.35s) --- PASS: TestRecoveryReplaysRollbackAfterBackupWasConsumed/true (0.54s) === RUN TestRollbackMissingBackupRejectsUnauthenticatedLiveBytesWithoutExecution --- PASS: TestRollbackMissingBackupRejectsUnauthenticatedLiveBytesWithoutExecution (0.25s) === RUN TestFinalizedRecoveryRetiresObsoleteExecutableExpectations --- PASS: TestFinalizedRecoveryRetiresObsoleteExecutableExpectations (0.35s) === RUN TestCommittedOutcomeFailureRetainsRecoveryEvidence Could not persist self-update outcome: rename /var/folders/90/0zmhwl8j7_d5dcjfdphztbyw0000gn/T/TestCommittedOutcomeFailureRetainsRecoveryEvidence1074060607/001/.config/mpv/.journal-3601199490.tmp /var/folders/90/0zmhwl8j7_d5dcjfdphztbyw0000gn/T/TestCommittedOutcomeFailureRetainsRecoveryEvidence1074060607/001/.config/mpv/self-update-outcome.json: file exists Could not persist self-update outcome: rename /var/folders/90/0zmhwl8j7_d5dcjfdphztbyw0000gn/T/TestCommittedOutcomeFailureRetainsRecoveryEvidence1074060607/001/.config/mpv/.journal-4231774444.tmp /var/folders/90/0zmhwl8j7_d5dcjfdphztbyw0000gn/T/TestCommittedOutcomeFailureRetainsRecoveryEvidence1074060607/001/.config/mpv/self-update-outcome.json: file exists --- PASS: TestCommittedOutcomeFailureRetainsRecoveryEvidence (0.38s) === RUN TestRunUpdateHelperRollsBackPartialMultiTargetFailure --- PASS: TestRunUpdateHelperRollsBackPartialMultiTargetFailure (0.50s) === RUN TestRecoverSelfUpdateTransactionRestoresInterruptedApply --- PASS: TestRecoverSelfUpdateTransactionRestoresInterruptedApply (0.32s) === RUN TestRecoveryRemovesPreJournalOrphanAndContinues --- PASS: TestRecoveryRemovesPreJournalOrphanAndContinues (0.26s) === RUN TestRecoveryRevalidatesCommittedTargetsBeforeCleanup --- PASS: TestRecoveryRevalidatesCommittedTargetsBeforeCleanup (0.35s) === RUN TestRollbackRejectsCorruptedBackupEvidence --- PASS: TestRollbackRejectsCorruptedBackupEvidence (0.27s) === RUN TestPreparedUpdateRejectsInvalidRelaunchMode --- PASS: TestPreparedUpdateRejectsInvalidRelaunchMode (0.25s) === RUN TestPreparedUpdatePersistsOriginJobID --- PASS: TestPreparedUpdatePersistsOriginJobID (0.27s) === RUN TestPrepareSelfUpdateRequiresAuthenticatedSizeAndDigest --- PASS: TestPrepareSelfUpdateRequiresAuthenticatedSizeAndDigest (0.00s) === RUN TestPrepareSelfUpdateRejectsUnverifiedOrMutatedSelection --- PASS: TestPrepareSelfUpdateRejectsUnverifiedOrMutatedSelection (0.00s) === RUN TestRunUpdateHelperRejectsDirectInvocation --- PASS: TestRunUpdateHelperRejectsDirectInvocation (0.26s) === RUN TestApplyChecksDigestBeforeExecutingCandidate --- PASS: TestApplyChecksDigestBeforeExecutingCandidate (0.00s) === RUN TestWaitForProcessExitAlreadyGone --- PASS: TestWaitForProcessExitAlreadyGone (0.00s) === RUN TestProcessIdentityTokenRejectsPIDReuseEvidence --- PASS: TestProcessIdentityTokenRejectsPIDReuseEvidence (0.00s) === RUN TestWaitForHealthAcknowledgementRequiresStableChild --- PASS: TestWaitForHealthAcknowledgementRequiresStableChild (1.54s) === RUN TestWaitForHealthAcknowledgementRejectsImmediateExit --- PASS: TestWaitForHealthAcknowledgementRejectsImmediateExit (0.11s) === RUN TestUpdateDirectoryAnchorSurvivesLockPathReplacement --- PASS: TestUpdateDirectoryAnchorSurvivesLockPathReplacement (0.00s) === RUN TestSelfUpdateOutcomePersistsReadsAndClears --- PASS: TestSelfUpdateOutcomePersistsReadsAndClears (0.02s) === RUN TestReplaceAndRestoreUpdateFileKeepRecoverableBackup --- PASS: TestReplaceAndRestoreUpdateFileKeepRecoverableBackup (0.02s) === RUN TestRollbackAppliedTargetRequiresBackup --- PASS: TestRollbackAppliedTargetRequiresBackup (0.00s) === RUN TestUpdateHelperCommandPreservesTerminalDescriptors --- PASS: TestUpdateHelperCommandPreservesTerminalDescriptors (0.00s) === RUN TestIsManagedApp === RUN TestIsManagedApp/mpv-binary === RUN TestIsManagedApp/mpv-binary-v3 === RUN TestIsManagedApp/mpv-app === RUN TestIsManagedApp/mpc-qt === RUN TestIsManagedApp/iina === RUN TestIsManagedApp/mpv-flatpak === RUN TestIsManagedApp/mpv-package === RUN TestIsManagedApp/mpv-brew === RUN TestIsManagedApp/celluloid-flatpak === RUN TestIsManagedApp/uosc === RUN TestIsManagedApp/#00 === RUN TestIsManagedApp/something-else --- PASS: TestIsManagedApp (0.00s) --- PASS: TestIsManagedApp/mpv-binary (0.00s) --- PASS: TestIsManagedApp/mpv-binary-v3 (0.00s) --- PASS: TestIsManagedApp/mpv-app (0.00s) --- PASS: TestIsManagedApp/mpc-qt (0.00s) --- PASS: TestIsManagedApp/iina (0.00s) --- PASS: TestIsManagedApp/mpv-flatpak (0.00s) --- PASS: TestIsManagedApp/mpv-package (0.00s) --- PASS: TestIsManagedApp/mpv-brew (0.00s) --- PASS: TestIsManagedApp/celluloid-flatpak (0.00s) --- PASS: TestIsManagedApp/uosc (0.00s) --- PASS: TestIsManagedApp/#00 (0.00s) --- PASS: TestIsManagedApp/something-else (0.00s) === RUN TestCheckAppForUpdate === RUN TestCheckAppForUpdate/git_build_does_not_downgrade_to_its_base_release === RUN TestCheckAppForUpdate/git_build_still_receives_a_newer_release === RUN TestCheckAppForUpdate/mpv_binary_with_update_available === RUN TestCheckAppForUpdate/mpv_binary_v3_already_current === RUN TestCheckAppForUpdate/mpc-qt_with_update_available === RUN TestCheckAppForUpdate/iina_already_current === RUN TestCheckAppForUpdate/flatpak_app_with_stored_version === RUN TestCheckAppForUpdate/brew_app_with_stored_version === RUN TestCheckAppForUpdate/cancelled_package_probe_retains_unknown_version === RUN TestCheckAppForUpdate/unmanaged_method_returns_nil --- PASS: TestCheckAppForUpdate (0.00s) --- PASS: TestCheckAppForUpdate/git_build_does_not_downgrade_to_its_base_release (0.00s) --- PASS: TestCheckAppForUpdate/git_build_still_receives_a_newer_release (0.00s) --- PASS: TestCheckAppForUpdate/mpv_binary_with_update_available (0.00s) --- PASS: TestCheckAppForUpdate/mpv_binary_v3_already_current (0.00s) --- PASS: TestCheckAppForUpdate/mpc-qt_with_update_available (0.00s) --- PASS: TestCheckAppForUpdate/iina_already_current (0.00s) --- PASS: TestCheckAppForUpdate/flatpak_app_with_stored_version (0.00s) --- PASS: TestCheckAppForUpdate/brew_app_with_stored_version (0.00s) --- PASS: TestCheckAppForUpdate/cancelled_package_probe_retains_unknown_version (0.00s) --- PASS: TestCheckAppForUpdate/unmanaged_method_returns_nil (0.00s) === RUN TestGetPackageManagerName === RUN TestGetPackageManagerName/mpv-flatpak === RUN TestGetPackageManagerName/celluloid-flatpak === RUN TestGetPackageManagerName/mpv-package === RUN TestGetPackageManagerName/celluloid-package === RUN TestGetPackageManagerName/mpv-brew === RUN TestGetPackageManagerName/unknown-method --- PASS: TestGetPackageManagerName (0.00s) --- PASS: TestGetPackageManagerName/mpv-flatpak (0.00s) --- PASS: TestGetPackageManagerName/celluloid-flatpak (0.00s) --- PASS: TestGetPackageManagerName/mpv-package (0.00s) --- PASS: TestGetPackageManagerName/celluloid-package (0.00s) --- PASS: TestGetPackageManagerName/mpv-brew (0.00s) --- PASS: TestGetPackageManagerName/unknown-method (0.00s) === RUN TestCheckAndCollectBackups === RUN TestCheckAndCollectBackups/collects_.conf_backups_with_dates === RUN TestCheckAndCollectBackups/missing_directory_returns_an_error --- PASS: TestCheckAndCollectBackups (0.01s) --- PASS: TestCheckAndCollectBackups/collects_.conf_backups_with_dates (0.00s) --- PASS: TestCheckAndCollectBackups/missing_directory_returns_an_error (0.00s) === RUN TestCheckForAppUpdates === RUN TestCheckForAppUpdates/nil_release_info_is_treated_as_an_empty_manifest === RUN TestCheckForAppUpdates/managed_app_with_update_and_no_UI_versions_configured === RUN TestCheckForAppUpdates/package-info_items_alone_do_not_flag_NoEligibleApps === RUN TestCheckForAppUpdates/only_unmanaged_apps_flags_NoEligibleApps === RUN TestCheckForAppUpdates/installed_UI_and_ffmpeg_versions_produce_update_entries === RUN TestCheckForAppUpdates/current_UI_and_ffmpeg_versions_produce_no_update_entries === RUN TestCheckForAppUpdates/config_backups_are_collected_from_the_mpv_config_dir --- PASS: TestCheckForAppUpdates (0.13s) --- PASS: TestCheckForAppUpdates/nil_release_info_is_treated_as_an_empty_manifest (0.00s) --- PASS: TestCheckForAppUpdates/managed_app_with_update_and_no_UI_versions_configured (0.00s) --- PASS: TestCheckForAppUpdates/package-info_items_alone_do_not_flag_NoEligibleApps (0.00s) --- PASS: TestCheckForAppUpdates/only_unmanaged_apps_flags_NoEligibleApps (0.00s) --- PASS: TestCheckForAppUpdates/installed_UI_and_ffmpeg_versions_produce_update_entries (0.06s) --- PASS: TestCheckForAppUpdates/current_UI_and_ffmpeg_versions_produce_no_update_entries (0.06s) --- PASS: TestCheckForAppUpdates/config_backups_are_collected_from_the_mpv_config_dir (0.00s) === RUN TestVerifySelfUpdate === RUN TestVerifySelfUpdate/correct_hash_passes === RUN TestVerifySelfUpdate/wrong_hash_fails === RUN TestVerifySelfUpdate/missing_hash_aborts_the_update_(fail-closed) --- PASS: TestVerifySelfUpdate (0.01s) --- PASS: TestVerifySelfUpdate/correct_hash_passes (0.00s) --- PASS: TestVerifySelfUpdate/wrong_hash_fails (0.00s) --- PASS: TestVerifySelfUpdate/missing_hash_aborts_the_update_(fail-closed) (0.00s) === RUN TestVerifyBLAKE3 === RUN TestVerifyBLAKE3/correct_hash_passes === RUN TestVerifyBLAKE3/wrong_hash_fails --- PASS: TestVerifyBLAKE3 (0.00s) --- PASS: TestVerifyBLAKE3/correct_hash_passes (0.00s) --- PASS: TestVerifyBLAKE3/wrong_hash_fails (0.00s) === RUN TestGetCurrentVersion --- PASS: TestGetCurrentVersion (0.00s) === RUN TestGetBinaryIdentity --- PASS: TestGetBinaryIdentity (0.00s) === RUN TestCompareVersions === RUN TestCompareVersions/v1_less_than_v2 === RUN TestCompareVersions/v1_greater_than_v2 === RUN TestCompareVersions/v1_equal_to_v2 === RUN TestCompareVersions/with_v_prefix === RUN TestCompareVersions/mixed_v_prefix === RUN TestCompareVersions/different_major_version === RUN TestCompareVersions/different_minor_version === RUN TestCompareVersions/different_patch_version === RUN TestCompareVersions/v1_has_more_parts === RUN TestCompareVersions/v2_has_more_parts === RUN TestCompareVersions/empty_strings === RUN TestCompareVersions/v1_empty === RUN TestCompareVersions/v2_empty === RUN TestCompareVersions/prerelease_is_older_than_stable === RUN TestCompareVersions/prerelease_numeric_identifiers === RUN TestCompareVersions/numeric_prerelease_sorts_before_text === RUN TestCompareVersions/build_metadata_is_ignored === RUN TestCompareVersions/large_version_numbers --- PASS: TestCompareVersions (0.00s) --- PASS: TestCompareVersions/v1_less_than_v2 (0.00s) --- PASS: TestCompareVersions/v1_greater_than_v2 (0.00s) --- PASS: TestCompareVersions/v1_equal_to_v2 (0.00s) --- PASS: TestCompareVersions/with_v_prefix (0.00s) --- PASS: TestCompareVersions/mixed_v_prefix (0.00s) --- PASS: TestCompareVersions/different_major_version (0.00s) --- PASS: TestCompareVersions/different_minor_version (0.00s) --- PASS: TestCompareVersions/different_patch_version (0.00s) --- PASS: TestCompareVersions/v1_has_more_parts (0.00s) --- PASS: TestCompareVersions/v2_has_more_parts (0.00s) --- PASS: TestCompareVersions/empty_strings (0.00s) --- PASS: TestCompareVersions/v1_empty (0.00s) --- PASS: TestCompareVersions/v2_empty (0.00s) --- PASS: TestCompareVersions/prerelease_is_older_than_stable (0.00s) --- PASS: TestCompareVersions/prerelease_numeric_identifiers (0.00s) --- PASS: TestCompareVersions/numeric_prerelease_sorts_before_text (0.00s) --- PASS: TestCompareVersions/build_metadata_is_ignored (0.00s) --- PASS: TestCompareVersions/large_version_numbers (0.00s) === RUN TestIsVersionUpdateAvailable === RUN TestIsVersionUpdateAvailable/update_available === RUN TestIsVersionUpdateAvailable/no_update_available === RUN TestIsVersionUpdateAvailable/same_version === RUN TestIsVersionUpdateAvailable/major_version_update === RUN TestIsVersionUpdateAvailable/patch_update === RUN TestIsVersionUpdateAvailable/with_v_prefix --- PASS: TestIsVersionUpdateAvailable (0.00s) --- PASS: TestIsVersionUpdateAvailable/update_available (0.00s) --- PASS: TestIsVersionUpdateAvailable/no_update_available (0.00s) --- PASS: TestIsVersionUpdateAvailable/same_version (0.00s) --- PASS: TestIsVersionUpdateAvailable/major_version_update (0.00s) --- PASS: TestIsVersionUpdateAvailable/patch_update (0.00s) --- PASS: TestIsVersionUpdateAvailable/with_v_prefix (0.00s) === RUN TestCheckForUpdate === RUN TestCheckForUpdate/check_for_update --- PASS: TestCheckForUpdate (0.12s) --- PASS: TestCheckForUpdate/check_for_update (0.12s) === RUN TestVersionCheckResult === RUN TestVersionCheckResult/create_version_check_result --- PASS: TestVersionCheckResult (0.00s) --- PASS: TestVersionCheckResult/create_version_check_result (0.00s) === RUN TestProgressWriter === RUN TestProgressWriter/Write_updates_written_field === RUN TestProgressWriter/Callback_is_called_when_throttle_exceeded === RUN TestProgressWriter/Callback_is_not_called_when_throttle_not_exceeded === RUN TestProgressWriter/Callback_called_when_download_completes === RUN TestProgressWriter/Error_propagates_from_underlying_writer === RUN TestProgressWriter/callback_called_even_on_subsequent_write_error --- PASS: TestProgressWriter (0.00s) --- PASS: TestProgressWriter/Write_updates_written_field (0.00s) --- PASS: TestProgressWriter/Callback_is_called_when_throttle_exceeded (0.00s) --- PASS: TestProgressWriter/Callback_is_not_called_when_throttle_not_exceeded (0.00s) --- PASS: TestProgressWriter/Callback_called_when_download_completes (0.00s) --- PASS: TestProgressWriter/Error_propagates_from_underlying_writer (0.00s) --- PASS: TestProgressWriter/callback_called_even_on_subsequent_write_error (0.00s) === RUN TestDownloadFileWithProgress === RUN TestDownloadFileWithProgress/context_cancellation_interrupts_an_active_response === RUN TestDownloadFileWithProgress/successful_download_with_progress === RUN TestDownloadFileWithProgress/retry_on_connection_error === RUN TestDownloadFileWithProgress/max_retries_exceeded === RUN TestDownloadFileWithProgress/HTTP_404_error === RUN TestDownloadFileWithProgress/file_write_error === RUN TestDownloadFileWithProgress/exponential_backoff_delays === RUN TestDownloadFileWithProgress/progress_callback_frequency === RUN TestDownloadFileWithProgress/empty_download === RUN TestDownloadFileWithProgress/one_total_deadline_covers_all_retry_attempts --- PASS: TestDownloadFileWithProgress (12.11s) --- PASS: TestDownloadFileWithProgress/context_cancellation_interrupts_an_active_response (0.00s) --- PASS: TestDownloadFileWithProgress/successful_download_with_progress (0.00s) --- PASS: TestDownloadFileWithProgress/retry_on_connection_error (3.01s) --- PASS: TestDownloadFileWithProgress/max_retries_exceeded (3.01s) --- PASS: TestDownloadFileWithProgress/HTTP_404_error (0.00s) --- PASS: TestDownloadFileWithProgress/file_write_error (0.00s) --- PASS: TestDownloadFileWithProgress/exponential_backoff_delays (6.01s) --- PASS: TestDownloadFileWithProgress/progress_callback_frequency (0.00s) --- PASS: TestDownloadFileWithProgress/empty_download (0.00s) --- PASS: TestDownloadFileWithProgress/one_total_deadline_covers_all_retry_attempts (0.05s) PASS === RUN TestAppBundleSymlinkRecovery app_bundle_recovery_test.go:58: recovery error= --- PASS: TestAppBundleSymlinkRecovery (0.12s) === RUN TestAppBundleRecoveryRejectsUnsafeLinksBeforeMutation === RUN TestAppBundleRecoveryRejectsUnsafeLinksBeforeMutation/absolute === RUN TestAppBundleRecoveryRejectsUnsafeLinksBeforeMutation/escaping === RUN TestAppBundleRecoveryRejectsUnsafeLinksBeforeMutation/broken === RUN TestAppBundleRecoveryRejectsUnsafeLinksBeforeMutation/cycle === RUN TestAppBundleRecoveryRejectsUnsafeLinksBeforeMutation/sibling-prefix --- PASS: TestAppBundleRecoveryRejectsUnsafeLinksBeforeMutation (0.09s) --- PASS: TestAppBundleRecoveryRejectsUnsafeLinksBeforeMutation/absolute (0.02s) --- PASS: TestAppBundleRecoveryRejectsUnsafeLinksBeforeMutation/escaping (0.02s) --- PASS: TestAppBundleRecoveryRejectsUnsafeLinksBeforeMutation/broken (0.02s) --- PASS: TestAppBundleRecoveryRejectsUnsafeLinksBeforeMutation/cycle (0.02s) --- PASS: TestAppBundleRecoveryRejectsUnsafeLinksBeforeMutation/sibling-prefix (0.02s) === RUN TestTarPreflightRejectsOversizedHeaderBeforeReadingPayload --- PASS: TestTarPreflightRejectsOversizedHeaderBeforeReadingPayload (0.00s) === RUN TestTarPreflightObservesCancellationWhileSkippingBody --- PASS: TestTarPreflightObservesCancellationWhileSkippingBody (0.00s) === RUN TestCancelledTarExtractionAndHashLeaveDestinationUntouched --- PASS: TestCancelledTarExtractionAndHashLeaveDestinationUntouched (0.00s) === RUN TestExtractCompressedFilesNatively === RUN TestExtractCompressedFilesNatively/gzip === RUN TestExtractCompressedFilesNatively/xz --- PASS: TestExtractCompressedFilesNatively (0.12s) --- PASS: TestExtractCompressedFilesNatively/gzip (0.06s) --- PASS: TestExtractCompressedFilesNatively/xz (0.06s) === RUN TestExtractArchiveNativeFormats === RUN TestExtractArchiveNativeFormats/payload.zip === RUN TestExtractArchiveNativeFormats/payload.tar === RUN TestExtractArchiveNativeFormats/payload.tar.gz === RUN TestExtractArchiveNativeFormats/payload.tar.xz --- PASS: TestExtractArchiveNativeFormats (0.32s) --- PASS: TestExtractArchiveNativeFormats/payload.zip (0.07s) --- PASS: TestExtractArchiveNativeFormats/payload.tar (0.08s) --- PASS: TestExtractArchiveNativeFormats/payload.tar.gz (0.08s) --- PASS: TestExtractArchiveNativeFormats/payload.tar.xz (0.08s) === RUN TestArchivePreflightRejectsUnsafeEntriesWithoutLiveWrites === RUN TestArchivePreflightRejectsUnsafeEntriesWithoutLiveWrites/ZIP_traversal === RUN TestArchivePreflightRejectsUnsafeEntriesWithoutLiveWrites/ZIP_symlink === RUN TestArchivePreflightRejectsUnsafeEntriesWithoutLiveWrites/ZIP_case_collision === RUN TestArchivePreflightRejectsUnsafeEntriesWithoutLiveWrites/ZIP_file_used_as_parent === RUN TestArchivePreflightRejectsUnsafeEntriesWithoutLiveWrites/tar_hard_link --- PASS: TestArchivePreflightRejectsUnsafeEntriesWithoutLiveWrites (0.02s) --- PASS: TestArchivePreflightRejectsUnsafeEntriesWithoutLiveWrites/ZIP_traversal (0.01s) --- PASS: TestArchivePreflightRejectsUnsafeEntriesWithoutLiveWrites/ZIP_symlink (0.00s) --- PASS: TestArchivePreflightRejectsUnsafeEntriesWithoutLiveWrites/ZIP_case_collision (0.00s) --- PASS: TestArchivePreflightRejectsUnsafeEntriesWithoutLiveWrites/ZIP_file_used_as_parent (0.00s) --- PASS: TestArchivePreflightRejectsUnsafeEntriesWithoutLiveWrites/tar_hard_link (0.00s) === RUN TestArchiveInventoryEnforcesExpandedSizeLimit --- PASS: TestArchiveInventoryEnforcesExpandedSizeLimit (0.00s) === RUN TestUOSCArchiveInventoryRejectsUnrelatedFiles --- PASS: TestUOSCArchiveInventoryRejectsUnrelatedFiles (0.00s) === RUN TestExtractArchiveManualAndUnsupportedFormats --- PASS: TestExtractArchiveManualAndUnsupportedFormats (0.00s) === RUN TestUOSCArchiveLayout === RUN TestUOSCArchiveLayout/scripts/uosc/main.lua === RUN TestUOSCArchiveLayout/scripts/uosc.lua === RUN TestUOSCArchiveLayout/fonts/unrelated.ttf === RUN TestUOSCArchiveLayout/fonts/uosc_icons.otf.exe === RUN TestUOSCArchiveLayout/scripts/other.lua === RUN TestUOSCArchiveLayout/mpv.conf --- PASS: TestUOSCArchiveLayout (0.25s) --- PASS: TestUOSCArchiveLayout/scripts/uosc/main.lua (0.13s) --- PASS: TestUOSCArchiveLayout/scripts/uosc.lua (0.12s) --- PASS: TestUOSCArchiveLayout/fonts/unrelated.ttf (0.00s) --- PASS: TestUOSCArchiveLayout/fonts/uosc_icons.otf.exe (0.00s) --- PASS: TestUOSCArchiveLayout/scripts/other.lua (0.00s) --- PASS: TestUOSCArchiveLayout/mpv.conf (0.00s) === RUN TestOutputCaptureBoundsUnterminatedLinesAndHandlesCarriageReturns --- PASS: TestOutputCaptureBoundsUnterminatedLinesAndHandlesCarriageReturns (0.04s) === RUN TestRunCommandWithOutputStreamsEachLineOnce --- PASS: TestRunCommandWithOutputStreamsEachLineOnce (0.02s) === RUN TestOutputCaptureBuffersArbitraryWriteChunks --- PASS: TestOutputCaptureBuffersArbitraryWriteChunks (0.00s) === RUN TestCommandRunnerRunCommand --- PASS: TestCommandRunnerRunCommand (0.02s) === RUN TestCommandRunnerRunCommandOutput --- PASS: TestCommandRunnerRunCommandOutput (0.02s) === RUN TestCommandRunnerRunShellCommandAndRunCommands --- PASS: TestCommandRunnerRunShellCommandAndRunCommands (0.26s) === RUN TestCommandRunnerContextAndCancellation --- PASS: TestCommandRunnerContextAndCancellation (0.00s) === RUN TestCreateFullBackup_RoutesCopyThroughFileSystem === RUN TestCreateFullBackup_RoutesCopyThroughFileSystem/success_copies_via_the_injected_FileSystem === RUN TestCreateFullBackup_RoutesCopyThroughFileSystem/copy_failure_propagates === RUN TestCreateFullBackup_RoutesCopyThroughFileSystem/backups_are_unique_and_accepted_by_restore_validation === RUN TestCreateFullBackup_RoutesCopyThroughFileSystem/automatic_backup_retention_is_bounded --- PASS: TestCreateFullBackup_RoutesCopyThroughFileSystem (0.34s) --- PASS: TestCreateFullBackup_RoutesCopyThroughFileSystem/success_copies_via_the_injected_FileSystem (0.00s) --- PASS: TestCreateFullBackup_RoutesCopyThroughFileSystem/copy_failure_propagates (0.00s) --- PASS: TestCreateFullBackup_RoutesCopyThroughFileSystem/backups_are_unique_and_accepted_by_restore_validation (0.01s) --- PASS: TestCreateFullBackup_RoutesCopyThroughFileSystem/automatic_backup_retention_is_bounded (0.30s) === RUN TestRestoreBackup_RoutesCopyThroughFileSystem === RUN TestRestoreBackup_RoutesCopyThroughFileSystem/restore_without_existing_config === RUN TestRestoreBackup_RoutesCopyThroughFileSystem/restore_renames_an_existing_config_aside_first === RUN TestRestoreBackup_RoutesCopyThroughFileSystem/missing_backup_fails === RUN TestRestoreBackup_RoutesCopyThroughFileSystem/invalid_backup_path_fails_validation === RUN TestRestoreBackup_RoutesCopyThroughFileSystem/recovery_backup_failure_propagates --- PASS: TestRestoreBackup_RoutesCopyThroughFileSystem (0.04s) --- PASS: TestRestoreBackup_RoutesCopyThroughFileSystem/restore_without_existing_config (0.01s) --- PASS: TestRestoreBackup_RoutesCopyThroughFileSystem/restore_renames_an_existing_config_aside_first (0.02s) --- PASS: TestRestoreBackup_RoutesCopyThroughFileSystem/missing_backup_fails (0.00s) --- PASS: TestRestoreBackup_RoutesCopyThroughFileSystem/invalid_backup_path_fails_validation (0.00s) --- PASS: TestRestoreBackup_RoutesCopyThroughFileSystem/recovery_backup_failure_propagates (0.00s) === RUN TestCopyUIPath === RUN TestCopyUIPath/copies_a_regular_file_preserving_permissions === RUN TestCopyUIPath/copies_a_directory_tree === RUN TestCopyUIPath/rejects_a_symlink_source === RUN TestCopyUIPath/rejects_a_symlink_inside_a_walked_directory === RUN TestCopyUIPath/missing_source_propagates_the_stat_error --- PASS: TestCopyUIPath (0.03s) --- PASS: TestCopyUIPath/copies_a_regular_file_preserving_permissions (0.01s) --- PASS: TestCopyUIPath/copies_a_directory_tree (0.02s) --- PASS: TestCopyUIPath/rejects_a_symlink_source (0.00s) --- PASS: TestCopyUIPath/rejects_a_symlink_inside_a_walked_directory (0.00s) --- PASS: TestCopyUIPath/missing_source_propagates_the_stat_error (0.00s) === RUN TestInstallUISafely_NoneRemovesUIAndRestoresDefaultOSC --- PASS: TestInstallUISafely_NoneRemovesUIAndRestoresDefaultOSC (0.16s) === RUN TestCreateFullBackupPrunesInsideLiteralBracketedProfile --- PASS: TestCreateFullBackupPrunesInsideLiteralBracketedProfile (0.04s) === RUN TestInstallUISafelyRestoresPreviousUIOnFailure --- PASS: TestInstallUISafelyRestoresPreviousUIOnFailure (0.00s) === RUN TestGetArchitectureInfo === RUN TestGetArchitectureInfo/amd64_architecture === RUN TestGetArchitectureInfo/x86_64_architecture === RUN TestGetArchitectureInfo/amd64_with_V3_optimization === RUN TestGetArchitectureInfo/x86_64_with_V3_optimization === RUN TestGetArchitectureInfo/arm64_architecture === RUN TestGetArchitectureInfo/unsupported_architecture_(386/i686_no_longer_available) === RUN TestGetArchitectureInfo/unsupported_architecture --- PASS: TestGetArchitectureInfo (0.00s) --- PASS: TestGetArchitectureInfo/amd64_architecture (0.00s) --- PASS: TestGetArchitectureInfo/x86_64_architecture (0.00s) --- PASS: TestGetArchitectureInfo/amd64_with_V3_optimization (0.00s) --- PASS: TestGetArchitectureInfo/x86_64_with_V3_optimization (0.00s) --- PASS: TestGetArchitectureInfo/arm64_architecture (0.00s) --- PASS: TestGetArchitectureInfo/unsupported_architecture_(386/i686_no_longer_available) (0.00s) --- PASS: TestGetArchitectureInfo/unsupported_architecture (0.00s) === RUN TestGetMethodDisplayName === RUN TestGetMethodDisplayName/MPV_Binary === RUN TestGetMethodDisplayName/MPV_Binary_V3 === RUN TestGetMethodDisplayName/MPC-QT === RUN TestGetMethodDisplayName/MPV_App === RUN TestGetMethodDisplayName/MPV_Brew === RUN TestGetMethodDisplayName/IINA === RUN TestGetMethodDisplayName/MPV_Flatpak === RUN TestGetMethodDisplayName/Celluloid_Flatpak === RUN TestGetMethodDisplayName/MPV_Package === RUN TestGetMethodDisplayName/Celluloid_Package === RUN TestGetMethodDisplayName/Unknown_method_ID === RUN TestGetMethodDisplayName/Empty_method_ID --- PASS: TestGetMethodDisplayName (0.00s) --- PASS: TestGetMethodDisplayName/MPV_Binary (0.00s) --- PASS: TestGetMethodDisplayName/MPV_Binary_V3 (0.00s) --- PASS: TestGetMethodDisplayName/MPC-QT (0.00s) --- PASS: TestGetMethodDisplayName/MPV_App (0.00s) --- PASS: TestGetMethodDisplayName/MPV_Brew (0.00s) --- PASS: TestGetMethodDisplayName/IINA (0.00s) --- PASS: TestGetMethodDisplayName/MPV_Flatpak (0.00s) --- PASS: TestGetMethodDisplayName/Celluloid_Flatpak (0.00s) --- PASS: TestGetMethodDisplayName/MPV_Package (0.00s) --- PASS: TestGetMethodDisplayName/Celluloid_Package (0.00s) --- PASS: TestGetMethodDisplayName/Unknown_method_ID (0.00s) --- PASS: TestGetMethodDisplayName/Empty_method_ID (0.00s) === RUN TestCommandExists === RUN TestCommandExists/go_command === RUN TestCommandExists/non-existent_command --- PASS: TestCommandExists (0.00s) --- PASS: TestCommandExists/go_command (0.00s) --- PASS: TestCommandExists/non-existent_command (0.00s) === RUN TestGetMPVConfigDirFromHome === RUN TestGetMPVConfigDirFromHome//var/folders/90/0zmhwl8j7_d5dcjfdphztbyw0000gn/T/TestGetMPVConfigDirFromHome797577764/001/other-home === RUN TestGetMPVConfigDirFromHome/#00 --- PASS: TestGetMPVConfigDirFromHome (0.00s) --- PASS: TestGetMPVConfigDirFromHome//var/folders/90/0zmhwl8j7_d5dcjfdphztbyw0000gn/T/TestGetMPVConfigDirFromHome797577764/001/other-home (0.00s) --- PASS: TestGetMPVConfigDirFromHome/#00 (0.00s) === RUN TestCreateFullBackup === RUN TestCreateFullBackup/create_full_backup === RUN TestCreateFullBackup/error_for_non-existent_file --- PASS: TestCreateFullBackup (0.01s) --- PASS: TestCreateFullBackup/create_full_backup (0.01s) --- PASS: TestCreateFullBackup/error_for_non-existent_file (0.00s) === RUN TestRestoreBackup === RUN TestRestoreBackup/restore_from_backup === RUN TestRestoreBackup/restore_with_existing_config === RUN TestRestoreBackup/error_for_non-existent_backup --- PASS: TestRestoreBackup (0.00s) --- PASS: TestRestoreBackup/restore_from_backup (0.00s) --- PASS: TestRestoreBackup/restore_with_existing_config (0.00s) --- PASS: TestRestoreBackup/error_for_non-existent_backup (0.00s) === RUN TestEnsureDirectory === RUN TestEnsureDirectory/create_new_directory === RUN TestEnsureDirectory/directory_already_exists --- PASS: TestEnsureDirectory (0.00s) --- PASS: TestEnsureDirectory/create_new_directory (0.00s) --- PASS: TestEnsureDirectory/directory_already_exists (0.00s) === RUN TestGetPrivilegePrefix === RUN TestGetPrivilegePrefix/get_privilege_prefix --- PASS: TestGetPrivilegePrefix (0.00s) --- PASS: TestGetPrivilegePrefix/get_privilege_prefix (0.00s) === RUN TestGetArchitectureInfoEmptyURL === RUN TestGetArchitectureInfoEmptyURL/amd64_v3_architecture === RUN TestGetArchitectureInfoEmptyURL/amd64_architecture === RUN TestGetArchitectureInfoEmptyURL/x86_64_architecture === RUN TestGetArchitectureInfoEmptyURL/arm64_architecture --- PASS: TestGetArchitectureInfoEmptyURL (0.00s) --- PASS: TestGetArchitectureInfoEmptyURL/amd64_v3_architecture (0.00s) --- PASS: TestGetArchitectureInfoEmptyURL/amd64_architecture (0.00s) --- PASS: TestGetArchitectureInfoEmptyURL/x86_64_architecture (0.00s) --- PASS: TestGetArchitectureInfoEmptyURL/arm64_architecture (0.00s) === RUN TestConfigRestoreAndRollbackPreservePrivateMode --- PASS: TestConfigRestoreAndRollbackPreservePrivateMode (0.03s) === RUN TestConfigRestoreMissingTargetUsesPrivateSnapshotMode --- PASS: TestConfigRestoreMissingTargetUsesPrivateSnapshotMode (0.02s) === RUN TestRecommendedDefaultsPreserveModeProfilesAndComments --- PASS: TestRecommendedDefaultsPreserveModeProfilesAndComments (0.01s) === RUN TestPreserveUserSettings === RUN TestPreserveUserSettings/parses_all_supported_keys === RUN TestPreserveUserSettings/missing_config_yields_empty_settings === RUN TestPreserveUserSettings/nil_runner_is_accepted --- PASS: TestPreserveUserSettings (0.00s) --- PASS: TestPreserveUserSettings/parses_all_supported_keys (0.00s) --- PASS: TestPreserveUserSettings/missing_config_yields_empty_settings (0.00s) --- PASS: TestPreserveUserSettings/nil_runner_is_accepted (0.00s) === RUN TestApplyUserSettings === RUN TestApplyUserSettings/updates_existing_keys_and_appends_missing_ones === RUN TestApplyUserSettings/empty_settings_leave_the_file_content_unchanged === RUN TestApplyUserSettings/rejects_invalid_parameters === RUN TestApplyUserSettings/missing_config_file_fails --- PASS: TestApplyUserSettings (0.02s) --- PASS: TestApplyUserSettings/updates_existing_keys_and_appends_missing_ones (0.01s) --- PASS: TestApplyUserSettings/empty_settings_leave_the_file_content_unchanged (0.01s) --- PASS: TestApplyUserSettings/rejects_invalid_parameters (0.00s) --- PASS: TestApplyUserSettings/missing_config_file_fails (0.00s) === RUN TestSetRecommendedHWADecoderIfEmpty === RUN TestSetRecommendedHWADecoderIfEmpty/replaces_the_auto_fallback === RUN TestSetRecommendedHWADecoderIfEmpty/keeps_a_custom_user_value === RUN TestSetRecommendedHWADecoderIfEmpty/adds_hwdec_when_missing === RUN TestSetRecommendedHWADecoderIfEmpty/no_recommendation_leaves_the_file_alone === RUN TestSetRecommendedHWADecoderIfEmpty/unreadable_config_fails --- PASS: TestSetRecommendedHWADecoderIfEmpty (0.02s) --- PASS: TestSetRecommendedHWADecoderIfEmpty/replaces_the_auto_fallback (0.01s) --- PASS: TestSetRecommendedHWADecoderIfEmpty/keeps_a_custom_user_value (0.00s) --- PASS: TestSetRecommendedHWADecoderIfEmpty/adds_hwdec_when_missing (0.01s) --- PASS: TestSetRecommendedHWADecoderIfEmpty/no_recommendation_leaves_the_file_alone (0.00s) --- PASS: TestSetRecommendedHWADecoderIfEmpty/unreadable_config_fails (0.00s) === RUN TestInstallMPVConfigWithPlatformDefaults --- PASS: TestInstallMPVConfigWithPlatformDefaults (0.02s) === RUN TestInstallMPVConfigWithOutput_BackupFailureAbortsWithoutChangingLiveConfig --- PASS: TestInstallMPVConfigWithOutput_BackupFailureAbortsWithoutChangingLiveConfig (0.00s) === RUN TestFlatpakDetectionWithFakeTool --- PASS: TestFlatpakDetectionWithFakeTool (0.09s) === RUN TestPackageVersionProbesWithFakeTools --- PASS: TestPackageVersionProbesWithFakeTools (0.21s) === RUN TestDetectPackageAppsWithFakeTools --- PASS: TestDetectPackageAppsWithFakeTools (0.07s) === RUN TestDetectionProbeHelperProcess --- PASS: TestDetectionProbeHelperProcess (0.00s) === RUN TestRunDetectionProbeUsesStableLocale --- PASS: TestRunDetectionProbeUsesStableLocale (0.01s) === RUN TestRunDetectionProbeCapsOutput --- PASS: TestRunDetectionProbeCapsOutput (0.01s) === RUN TestDetectInstalledMPVApps --- PASS: TestDetectInstalledMPVApps (0.01s) === RUN TestVersionProbesTolerateMissingTools --- PASS: TestVersionProbesTolerateMissingTools (0.00s) === RUN TestDetectPackageManagerFamily --- PASS: TestDetectPackageManagerFamily (0.00s) === RUN TestSyncInstalledApps --- PASS: TestSyncInstalledApps (0.04s) === RUN TestSyncInstalledAppObservationsFoundWinsAndPathsCanonicalize --- PASS: TestSyncInstalledAppObservationsFoundWinsAndPathsCanonicalize (0.01s) === RUN TestDetectAndSyncApps --- PASS: TestDetectAndSyncApps (0.03s) === RUN TestInterruptedDMGAttachCleansOwnedMountsWithIndependentLifetime === RUN TestInterruptedDMGAttachCleansOwnedMountsWithIndependentLifetime/context_canceled === RUN TestInterruptedDMGAttachCleansOwnedMountsWithIndependentLifetime/attach_failed_after_mounting === RUN TestInterruptedDMGAttachCleansOwnedMountsWithIndependentLifetime/invalid_plist --- PASS: TestInterruptedDMGAttachCleansOwnedMountsWithIndependentLifetime (0.00s) --- PASS: TestInterruptedDMGAttachCleansOwnedMountsWithIndependentLifetime/context_canceled (0.00s) --- PASS: TestInterruptedDMGAttachCleansOwnedMountsWithIndependentLifetime/attach_failed_after_mounting (0.00s) --- PASS: TestInterruptedDMGAttachCleansOwnedMountsWithIndependentLifetime/invalid_plist (0.00s) === RUN TestDMGCleanupFailureIsReportedAndNeverDetachedTwice --- PASS: TestDMGCleanupFailureIsReportedAndNeverDetachedTwice (0.00s) === RUN TestParseHDIUtilAttachPlistBindsDeviceAndMount --- PASS: TestParseHDIUtilAttachPlistBindsDeviceAndMount (0.00s) === RUN TestParseHDIUtilAttachPlistRejectsMissingMount --- PASS: TestParseHDIUtilAttachPlistRejectsMissingMount (0.00s) === RUN TestParseHDIUtilAttachPlistFindsNestedInfoEntities --- PASS: TestParseHDIUtilAttachPlistFindsNestedInfoEntities (0.00s) === RUN TestParseHDIUtilAttachPlistRejectsMalformedInput --- PASS: TestParseHDIUtilAttachPlistRejectsMalformedInput (0.00s) === RUN TestSelectIINAMountUsesOnlyOwnedReturnedMount --- PASS: TestSelectIINAMountUsesOnlyOwnedReturnedMount (0.00s) === RUN TestSelectIINAMountRejectsOutsideAndAmbiguousMounts --- PASS: TestSelectIINAMountRejectsOutsideAndAmbiguousMounts (0.00s) === RUN TestSelectIINAMountRejectsSymlinkedApp --- PASS: TestSelectIINAMountRejectsSymlinkedApp (0.00s) === RUN TestNativeInterruptedDMGAttachDetachesOwnedMount === RUN TestNativeInterruptedDMGAttachDetachesOwnedMount/context_canceled === RUN TestNativeInterruptedDMGAttachDetachesOwnedMount/context_deadline_exceeded --- PASS: TestNativeInterruptedDMGAttachDetachesOwnedMount (2.14s) --- PASS: TestNativeInterruptedDMGAttachDetachesOwnedMount/context_canceled (0.57s) --- PASS: TestNativeInterruptedDMGAttachDetachesOwnedMount/context_deadline_exceeded (0.54s) === RUN TestNativeInstallerRecoveryInApplications --- PASS: TestNativeInstallerRecoveryInApplications (0.04s) === RUN TestDownloadAndExtractEmptyURL === RUN TestDownloadAndExtractEmptyURL/empty_url_without_command_runner === RUN TestDownloadAndExtractEmptyURL/empty_url_with_command_runner --- PASS: TestDownloadAndExtractEmptyURL (0.00s) --- PASS: TestDownloadAndExtractEmptyURL/empty_url_without_command_runner (0.00s) --- PASS: TestDownloadAndExtractEmptyURL/empty_url_with_command_runner (0.00s) === RUN TestInstallEmbeddedThumbfast --- PASS: TestInstallEmbeddedThumbfast (0.00s) === RUN TestWriteFileAtomicallyPreservingReplacesExistingFile --- PASS: TestWriteFileAtomicallyPreservingReplacesExistingFile (0.01s) === RUN TestWriteFileAtomicallyPreservingRestoresExistingFileOnFailure --- PASS: TestWriteFileAtomicallyPreservingRestoresExistingFileOnFailure (0.01s) === RUN TestWriteFileAtomicallyPreservingKeepsBackupWhenRestoreFails --- PASS: TestWriteFileAtomicallyPreservingKeepsBackupWhenRestoreFails (0.01s) === RUN TestWriteFileAtomicallyPreservingErrorPaths === RUN TestWriteFileAtomicallyPreservingErrorPaths/target_is_a_directory === RUN TestWriteFileAtomicallyPreservingErrorPaths/missing_parent_directory === RUN TestWriteFileAtomicallyPreservingErrorPaths/backup_rename_failure --- PASS: TestWriteFileAtomicallyPreservingErrorPaths (0.01s) --- PASS: TestWriteFileAtomicallyPreservingErrorPaths/target_is_a_directory (0.01s) --- PASS: TestWriteFileAtomicallyPreservingErrorPaths/missing_parent_directory (0.00s) --- PASS: TestWriteFileAtomicallyPreservingErrorPaths/backup_rename_failure (0.01s) === RUN TestInstallEmbeddedThumbfast_BadInstallDir --- PASS: TestInstallEmbeddedThumbfast_BadInstallDir (0.00s) === RUN TestFFmpegArchitectureSelectsMatchingManifestAndPE === RUN TestFFmpegArchitectureSelectsMatchingManifestAndPE/aarch64 === RUN TestFFmpegArchitectureSelectsMatchingManifestAndPE/x86-64 === RUN TestFFmpegArchitectureSelectsMatchingManifestAndPE/x86-64-v3 --- PASS: TestFFmpegArchitectureSelectsMatchingManifestAndPE (0.17s) --- PASS: TestFFmpegArchitectureSelectsMatchingManifestAndPE/aarch64 (0.05s) --- PASS: TestFFmpegArchitectureSelectsMatchingManifestAndPE/x86-64 (0.06s) --- PASS: TestFFmpegArchitectureSelectsMatchingManifestAndPE/x86-64-v3 (0.05s) === RUN TestFFmpegUpdatePreservesPreexistingScratchNames === RUN TestFFmpegUpdatePreservesPreexistingScratchNames/success === RUN TestFFmpegUpdatePreservesPreexistingScratchNames/bad_hash === RUN TestFFmpegUpdatePreservesPreexistingScratchNames/download_failure === RUN TestFFmpegUpdatePreservesPreexistingScratchNames/canceled --- PASS: TestFFmpegUpdatePreservesPreexistingScratchNames (0.17s) --- PASS: TestFFmpegUpdatePreservesPreexistingScratchNames/success (0.15s) --- PASS: TestFFmpegUpdatePreservesPreexistingScratchNames/bad_hash (0.01s) --- PASS: TestFFmpegUpdatePreservesPreexistingScratchNames/download_failure (0.01s) --- PASS: TestFFmpegUpdatePreservesPreexistingScratchNames/canceled (0.01s) === RUN TestConcurrentFFmpegStagingOwnsDistinctPrivateDirectories --- PASS: TestConcurrentFFmpegStagingOwnsDistinctPrivateDirectories (0.00s) === RUN TestTransactionalOverlayPreservesUnrelatedAndProtectedFiles --- PASS: TestTransactionalOverlayPreservesUnrelatedAndProtectedFiles (0.07s) === RUN TestTransactionalOverlayRollsBackAfterPartialCommit --- PASS: TestTransactionalOverlayRollsBackAfterPartialCommit (0.06s) === RUN TestTransactionalOverlayRollsBackCancellationAfterBackup --- PASS: TestTransactionalOverlayRollsBackCancellationAfterBackup (0.06s) === RUN TestTransactionalPathReplaceRestoresLiveBundle --- PASS: TestTransactionalPathReplaceRestoresLiveBundle (0.06s) === RUN TestTransactionalPathReplaceRestoresOnCancellation --- PASS: TestTransactionalPathReplaceRestoresOnCancellation (0.06s) === RUN TestTransactionalPathReplaceKeepsBackupIfRestoreFails --- PASS: TestTransactionalPathReplaceKeepsBackupIfRestoreFails (0.03s) === RUN TestTransactionalRegularFileReplaceRollsBackPostActivationFailure --- PASS: TestTransactionalRegularFileReplaceRollsBackPostActivationFailure (0.05s) === RUN TestTransactionalRegularFileReplaceRetainsBackupWhenRestoreFails --- PASS: TestTransactionalRegularFileReplaceRetainsBackupWhenRestoreFails (0.03s) === RUN TestTransactionalRegularFileReplaceRejectsNonSiblingStage --- PASS: TestTransactionalRegularFileReplaceRejectsNonSiblingStage (0.00s) === RUN TestStageRegularFileBesideCreatesVerifiedSibling --- PASS: TestStageRegularFileBesideCreatesVerifiedSibling (0.01s) === RUN TestValidateFFmpegExecutableRequiresAMD64PE --- PASS: TestValidateFFmpegExecutableRequiresAMD64PE (0.00s) === RUN TestTransactionalOverlayRejectsSymlinkWithoutChangingDestination --- PASS: TestTransactionalOverlayRejectsSymlinkWithoutChangingDestination (0.00s) === RUN TestRecoverInstallerTransactionsRollsBackInterruptedOverlay --- PASS: TestRecoverInstallerTransactionsRollsBackInterruptedOverlay (0.06s) === RUN TestRecoverInstallerTransactionsRemovesInterruptedNewPath --- PASS: TestRecoverInstallerTransactionsRemovesInterruptedNewPath (0.05s) === RUN TestRecoverInstallerTransactionsPreservesCommittedReplacement --- PASS: TestRecoverInstallerTransactionsPreservesCommittedReplacement (0.04s) === RUN TestRecoverInstallerTransactionsRestoresInterruptedUI --- PASS: TestRecoverInstallerTransactionsRestoresInterruptedUI (0.07s) === RUN TestRecoverInstallerTransactionsRejectsTamperedJournal --- PASS: TestRecoverInstallerTransactionsRejectsTamperedJournal (0.03s) === RUN TestNativeMacIconConversion --- PASS: TestNativeMacIconConversion (0.34s) === RUN TestInstallUOSCWithOutput_MockFlow === RUN TestInstallUOSCWithOutput_MockFlow/full_install_through_injected_HTTP_client_and_native_extractor === RUN TestInstallUOSCWithOutput_MockFlow/checksum_mismatch_aborts_before_extraction === RUN TestInstallUOSCWithOutput_MockFlow/download_failure_propagates --- PASS: TestInstallUOSCWithOutput_MockFlow (0.13s) --- PASS: TestInstallUOSCWithOutput_MockFlow/full_install_through_injected_HTTP_client_and_native_extractor (0.13s) --- PASS: TestInstallUOSCWithOutput_MockFlow/checksum_mismatch_aborts_before_extraction (0.00s) --- PASS: TestInstallUOSCWithOutput_MockFlow/download_failure_propagates (0.00s) === RUN TestInstallModernZWithOutput_MockFlow === RUN TestInstallModernZWithOutput_MockFlow/script_checksum_mismatch_cleans_up_staging_files --- PASS: TestInstallModernZWithOutput_MockFlow (0.01s) --- PASS: TestInstallModernZWithOutput_MockFlow/script_checksum_mismatch_cleans_up_staging_files (0.01s) === RUN TestUpdateFFmpegWithOutput_ErrorPaths === RUN TestUpdateFFmpegWithOutput_ErrorPaths/missing_manifest_URL_fails_closed === RUN TestUpdateFFmpegWithOutput_ErrorPaths/missing_checksum_fails_closed_before_downloading === RUN TestUpdateFFmpegWithOutput_ErrorPaths/download_failure_propagates === RUN TestUpdateFFmpegWithOutput_ErrorPaths/checksum_mismatch_propagates === RUN TestUpdateFFmpegWithOutput_ErrorPaths/archive_without_ffmpeg.exe_is_rejected --- PASS: TestUpdateFFmpegWithOutput_ErrorPaths (0.08s) --- PASS: TestUpdateFFmpegWithOutput_ErrorPaths/missing_manifest_URL_fails_closed (0.00s) --- PASS: TestUpdateFFmpegWithOutput_ErrorPaths/missing_checksum_fails_closed_before_downloading (0.00s) --- PASS: TestUpdateFFmpegWithOutput_ErrorPaths/download_failure_propagates (0.00s) --- PASS: TestUpdateFFmpegWithOutput_ErrorPaths/checksum_mismatch_propagates (0.00s) --- PASS: TestUpdateFFmpegWithOutput_ErrorPaths/archive_without_ffmpeg.exe_is_rejected (0.08s) === RUN TestBackupAndRestoreConfigWithOutput === RUN TestBackupAndRestoreConfigWithOutput/backup_without_config_fails === RUN TestBackupAndRestoreConfigWithOutput/backup_then_restore_round-trips_the_config === RUN TestBackupAndRestoreConfigWithOutput/restore_with_an_invalid_path_fails --- PASS: TestBackupAndRestoreConfigWithOutput (0.02s) --- PASS: TestBackupAndRestoreConfigWithOutput/backup_without_config_fails (0.00s) --- PASS: TestBackupAndRestoreConfigWithOutput/backup_then_restore_round-trips_the_config (0.02s) --- PASS: TestBackupAndRestoreConfigWithOutput/restore_with_an_invalid_path_fails (0.00s) === RUN TestDisableOSCForCelluloid === RUN TestDisableOSCForCelluloid/rewrites_osc=yes_to_osc=no === RUN TestDisableOSCForCelluloid/missing_osc_setting_is_explicitly_disabled === RUN TestDisableOSCForCelluloid/missing_config_fails --- PASS: TestDisableOSCForCelluloid (0.02s) --- PASS: TestDisableOSCForCelluloid/rewrites_osc=yes_to_osc=no (0.01s) --- PASS: TestDisableOSCForCelluloid/missing_osc_setting_is_explicitly_disabled (0.01s) --- PASS: TestDisableOSCForCelluloid/missing_config_fails (0.00s) === RUN TestDownloadFileWithProgress_MockHTTP === RUN TestDownloadFileWithProgress_MockHTTP/success_with_progress_callback === RUN TestDownloadFileWithProgress_MockHTTP/success_with_unknown_length === RUN TestDownloadFileWithProgress_MockHTTP/request_failure_propagates === RUN TestDownloadFileWithProgress_MockHTTP/http_error_status === RUN TestDownloadFileWithProgress_MockHTTP/uncreatable_destination_fails === RUN TestDownloadFileWithProgress_MockHTTP/malformed_URL_fails_request_construction --- PASS: TestDownloadFileWithProgress_MockHTTP (0.01s) --- PASS: TestDownloadFileWithProgress_MockHTTP/success_with_progress_callback (0.00s) --- PASS: TestDownloadFileWithProgress_MockHTTP/success_with_unknown_length (0.00s) --- PASS: TestDownloadFileWithProgress_MockHTTP/request_failure_propagates (0.00s) --- PASS: TestDownloadFileWithProgress_MockHTTP/http_error_status (0.00s) --- PASS: TestDownloadFileWithProgress_MockHTTP/uncreatable_destination_fails (0.00s) --- PASS: TestDownloadFileWithProgress_MockHTTP/malformed_URL_fails_request_construction (0.00s) === RUN TestDownloadFileWithContext_CancelledContext --- PASS: TestDownloadFileWithContext_CancelledContext (0.00s) === RUN TestSetOSCConfig === RUN TestSetOSCConfig/creates_a_missing_config === RUN TestSetOSCConfig/updates_an_existing_osc_line === RUN TestSetOSCConfig/normalizes_duplicate_osc_entries_using_the_effective_value === RUN TestSetOSCConfig/already-correct_value_is_a_no-op === RUN TestSetOSCConfig/appends_osc_when_missing === RUN TestSetOSCConfig/unreadable_config_fails --- PASS: TestSetOSCConfig (0.05s) --- PASS: TestSetOSCConfig/creates_a_missing_config (0.01s) --- PASS: TestSetOSCConfig/updates_an_existing_osc_line (0.01s) --- PASS: TestSetOSCConfig/normalizes_duplicate_osc_entries_using_the_effective_value (0.01s) --- PASS: TestSetOSCConfig/already-correct_value_is_a_no-op (0.00s) --- PASS: TestSetOSCConfig/appends_osc_when_missing (0.01s) --- PASS: TestSetOSCConfig/unreadable_config_fails (0.00s) === RUN TestInstallUISafely_ModernZSuccess --- PASS: TestInstallUISafely_ModernZSuccess (0.17s) === RUN TestInstallUISafely_UOSCSuccess --- PASS: TestInstallUISafely_UOSCSuccess (0.15s) === RUN TestInstallMPVConfigSafely --- PASS: TestInstallMPVConfigSafely (0.01s) === RUN TestUpdateUIWithPreservedConfig_ErrorPaths === RUN TestUpdateUIWithPreservedConfig_ErrorPaths/unsupported_UI_type === RUN TestUpdateUIWithPreservedConfig_ErrorPaths/staging_failure_restores_the_previous_version === RUN TestUpdateUIWithPreservedConfig_ErrorPaths/cancellation_before_commit_aborts --- PASS: TestUpdateUIWithPreservedConfig_ErrorPaths (0.01s) --- PASS: TestUpdateUIWithPreservedConfig_ErrorPaths/unsupported_UI_type (0.00s) --- PASS: TestUpdateUIWithPreservedConfig_ErrorPaths/staging_failure_restores_the_previous_version (0.01s) --- PASS: TestUpdateUIWithPreservedConfig_ErrorPaths/cancellation_before_commit_aborts (0.00s) === RUN TestPendingNotice --- PASS: TestPendingNotice (0.00s) === RUN TestPostInstallMessageError --- PASS: TestPostInstallMessageError (0.00s) === RUN TestDownloadFileWrapper --- PASS: TestDownloadFileWrapper (0.00s) === RUN TestCopyAsset_BadSource --- PASS: TestCopyAsset_BadSource (0.00s) === RUN TestEnsureDirWithOutput_Failure --- PASS: TestEnsureDirWithOutput_Failure (0.00s) === RUN TestEnsureDirectory_ErrorPath --- PASS: TestEnsureDirectory_ErrorPath (0.00s) === RUN TestHomeAndConfigPaths --- PASS: TestHomeAndConfigPaths (0.00s) === RUN TestUpdateUOSCWithOutput_MockFlow --- PASS: TestUpdateUOSCWithOutput_MockFlow (0.15s) === RUN TestInstallModernZWithOutput_FontAndConfChecksumFailures === RUN TestInstallModernZWithOutput_FontAndConfChecksumFailures/font_checksum_mismatch === RUN TestInstallModernZWithOutput_FontAndConfChecksumFailures/config_checksum_mismatch --- PASS: TestInstallModernZWithOutput_FontAndConfChecksumFailures (0.02s) --- PASS: TestInstallModernZWithOutput_FontAndConfChecksumFailures/font_checksum_mismatch (0.01s) --- PASS: TestInstallModernZWithOutput_FontAndConfChecksumFailures/config_checksum_mismatch (0.01s) === RUN TestSetOSCDefault === RUN TestSetOSCDefault/missing_config_is_a_no-op === RUN TestSetOSCDefault/osc=yes_already_set_returns_early === RUN TestSetOSCDefault/osc=no_is_rewritten === RUN TestSetOSCDefault/correct_effective_value_still_removes_duplicates === RUN TestSetOSCDefault/no_osc_line_adds_one === RUN TestSetOSCDefault/unreadable_config_fails --- PASS: TestSetOSCDefault (0.04s) --- PASS: TestSetOSCDefault/missing_config_is_a_no-op (0.00s) --- PASS: TestSetOSCDefault/osc=yes_already_set_returns_early (0.00s) --- PASS: TestSetOSCDefault/osc=no_is_rewritten (0.01s) --- PASS: TestSetOSCDefault/correct_effective_value_still_removes_duplicates (0.01s) --- PASS: TestSetOSCDefault/no_osc_line_adds_one (0.01s) --- PASS: TestSetOSCDefault/unreadable_config_fails (0.00s) === RUN TestInstallUISafely_DefaultsToModernZForUnknownType --- PASS: TestInstallUISafely_DefaultsToModernZForUnknownType (0.16s) === RUN TestInstallMPVConfigSafely_Failure --- PASS: TestInstallMPVConfigSafely_Failure (0.00s) === RUN TestBackupConfigWithOutput_Failure --- PASS: TestBackupConfigWithOutput_Failure (0.00s) === RUN TestInstallerZeroValueFallbacks --- PASS: TestInstallerZeroValueFallbacks (0.00s) === RUN TestDownloadFileWithProgressToChannel_CancelledContext --- PASS: TestDownloadFileWithProgressToChannel_CancelledContext (0.00s) === RUN TestUOSCReleasedArchive installer_flows_test.go:951: native QA supplies the reviewed uOSC 5.13.0 archive --- SKIP: TestUOSCReleasedArchive (0.00s) === RUN TestNewInstaller_DefaultsAndOptions --- PASS: TestNewInstaller_DefaultsAndOptions (0.00s) === RUN TestCloneForOperationSnapshotsMutableInputs --- PASS: TestCloneForOperationSnapshotsMutableInputs (0.00s) === RUN TestOSFileSystem --- PASS: TestOSFileSystem (0.01s) === RUN TestHTTPDownloader_DownloadFile === RUN TestHTTPDownloader_DownloadFile/success_with_progress === RUN TestHTTPDownloader_DownloadFile/success_without_progress === RUN TestHTTPDownloader_DownloadFile/http_error_status === RUN TestHTTPDownloader_DownloadFile/request_failure === RUN TestHTTPDownloader_DownloadFile/cancelled_context_cleans_up --- PASS: TestHTTPDownloader_DownloadFile (0.01s) --- PASS: TestHTTPDownloader_DownloadFile/success_with_progress (0.00s) --- PASS: TestHTTPDownloader_DownloadFile/success_without_progress (0.00s) --- PASS: TestHTTPDownloader_DownloadFile/http_error_status (0.00s) --- PASS: TestHTTPDownloader_DownloadFile/request_failure (0.00s) --- PASS: TestHTTPDownloader_DownloadFile/cancelled_context_cleans_up (0.00s) === RUN TestHTTPDownloaderRejectsOversizedArtifactBeforeWriting --- PASS: TestHTTPDownloaderRejectsOversizedArtifactBeforeWriting (0.00s) === RUN TestArtifactCopyErrorRejectsUnknownLengthOverflow --- PASS: TestArtifactCopyErrorRejectsUnknownLengthOverflow (0.00s) === RUN TestDownloadFileWithContext_DelegatesToDownloader --- PASS: TestDownloadFileWithContext_DelegatesToDownloader (0.00s) === RUN TestDownloadFileWithProgressToChannel_UsesInjectedHTTPClient === RUN TestDownloadFileWithProgressToChannel_UsesInjectedHTTPClient/success === RUN TestDownloadFileWithProgressToChannel_UsesInjectedHTTPClient/http_error --- PASS: TestDownloadFileWithProgressToChannel_UsesInjectedHTTPClient (0.00s) --- PASS: TestDownloadFileWithProgressToChannel_UsesInjectedHTTPClient/success (0.00s) --- PASS: TestDownloadFileWithProgressToChannel_UsesInjectedHTTPClient/http_error (0.00s) === RUN TestDownloadAndExtract_WithMocks === RUN TestDownloadAndExtract_WithMocks/success_downloads_verifies_and_extracts === RUN TestDownloadAndExtract_WithMocks/checksum_mismatch_aborts_before_extraction === RUN TestDownloadAndExtract_WithMocks/download_failure_aborts_before_extraction === RUN TestDownloadAndExtract_WithMocks/extraction_failure_propagates --- PASS: TestDownloadAndExtract_WithMocks (0.06s) --- PASS: TestDownloadAndExtract_WithMocks/success_downloads_verifies_and_extracts (0.06s) --- PASS: TestDownloadAndExtract_WithMocks/checksum_mismatch_aborts_before_extraction (0.00s) --- PASS: TestDownloadAndExtract_WithMocks/download_failure_aborts_before_extraction (0.00s) --- PASS: TestDownloadAndExtract_WithMocks/extraction_failure_propagates (0.00s) === RUN TestCopyFileWithOutput_MockFileSystem === RUN TestCopyFileWithOutput_MockFileSystem/success_copies_content === RUN TestCopyFileWithOutput_MockFileSystem/read_error_propagates_and_is_reported === RUN TestCopyFileWithOutput_MockFileSystem/write_error_propagates_and_is_reported --- PASS: TestCopyFileWithOutput_MockFileSystem (0.00s) --- PASS: TestCopyFileWithOutput_MockFileSystem/success_copies_content (0.00s) --- PASS: TestCopyFileWithOutput_MockFileSystem/read_error_propagates_and_is_reported (0.00s) --- PASS: TestCopyFileWithOutput_MockFileSystem/write_error_propagates_and_is_reported (0.00s) === RUN TestCopyDirWithOutput_MockFileSystem === RUN TestCopyDirWithOutput_MockFileSystem/success_copies_all_files === RUN TestCopyDirWithOutput_MockFileSystem/read_error_aborts_the_copy --- PASS: TestCopyDirWithOutput_MockFileSystem (0.00s) --- PASS: TestCopyDirWithOutput_MockFileSystem/success_copies_all_files (0.00s) --- PASS: TestCopyDirWithOutput_MockFileSystem/read_error_aborts_the_copy (0.00s) === RUN TestExtractArchiveWithOutputUsesNativeBoundary === RUN TestExtractArchiveWithOutputUsesNativeBoundary/unsupported_format_runs_no_command === RUN TestExtractArchiveWithOutputUsesNativeBoundary/malformed_archive_fails_before_live_writes --- PASS: TestExtractArchiveWithOutputUsesNativeBoundary (0.06s) --- PASS: TestExtractArchiveWithOutputUsesNativeBoundary/unsupported_format_runs_no_command (0.00s) --- PASS: TestExtractArchiveWithOutputUsesNativeBoundary/malformed_archive_fails_before_live_writes (0.00s) === RUN TestInstallerFileHelpers_MockFileSystem --- PASS: TestInstallerFileHelpers_MockFileSystem (0.00s) === RUN TestExtractSevenZip === RUN TestExtractSevenZip/extracts_a_solid_LZMA2_archive_without_an_external_command === RUN TestExtractSevenZip/replaces_an_existing_regular_file === RUN TestExtractSevenZip/honors_a_cancelled_context_before_writing === RUN TestExtractSevenZip/refuses_a_destination_symlink --- PASS: TestExtractSevenZip (0.21s) --- PASS: TestExtractSevenZip/extracts_a_solid_LZMA2_archive_without_an_external_command (0.08s) --- PASS: TestExtractSevenZip/replaces_an_existing_regular_file (0.08s) --- PASS: TestExtractSevenZip/honors_a_cancelled_context_before_writing (0.00s) --- PASS: TestExtractSevenZip/refuses_a_destination_symlink (0.04s) === RUN TestSevenZipReleaseCompatibility === RUN TestSevenZipReleaseCompatibility/MPV installer_sevenzip_test.go:126: set MPV_MANAGER_TEST_MPV_7Z to test a current upstream archive === RUN TestSevenZipReleaseCompatibility/FFmpeg installer_sevenzip_test.go:126: set MPV_MANAGER_TEST_FFMPEG_7Z to test a current upstream archive --- PASS: TestSevenZipReleaseCompatibility (0.00s) --- SKIP: TestSevenZipReleaseCompatibility/MPV (0.00s) --- SKIP: TestSevenZipReleaseCompatibility/FFmpeg (0.00s) === RUN TestValidateSevenZipEntries === RUN TestValidateSevenZipEntries/accepts_portable_regular_files_and_directories === RUN TestValidateSevenZipEntries/rejects_.._outside.exe === RUN TestValidateSevenZipEntries/rejects__absolute.exe === RUN TestValidateSevenZipEntries/rejects_dir\..\outside.exe === RUN TestValidateSevenZipEntries/rejects_C:_outside.exe === RUN TestValidateSevenZipEntries/rejects_NUL.txt === RUN TestValidateSevenZipEntries/rejects_LPT9.log === RUN TestValidateSevenZipEntries/rejects_COM¹.txt === RUN TestValidateSevenZipEntries/rejects_dir_bad?.exe === RUN TestValidateSevenZipEntries/rejects_dir_trailing. === RUN TestValidateSevenZipEntries/rejects_dir__file.exe === RUN TestValidateSevenZipEntries/rejects_symlinks_and_other_special_files === RUN TestValidateSevenZipEntries/rejects_duplicate_and_case-colliding_names === RUN TestValidateSevenZipEntries/rejects_a_regular_file_used_as_a_parent_directory === RUN TestValidateSevenZipEntries/rejects_excessive_expanded_size === RUN TestValidateSevenZipEntries/rejects_excessive_entry_count --- PASS: TestValidateSevenZipEntries (0.00s) --- PASS: TestValidateSevenZipEntries/accepts_portable_regular_files_and_directories (0.00s) --- PASS: TestValidateSevenZipEntries/rejects_.._outside.exe (0.00s) --- PASS: TestValidateSevenZipEntries/rejects__absolute.exe (0.00s) --- PASS: TestValidateSevenZipEntries/rejects_dir\..\outside.exe (0.00s) --- PASS: TestValidateSevenZipEntries/rejects_C:_outside.exe (0.00s) --- PASS: TestValidateSevenZipEntries/rejects_NUL.txt (0.00s) --- PASS: TestValidateSevenZipEntries/rejects_LPT9.log (0.00s) --- PASS: TestValidateSevenZipEntries/rejects_COM¹.txt (0.00s) --- PASS: TestValidateSevenZipEntries/rejects_dir_bad?.exe (0.00s) --- PASS: TestValidateSevenZipEntries/rejects_dir_trailing. (0.00s) --- PASS: TestValidateSevenZipEntries/rejects_dir__file.exe (0.00s) --- PASS: TestValidateSevenZipEntries/rejects_symlinks_and_other_special_files (0.00s) --- PASS: TestValidateSevenZipEntries/rejects_duplicate_and_case-colliding_names (0.00s) --- PASS: TestValidateSevenZipEntries/rejects_a_regular_file_used_as_a_parent_directory (0.00s) --- PASS: TestValidateSevenZipEntries/rejects_excessive_expanded_size (0.00s) --- PASS: TestValidateSevenZipEntries/rejects_excessive_entry_count (0.00s) === RUN TestRequireSevenZipHash --- PASS: TestRequireSevenZipHash (0.00s) === RUN TestMacBundleDiscoveryDoesNotExecuteApplications --- PASS: TestMacBundleDiscoveryDoesNotExecuteApplications (0.05s) === RUN TestMacDeniedBundleInstallPreservesConfiguration macos_permission_darwin_test.go:22: requires a standard account without write access to /Applications --- SKIP: TestMacDeniedBundleInstallPreservesConfiguration (0.00s) === RUN TestMacBundleInstallPreservesExistingConfig macos_reinstall_darwin_test.go:21: requires an explicitly disposable Mac /Applications destination --- SKIP: TestMacBundleInstallPreservesExistingConfig (0.00s) === RUN TestManagerShortcutPreservesInstalledExecutable --- PASS: TestManagerShortcutPreservesInstalledExecutable (0.00s) === RUN TestInstallModernZAppliesManagedScalingDefaults --- PASS: TestInstallModernZAppliesManagedScalingDefaults (0.38s) === RUN TestNewPackageManager === RUN TestNewPackageManager/Debian_family === RUN TestNewPackageManager/RHEL_family === RUN TestNewPackageManager/Arch_family === RUN TestNewPackageManager/SUSE_family --- PASS: TestNewPackageManager (0.00s) --- PASS: TestNewPackageManager/Debian_family (0.00s) --- PASS: TestNewPackageManager/RHEL_family (0.00s) --- PASS: TestNewPackageManager/Arch_family (0.00s) --- PASS: TestNewPackageManager/SUSE_family (0.00s) === RUN TestBuildInstallCommand === RUN TestBuildInstallCommand/Debian_install_with_privilege === RUN TestBuildInstallCommand/Debian_install_without_privilege === RUN TestBuildInstallCommand/RHEL_install_with_privilege === RUN TestBuildInstallCommand/RHEL_install_without_privilege === RUN TestBuildInstallCommand/Arch_install_with_privilege === RUN TestBuildInstallCommand/Arch_install_without_privilege --- PASS: TestBuildInstallCommand (0.00s) --- PASS: TestBuildInstallCommand/Debian_install_with_privilege (0.00s) --- PASS: TestBuildInstallCommand/Debian_install_without_privilege (0.00s) --- PASS: TestBuildInstallCommand/RHEL_install_with_privilege (0.00s) --- PASS: TestBuildInstallCommand/RHEL_install_without_privilege (0.00s) --- PASS: TestBuildInstallCommand/Arch_install_with_privilege (0.00s) --- PASS: TestBuildInstallCommand/Arch_install_without_privilege (0.00s) === RUN TestBuildUpdateCommand === RUN TestBuildUpdateCommand/Debian_update_with_privilege === RUN TestBuildUpdateCommand/Debian_update_without_privilege === RUN TestBuildUpdateCommand/RHEL_update_with_privilege === RUN TestBuildUpdateCommand/RHEL_update_without_privilege === RUN TestBuildUpdateCommand/RHEL_update_without_privilege#01 === RUN TestBuildUpdateCommand/Arch_update_with_privilege === RUN TestBuildUpdateCommand/Arch_update_without_privilege --- PASS: TestBuildUpdateCommand (0.00s) --- PASS: TestBuildUpdateCommand/Debian_update_with_privilege (0.00s) --- PASS: TestBuildUpdateCommand/Debian_update_without_privilege (0.00s) --- PASS: TestBuildUpdateCommand/RHEL_update_with_privilege (0.00s) --- PASS: TestBuildUpdateCommand/RHEL_update_without_privilege (0.00s) --- PASS: TestBuildUpdateCommand/RHEL_update_without_privilege#01 (0.00s) --- PASS: TestBuildUpdateCommand/Arch_update_with_privilege (0.00s) --- PASS: TestBuildUpdateCommand/Arch_update_without_privilege (0.00s) === RUN TestBuildUpgradeCommand === RUN TestBuildUpgradeCommand/Debian_upgrade_with_privilege_and_package === RUN TestBuildUpgradeCommand/Debian_upgrade_without_privilege_and_package === RUN TestBuildUpgradeCommand/Debian_upgrade_without_package === RUN TestBuildUpgradeCommand/Arch_upgrade_with_privilege --- PASS: TestBuildUpgradeCommand (0.00s) --- PASS: TestBuildUpgradeCommand/Debian_upgrade_with_privilege_and_package (0.00s) --- PASS: TestBuildUpgradeCommand/Debian_upgrade_without_privilege_and_package (0.00s) --- PASS: TestBuildUpgradeCommand/Debian_upgrade_without_package (0.00s) --- PASS: TestBuildUpgradeCommand/Arch_upgrade_with_privilege (0.00s) === RUN TestBuildRemoveCommand === RUN TestBuildRemoveCommand/Debian_remove_with_privilege === RUN TestBuildRemoveCommand/Debian_remove_without_privilege === RUN TestBuildRemoveCommand/RHEL_remove_with_privilege === RUN TestBuildRemoveCommand/Arch_remove_with_privilege --- PASS: TestBuildRemoveCommand (0.00s) --- PASS: TestBuildRemoveCommand/Debian_remove_with_privilege (0.00s) --- PASS: TestBuildRemoveCommand/Debian_remove_without_privilege (0.00s) --- PASS: TestBuildRemoveCommand/RHEL_remove_with_privilege (0.00s) --- PASS: TestBuildRemoveCommand/Arch_remove_with_privilege (0.00s) === RUN TestGetCommandName === RUN TestGetCommandName/Debian_family_command_name === RUN TestGetCommandName/RHEL_family_command_name === RUN TestGetCommandName/Arch_family_command_name === RUN TestGetCommandName/SUSE_family_command_name --- PASS: TestGetCommandName (0.00s) --- PASS: TestGetCommandName/Debian_family_command_name (0.00s) --- PASS: TestGetCommandName/RHEL_family_command_name (0.00s) --- PASS: TestGetCommandName/Arch_family_command_name (0.00s) --- PASS: TestGetCommandName/SUSE_family_command_name (0.00s) === RUN TestZypperCommands --- PASS: TestZypperCommands (0.00s) === RUN TestUnknownFamilyReturnsNilCommands --- PASS: TestUnknownFamilyReturnsNilCommands (0.00s) === RUN TestPacmanCommandsUseFullUpgrade --- PASS: TestPacmanCommandsUseFullUpgrade (0.00s) === RUN TestIsPackageManagerFamilySupported --- PASS: TestIsPackageManagerFamilySupported (0.00s) === RUN TestRecordedPackagePathDoesNotCreateDetectedDuplicate --- PASS: TestRecordedPackagePathDoesNotCreateDetectedDuplicate (0.02s) === RUN TestDiscoveryReconcilesOnlyKnownLegacyPackagePaths --- PASS: TestDiscoveryReconcilesOnlyKnownLegacyPackagePaths (0.05s) === RUN TestLegacyPathReconciliationPreservesStaleAndAmbiguousRecords --- PASS: TestLegacyPathReconciliationPreservesStaleAndAmbiguousRecords (0.06s) === RUN TestManagedMacReleaseSurvivesDevelopmentBundleMetadata --- PASS: TestManagedMacReleaseSurvivesDevelopmentBundleMetadata (0.02s) === RUN TestPOSIXShellQuoteTreatsAdversarialPathAsOneLiteralWord --- PASS: TestPOSIXShellQuoteTreatsAdversarialPathAsOneLiteralWord (0.00s) === RUN TestDesktopExecQuoteEscapesReservedSyntax --- PASS: TestDesktopExecQuoteEscapesReservedSyntax (0.00s) === RUN TestEmbeddedShortcutScriptAcceptsValuesOnlyAsArguments --- PASS: TestEmbeddedShortcutScriptAcceptsValuesOnlyAsArguments (0.00s) === RUN TestRecoveryRejectsForgedInstallerAuthority === RUN TestRecoveryRejectsForgedInstallerAuthority/legacy_applying === RUN TestRecoveryRejectsForgedInstallerAuthority/legacy_committed === RUN TestRecoveryRejectsForgedInstallerAuthority/same_target_invalid_signature === RUN TestRecoveryRejectsForgedInstallerAuthority/sibling_target === RUN TestRecoveryRejectsForgedInstallerAuthority/signed_journal_tampering --- PASS: TestRecoveryRejectsForgedInstallerAuthority (0.11s) --- PASS: TestRecoveryRejectsForgedInstallerAuthority/legacy_applying (0.02s) --- PASS: TestRecoveryRejectsForgedInstallerAuthority/legacy_committed (0.02s) --- PASS: TestRecoveryRejectsForgedInstallerAuthority/same_target_invalid_signature (0.03s) --- PASS: TestRecoveryRejectsForgedInstallerAuthority/sibling_target (0.02s) --- PASS: TestRecoveryRejectsForgedInstallerAuthority/signed_journal_tampering (0.03s) === RUN TestInstallerRecoveryDoesNotRecreateMissingAuthenticationKey --- PASS: TestInstallerRecoveryDoesNotRecreateMissingAuthenticationKey (0.02s) === RUN TestAuthenticatedInstallerRecoverySupportsSharedApplicationParent --- PASS: TestAuthenticatedInstallerRecoverySupportsSharedApplicationParent (0.05s) === RUN TestInstallerRecoveryRejectsWritableBackup --- PASS: TestInstallerRecoveryRejectsWritableBackup (0.02s) === RUN TestInstallerRecoveryRejectsAuthenticatedPublicReplayAfterCommit --- PASS: TestInstallerRecoveryRejectsAuthenticatedPublicReplayAfterCommit (0.05s) === RUN TestInstallerPrivateRecoveryInventoryScopesDestinations --- PASS: TestInstallerPrivateRecoveryInventoryScopesDestinations (0.06s) === RUN TestInstallerRecoveryRejectsWritablePrivateInventory --- PASS: TestInstallerRecoveryRejectsWritablePrivateInventory (0.02s) === RUN TestInstallerRecoveryMissingBackupPreservesAllLiveTargets --- PASS: TestInstallerRecoveryMissingBackupPreservesAllLiveTargets (0.02s) === RUN TestInstallerRecoveryCanRepeatWithoutConsumingOriginal === RUN TestInstallerRecoveryCanRepeatWithoutConsumingOriginal/file === RUN TestInstallerRecoveryCanRepeatWithoutConsumingOriginal/directory --- PASS: TestInstallerRecoveryCanRepeatWithoutConsumingOriginal (0.12s) --- PASS: TestInstallerRecoveryCanRepeatWithoutConsumingOriginal/file (0.06s) --- PASS: TestInstallerRecoveryCanRepeatWithoutConsumingOriginal/directory (0.06s) === RUN TestUIRecoveryMissingBackupPreservesCurrentConfiguration --- PASS: TestUIRecoveryMissingBackupPreservesCurrentConfiguration (0.00s) === RUN TestStreamingCopyRejectsSameFileWithoutTruncation --- PASS: TestStreamingCopyRejectsSameFileWithoutTruncation (0.01s) === RUN TestUpdateUOSCPreservesCompleteConfigAndCreatesBackup --- PASS: TestUpdateUOSCPreservesCompleteConfigAndCreatesBackup (0.11s) === RUN TestUOSCFontsCommitAndRollback === RUN TestUOSCFontsCommitAndRollback/fail=false === RUN TestUOSCFontsCommitAndRollback/fail=true --- PASS: TestUOSCFontsCommitAndRollback (0.20s) --- PASS: TestUOSCFontsCommitAndRollback/fail=false (0.11s) --- PASS: TestUOSCFontsCommitAndRollback/fail=true (0.10s) === RUN TestReadUIConfigSnapshotErrorPaths === RUN TestReadUIConfigSnapshotErrorPaths/directory_is_not_a_regular_file === RUN TestReadUIConfigSnapshotErrorPaths/missing_file_yields_a_nil_snapshot --- PASS: TestReadUIConfigSnapshotErrorPaths (0.00s) --- PASS: TestReadUIConfigSnapshotErrorPaths/directory_is_not_a_regular_file (0.00s) --- PASS: TestReadUIConfigSnapshotErrorPaths/missing_file_yields_a_nil_snapshot (0.00s) === RUN TestStoreUIConfigBaselineErrorPath --- PASS: TestStoreUIConfigBaselineErrorPath (0.00s) === RUN TestUIConfigRelativePathUnknownType --- PASS: TestUIConfigRelativePathUnknownType (0.00s) === RUN TestUIUpdatePreservesEditsMadeDuringStaging --- PASS: TestUIUpdatePreservesEditsMadeDuringStaging (0.13s) === RUN TestUIRecoveryRestoresVersionsAndBaselines --- PASS: TestUIRecoveryRestoresVersionsAndBaselines (0.12s) === RUN TestUICommitFailureRollsBackMetadataAndBaseline --- PASS: TestUICommitFailureRollsBackMetadataAndBaseline (0.11s) === RUN TestUIStagingCancellationLeavesLiveStateUntouched --- PASS: TestUIStagingCancellationLeavesLiveStateUntouched (0.02s) === RUN TestClosedUIPreparationCannotRemoveLiveFiles --- PASS: TestClosedUIPreparationCannotRemoveLiveFiles (0.01s) === RUN TestMacUIPrerequisiteFailurePrecedesBrewCommit --- PASS: TestMacUIPrerequisiteFailurePrecedesBrewCommit (0.01s) === RUN TestVerifyBLAKE3File === RUN TestVerifyBLAKE3File/correct_hash_passes === RUN TestVerifyBLAKE3File/wrong_hash_fails_with_descriptive_error === RUN TestVerifyBLAKE3File/missing_file_fails --- PASS: TestVerifyBLAKE3File (0.00s) --- PASS: TestVerifyBLAKE3File/correct_hash_passes (0.00s) --- PASS: TestVerifyBLAKE3File/wrong_hash_fails_with_descriptive_error (0.00s) --- PASS: TestVerifyBLAKE3File/missing_file_fails (0.00s) === RUN TestVerifyBLAKE3WithOutput === RUN TestVerifyBLAKE3WithOutput/correct_hash_passes === RUN TestVerifyBLAKE3WithOutput/wrong_hash_fails_hard === RUN TestVerifyBLAKE3WithOutput/empty_hash_fails_closed === RUN TestVerifyBLAKE3WithOutput/placeholder_hash_fails_closed --- PASS: TestVerifyBLAKE3WithOutput (0.01s) --- PASS: TestVerifyBLAKE3WithOutput/correct_hash_passes (0.00s) --- PASS: TestVerifyBLAKE3WithOutput/wrong_hash_fails_hard (0.00s) --- PASS: TestVerifyBLAKE3WithOutput/empty_hash_fails_closed (0.00s) --- PASS: TestVerifyBLAKE3WithOutput/placeholder_hash_fails_closed (0.00s) === RUN TestVerifyDownload === RUN TestVerifyDownload/nil_command_runner_with_correct_hash_passes === RUN TestVerifyDownload/nil_command_runner_with_wrong_hash_fails === RUN TestVerifyDownload/nil_command_runner_with_empty_hash_fails_closed --- PASS: TestVerifyDownload (0.00s) --- PASS: TestVerifyDownload/nil_command_runner_with_correct_hash_passes (0.00s) --- PASS: TestVerifyDownload/nil_command_runner_with_wrong_hash_fails (0.00s) --- PASS: TestVerifyDownload/nil_command_runner_with_empty_hash_fails_closed (0.00s) === RUN TestDetectMPVInstallsInDirs === RUN TestDetectMPVInstallsInDirs/finds_mpv.exe_in_candidate_dirs === RUN TestDetectMPVInstallsInDirs/dedupes_by_cleaned_directory === RUN TestDetectMPVInstallsInDirs/falls_back_to_PATH_lookup === RUN TestDetectMPVInstallsInDirs/PATH_hit_deduped_against_candidate_dirs === RUN TestDetectMPVInstallsInDirs/lookPath_error_is_ignored === RUN TestDetectMPVInstallsInDirs/version_is_empty_without_exec_on_non-Windows === RUN TestDetectMPVInstallsInDirs/mpv.exe_that_is_a_directory_is_ignored --- PASS: TestDetectMPVInstallsInDirs (0.01s) --- PASS: TestDetectMPVInstallsInDirs/finds_mpv.exe_in_candidate_dirs (0.00s) --- PASS: TestDetectMPVInstallsInDirs/dedupes_by_cleaned_directory (0.00s) --- PASS: TestDetectMPVInstallsInDirs/falls_back_to_PATH_lookup (0.00s) --- PASS: TestDetectMPVInstallsInDirs/PATH_hit_deduped_against_candidate_dirs (0.00s) --- PASS: TestDetectMPVInstallsInDirs/lookPath_error_is_ignored (0.00s) --- PASS: TestDetectMPVInstallsInDirs/version_is_empty_without_exec_on_non-Windows (0.00s) --- PASS: TestDetectMPVInstallsInDirs/mpv.exe_that_is_a_directory_is_ignored (0.00s) === RUN TestDetectWindowsMPVInstalls_NonWindows --- PASS: TestDetectWindowsMPVInstalls_NonWindows (0.00s) === RUN TestWindowsDiscoveryNeverExecutesCandidate --- PASS: TestWindowsDiscoveryNeverExecutesCandidate (0.00s) === RUN TestSetInstallDir --- PASS: TestSetInstallDir (0.00s) === RUN TestMPCQTInstallerPowerShellWaitsAndPropagatesExitCode === PAUSE TestMPCQTInstallerPowerShellWaitsAndPropagatesExitCode === RUN TestFindMPCQTInstallation === RUN TestFindMPCQTInstallation/documented_program_files_location === RUN TestFindMPCQTInstallation/registry_install_location === RUN TestFindMPCQTInstallation/registry_display_icon === RUN TestFindMPCQTInstallation/unrelated_registry_entry_is_ignored === RUN TestFindMPCQTInstallation/successful_process_without_durable_install --- PASS: TestFindMPCQTInstallation (0.00s) --- PASS: TestFindMPCQTInstallation/documented_program_files_location (0.00s) --- PASS: TestFindMPCQTInstallation/registry_install_location (0.00s) --- PASS: TestFindMPCQTInstallation/registry_display_icon (0.00s) --- PASS: TestFindMPCQTInstallation/unrelated_registry_entry_is_ignored (0.00s) --- PASS: TestFindMPCQTInstallation/successful_process_without_durable_install (0.00s) === RUN TestFindMPCQTUninstallerHonorsSelectionAndRejectsAmbiguity --- PASS: TestFindMPCQTUninstallerHonorsSelectionAndRejectsAmbiguity (0.00s) === RUN TestValidateWindowsInstallOwnership === RUN TestValidateWindowsInstallOwnership/new_directory_may_contain_only_preserved_trees === RUN TestValidateWindowsInstallOwnership/populated_unowned_directory_is_rejected --- PASS: TestValidateWindowsInstallOwnership (0.00s) --- PASS: TestValidateWindowsInstallOwnership/new_directory_may_contain_only_preserved_trees (0.00s) --- PASS: TestValidateWindowsInstallOwnership/populated_unowned_directory_is_rejected (0.00s) === RUN TestWindowsFreshInstallPreservesManagerArtifacts --- PASS: TestWindowsFreshInstallPreservesManagerArtifacts (0.13s) === RUN TestPrepareWindowsOwnershipManifestStagesExactFiles --- PASS: TestPrepareWindowsOwnershipManifestStagesExactFiles (0.01s) === RUN TestUninstallOwnedWindowsPayloadPreservesUnownedContent --- PASS: TestUninstallOwnedWindowsPayloadPreservesUnownedContent (0.00s) === RUN TestUninstallOwnedWindowsPayloadFailsClosed === RUN TestUninstallOwnedWindowsPayloadFailsClosed/missing_manifest === RUN TestUninstallOwnedWindowsPayloadFailsClosed/traversal_entry === RUN TestUninstallOwnedWindowsPayloadFailsClosed/linked_intermediate_directory --- PASS: TestUninstallOwnedWindowsPayloadFailsClosed (0.01s) --- PASS: TestUninstallOwnedWindowsPayloadFailsClosed/missing_manifest (0.00s) --- PASS: TestUninstallOwnedWindowsPayloadFailsClosed/traversal_entry (0.00s) --- PASS: TestUninstallOwnedWindowsPayloadFailsClosed/linked_intermediate_directory (0.00s) === RUN TestLegacyWindowsOwnershipMigrationPreservesUnclaimedFiles === RUN TestLegacyWindowsOwnershipMigrationPreservesUnclaimedFiles/tracked_legacy === RUN TestLegacyWindowsOwnershipMigrationPreservesUnclaimedFiles/explicit_adoption --- PASS: TestLegacyWindowsOwnershipMigrationPreservesUnclaimedFiles (0.30s) --- PASS: TestLegacyWindowsOwnershipMigrationPreservesUnclaimedFiles/tracked_legacy (0.15s) --- PASS: TestLegacyWindowsOwnershipMigrationPreservesUnclaimedFiles/explicit_adoption (0.15s) === RUN TestUnownedOverlayPreservationFailureRollsBack --- PASS: TestUnownedOverlayPreservationFailureRollsBack (0.12s) === RUN TestOwnershipRejectsPreservationClaimsAndTrailingData --- PASS: TestOwnershipRejectsPreservationClaimsAndTrailingData (0.00s) === RUN TestDisplayNameIsMPV === RUN TestDisplayNameIsMPV/mpv === RUN TestDisplayNameIsMPV/MPV === RUN TestDisplayNameIsMPV/mpv_0.38.0 === RUN TestDisplayNameIsMPV/MPV_Player === RUN TestDisplayNameIsMPV/mpv.io_media_player === RUN TestDisplayNameIsMPV/mpv.net === RUN TestDisplayNameIsMPV/VLC_media_player === RUN TestDisplayNameIsMPV/SMPlayer === RUN TestDisplayNameIsMPV/mpvnet === RUN TestDisplayNameIsMPV/MPC-HC === RUN TestDisplayNameIsMPV/Improved_player === RUN TestDisplayNameIsMPV/#00 --- PASS: TestDisplayNameIsMPV (0.00s) --- PASS: TestDisplayNameIsMPV/mpv (0.00s) --- PASS: TestDisplayNameIsMPV/MPV (0.00s) --- PASS: TestDisplayNameIsMPV/mpv_0.38.0 (0.00s) --- PASS: TestDisplayNameIsMPV/MPV_Player (0.00s) --- PASS: TestDisplayNameIsMPV/mpv.io_media_player (0.00s) --- PASS: TestDisplayNameIsMPV/mpv.net (0.00s) --- PASS: TestDisplayNameIsMPV/VLC_media_player (0.00s) --- PASS: TestDisplayNameIsMPV/SMPlayer (0.00s) --- PASS: TestDisplayNameIsMPV/mpvnet (0.00s) --- PASS: TestDisplayNameIsMPV/MPC-HC (0.00s) --- PASS: TestDisplayNameIsMPV/Improved_player (0.00s) --- PASS: TestDisplayNameIsMPV/#00 (0.00s) === RUN TestParseDisplayIconPath === RUN TestParseDisplayIconPath/plain_path === RUN TestParseDisplayIconPath/quoted_with_icon_index === RUN TestParseDisplayIconPath/quoted_without_index === RUN TestParseDisplayIconPath/unquoted_negative_index === RUN TestParseDisplayIconPath/comma_inside_path_is_preserved === RUN TestParseDisplayIconPath/non-numeric_suffix_is_preserved === RUN TestParseDisplayIconPath/env_var_expanded === RUN TestParseDisplayIconPath/env_var_case-insensitive === RUN TestParseDisplayIconPath/unknown_env_var_untouched === RUN TestParseDisplayIconPath/empty === RUN TestParseDisplayIconPath/whitespace --- PASS: TestParseDisplayIconPath (0.00s) --- PASS: TestParseDisplayIconPath/plain_path (0.00s) --- PASS: TestParseDisplayIconPath/quoted_with_icon_index (0.00s) --- PASS: TestParseDisplayIconPath/quoted_without_index (0.00s) --- PASS: TestParseDisplayIconPath/unquoted_negative_index (0.00s) --- PASS: TestParseDisplayIconPath/comma_inside_path_is_preserved (0.00s) --- PASS: TestParseDisplayIconPath/non-numeric_suffix_is_preserved (0.00s) --- PASS: TestParseDisplayIconPath/env_var_expanded (0.00s) --- PASS: TestParseDisplayIconPath/env_var_case-insensitive (0.00s) --- PASS: TestParseDisplayIconPath/unknown_env_var_untouched (0.00s) --- PASS: TestParseDisplayIconPath/empty (0.00s) --- PASS: TestParseDisplayIconPath/whitespace (0.00s) === RUN TestIsMPVUninstallEntry === RUN TestIsMPVUninstallEntry/display_name_match === RUN TestIsMPVUninstallEntry/icon_mpv.exe_match_despite_unrelated_name === RUN TestIsMPVUninstallEntry/quoted_icon_with_index === RUN TestIsMPVUninstallEntry/install_location_segment_match === RUN TestIsMPVUninstallEntry/unrelated_media_player_rejected === RUN TestIsMPVUninstallEntry/location_segment_must_match_exactly === RUN TestIsMPVUninstallEntry/empty_entry_rejected --- PASS: TestIsMPVUninstallEntry (0.00s) --- PASS: TestIsMPVUninstallEntry/display_name_match (0.00s) --- PASS: TestIsMPVUninstallEntry/icon_mpv.exe_match_despite_unrelated_name (0.00s) --- PASS: TestIsMPVUninstallEntry/quoted_icon_with_index (0.00s) --- PASS: TestIsMPVUninstallEntry/install_location_segment_match (0.00s) --- PASS: TestIsMPVUninstallEntry/unrelated_media_player_rejected (0.00s) --- PASS: TestIsMPVUninstallEntry/location_segment_must_match_exactly (0.00s) --- PASS: TestIsMPVUninstallEntry/empty_entry_rejected (0.00s) === RUN TestCandidateDirsFromEntry === RUN TestCandidateDirsFromEntry/install_location_preferred,_icon_dir_appended === RUN TestCandidateDirsFromEntry/icon_dir_fallback_when_no_install_location === RUN TestCandidateDirsFromEntry/install_location_env_expansion === RUN TestCandidateDirsFromEntry/no_candidates --- PASS: TestCandidateDirsFromEntry (0.00s) --- PASS: TestCandidateDirsFromEntry/install_location_preferred,_icon_dir_appended (0.00s) --- PASS: TestCandidateDirsFromEntry/icon_dir_fallback_when_no_install_location (0.00s) --- PASS: TestCandidateDirsFromEntry/install_location_env_expansion (0.00s) --- PASS: TestCandidateDirsFromEntry/no_candidates (0.00s) === RUN TestWindowsPathHelpers === RUN TestWindowsPathHelpers/base === RUN TestWindowsPathHelpers/dir === RUN TestWindowsPathHelpers/has_segment --- PASS: TestWindowsPathHelpers (0.00s) --- PASS: TestWindowsPathHelpers/base (0.00s) --- PASS: TestWindowsPathHelpers/dir (0.00s) --- PASS: TestWindowsPathHelpers/has_segment (0.00s) === RUN TestExpandWindowsEnvVars === RUN TestExpandWindowsEnvVars/no_percent_signs === RUN TestExpandWindowsEnvVars/known_variable === RUN TestExpandWindowsEnvVars/unknown_variable_untouched === RUN TestExpandWindowsEnvVars/unterminated_percent_kept --- PASS: TestExpandWindowsEnvVars (0.00s) --- PASS: TestExpandWindowsEnvVars/no_percent_signs (0.00s) --- PASS: TestExpandWindowsEnvVars/known_variable (0.00s) --- PASS: TestExpandWindowsEnvVars/unknown_variable_untouched (0.00s) --- PASS: TestExpandWindowsEnvVars/unterminated_percent_kept (0.00s) === RUN TestMPVRegistryInstalls === RUN TestMPVRegistryInstalls/empty_input === RUN TestMPVRegistryInstalls/non-mpv_entries_filtered_out === RUN TestMPVRegistryInstalls/duplicate_hives_deduped_case-insensitively === RUN TestMPVRegistryInstalls/richer_duplicate_wins_the_version === RUN TestMPVRegistryInstalls/install_location_and_icon_dir_both_become_candidates === RUN TestMPVRegistryInstalls/mpv_entry_without_any_directory_yields_nothing --- PASS: TestMPVRegistryInstalls (0.00s) --- PASS: TestMPVRegistryInstalls/empty_input (0.00s) --- PASS: TestMPVRegistryInstalls/non-mpv_entries_filtered_out (0.00s) --- PASS: TestMPVRegistryInstalls/duplicate_hives_deduped_case-insensitively (0.00s) --- PASS: TestMPVRegistryInstalls/richer_duplicate_wins_the_version (0.00s) --- PASS: TestMPVRegistryInstalls/install_location_and_icon_dir_both_become_candidates (0.00s) --- PASS: TestMPVRegistryInstalls/mpv_entry_without_any_directory_yields_nothing (0.00s) === RUN TestDetectWindowsMPVInstallsCore === RUN TestDetectWindowsMPVInstallsCore/registry-only_install_detected_with_DisplayVersion_fallback === RUN TestDetectWindowsMPVInstallsCore/install_dir_recovered_from_DisplayIcon === RUN TestDetectWindowsMPVInstallsCore/registry_candidate_deduped_against_path_scan === RUN TestDetectWindowsMPVInstallsCore/registry_candidate_without_on-disk_mpv.exe_ignored === RUN TestDetectWindowsMPVInstallsCore/unrelated_player_entry_ignored === RUN TestDetectWindowsMPVInstallsCore/nil_provider_keeps_plain_directory_scan --- PASS: TestDetectWindowsMPVInstallsCore (0.01s) --- PASS: TestDetectWindowsMPVInstallsCore/registry-only_install_detected_with_DisplayVersion_fallback (0.00s) --- PASS: TestDetectWindowsMPVInstallsCore/install_dir_recovered_from_DisplayIcon (0.00s) --- PASS: TestDetectWindowsMPVInstallsCore/registry_candidate_deduped_against_path_scan (0.00s) --- PASS: TestDetectWindowsMPVInstallsCore/registry_candidate_without_on-disk_mpv.exe_ignored (0.00s) --- PASS: TestDetectWindowsMPVInstallsCore/unrelated_player_entry_ignored (0.00s) --- PASS: TestDetectWindowsMPVInstallsCore/nil_provider_keeps_plain_directory_scan (0.00s) === CONT TestMPCQTInstallerPowerShellWaitsAndPropagatesExitCode --- PASS: TestMPCQTInstallerPowerShellWaitsAndPropagatesExitCode (0.00s) PASS === RUN TestBindingsListLoadsFromInputConf --- PASS: TestBindingsListLoadsFromInputConf (0.01s) === RUN TestBindingsEscReturnsToPresetList --- PASS: TestBindingsEscReturnsToPresetList (0.01s) === RUN TestEditBindingInvalidCommandKeepsState --- PASS: TestEditBindingInvalidCommandKeepsState (0.01s) === RUN TestEditBindingConflictPromptAndOverwrite --- PASS: TestEditBindingConflictPromptAndOverwrite (0.02s) === RUN TestAddBindingFlow --- PASS: TestAddBindingFlow (0.02s) === RUN TestAddBindingExistingKeyPromptsOverwrite --- PASS: TestAddBindingExistingKeyPromptsOverwrite (0.01s) === RUN TestDeleteBinding --- PASS: TestDeleteBinding (0.02s) === RUN TestBindingsEditorEntryFromPresetList --- PASS: TestBindingsEditorEntryFromPresetList (0.01s) === RUN TestInstallPathEditInvalidKeepsState --- PASS: TestInstallPathEditInvalidKeepsState (0.00s) === RUN TestInstallPathSetAndReset --- PASS: TestInstallPathSetAndReset (0.02s) === RUN TestInstallPathEscReturnsToConfigOptions --- PASS: TestInstallPathEscReturnsToConfigOptions (0.01s) === RUN TestConfigOptionsContainsNewEntries --- PASS: TestConfigOptionsContainsNewEntries (0.02s) === RUN TestLoadJobHistoryRecordsMissingFile --- PASS: TestLoadJobHistoryRecordsMissingFile (0.00s) === RUN TestLoadJobHistoryRecordsNewestFirst --- PASS: TestLoadJobHistoryRecordsNewestFirst (0.00s) === RUN TestLoadJobHistoryRecordsCorrupt --- PASS: TestLoadJobHistoryRecordsCorrupt (0.00s) === RUN TestJobHistoryItemDisplay --- PASS: TestJobHistoryItemDisplay (0.00s) === RUN TestJobHistoryListLoadsRecords --- PASS: TestJobHistoryListLoadsRecords (0.01s) === RUN TestJobHistoryEnterShowsDetailAndEscReturns --- PASS: TestJobHistoryEnterShowsDetailAndEscReturns (0.01s) === RUN TestJobHistoryEmptyAndCorrupt --- PASS: TestJobHistoryEmptyAndCorrupt (0.01s) === RUN TestMainMenuHasHistoryAndLogsEntries --- PASS: TestMainMenuHasHistoryAndLogsEntries (0.00s) === RUN TestCmdDoneRecordsSuccessfulInstall --- PASS: TestCmdDoneRecordsSuccessfulInstall (0.02s) === RUN TestCmdDoneRecordsFailedUninstall --- PASS: TestCmdDoneRecordsFailedUninstall (0.01s) === RUN TestCmdDoneRecordsSuccessfulUpdate --- PASS: TestCmdDoneRecordsSuccessfulUpdate (0.01s) === RUN TestRecordJobHistoryPersistsPartialOutcome --- PASS: TestRecordJobHistoryPersistsPartialOutcome (0.01s) === RUN TestCmdDoneSkipsNonJobOperations --- PASS: TestCmdDoneSkipsNonJobOperations (0.01s) === RUN TestTUIWrittenRecordsLoadInHistoryView --- PASS: TestTUIWrittenRecordsLoadInHistoryView (0.02s) === RUN TestKeyCodeClassifiesBubbleTeaV2Events === RUN TestKeyCodeClassifiesBubbleTeaV2Events/enter === RUN TestKeyCodeClassifiesBubbleTeaV2Events/printable_text === RUN TestKeyCodeClassifiesBubbleTeaV2Events/control_c === RUN TestKeyCodeClassifiesBubbleTeaV2Events/control_up --- PASS: TestKeyCodeClassifiesBubbleTeaV2Events (0.00s) --- PASS: TestKeyCodeClassifiesBubbleTeaV2Events/enter (0.00s) --- PASS: TestKeyCodeClassifiesBubbleTeaV2Events/printable_text (0.00s) --- PASS: TestKeyCodeClassifiesBubbleTeaV2Events/control_c (0.00s) --- PASS: TestKeyCodeClassifiesBubbleTeaV2Events/control_up (0.00s) === RUN TestKeyTextRunesPreservesUnicode --- PASS: TestKeyTextRunesPreservesUnicode (0.00s) === RUN TestRemoveLastUTF8Rune === PAUSE TestRemoveLastUTF8Rune === RUN TestApplyLanguagePreferencesCopiesBackupAndPreservesLiveConfig --- PASS: TestApplyLanguagePreferencesCopiesBackupAndPreservesLiveConfig (0.02s) === RUN TestApplyLanguagePreferencesAbortsWhenBackupFails --- PASS: TestApplyLanguagePreferencesAbortsWhenBackupFails (0.00s) === RUN TestWindowResizeReflowsEveryListAndClampsSmallTerminals --- PASS: TestWindowResizeReflowsEveryListAndClampsSmallTerminals (0.01s) === RUN TestFilterEnterDoesNotDispatchSelectedUninstall --- PASS: TestFilterEnterDoesNotDispatchSelectedUninstall (0.00s) === RUN TestFilteredEscapeClearsFilterWithoutNavigating --- PASS: TestFilteredEscapeClearsFilterWithoutNavigating (0.00s) === RUN TestReadLogTailSmallFile --- PASS: TestReadLogTailSmallFile (0.00s) === RUN TestReadLogTailKeepsLastLines --- PASS: TestReadLogTailKeepsLastLines (0.00s) === RUN TestReadLogTailByteCapDropsPartialLine --- PASS: TestReadLogTailByteCapDropsPartialLine (0.00s) === RUN TestReadLogTailMissingFile --- PASS: TestReadLogTailMissingFile (0.00s) === RUN TestLogsViewerWithoutLogger --- PASS: TestLogsViewerWithoutLogger (0.00s) === RUN TestWebUIToggleShortcutPreference --- PASS: TestWebUIToggleShortcutPreference (0.02s) === RUN TestErrorViewEnterPerformsAdvertisedExit --- PASS: TestErrorViewEnterPerformsAdvertisedExit (0.00s) === RUN TestScreenshotTextInputRejectsConfigInjectionWithoutLeavingEditor --- PASS: TestScreenshotTextInputRejectsConfigInjectionWithoutLeavingEditor (0.00s) === RUN TestHotkeyPresetApplyCannotBeStartedTwice --- PASS: TestHotkeyPresetApplyCannotBeStartedTwice (0.01s) === RUN TestPackageInfoRowExplainsExternalUpdateAction --- PASS: TestPackageInfoRowExplainsExternalUpdateAction (0.00s) === RUN TestWrappedPostInstallMessageIsAControlFlowSuccess --- PASS: TestWrappedPostInstallMessageIsAControlFlowSuccess (0.00s) === RUN TestViewportWrapperDoesNotDisappearBeforeFirstResize --- PASS: TestViewportWrapperDoesNotDisappearBeforeFirstResize (0.00s) === RUN TestSharedScreenshotValidationMatchesTUIKeys --- PASS: TestSharedScreenshotValidationMatchesTUIKeys (0.00s) === RUN TestManagerUpdateCompletionRestartsAndQuits --- PASS: TestManagerUpdateCompletionRestartsAndQuits (0.00s) === RUN TestManagerUpdateEscapeCancelsPreparedTransaction --- PASS: TestManagerUpdateEscapeCancelsPreparedTransaction (0.00s) === RUN TestManagerUpdateRestartFailureCanRetry --- PASS: TestManagerUpdateRestartFailureCanRetry (0.00s) === RUN TestManagerUpdateFailureReturnsToMenu --- PASS: TestManagerUpdateFailureReturnsToMenu (0.00s) === RUN TestOrdinaryClientUpdateDoesNotQuitOrRequestManagerRestart --- PASS: TestOrdinaryClientUpdateDoesNotQuitOrRequestManagerRestart (0.00s) === RUN TestManagerUpdateStreamPreservesStructuredProgress --- PASS: TestManagerUpdateStreamPreservesStructuredProgress (0.00s) === RUN TestDownloadProgressFraction === PAUSE TestDownloadProgressFraction === RUN TestModernZListShowsDefaultsUnmodified --- PASS: TestModernZListShowsDefaultsUnmodified (0.00s) === RUN TestModernZBoolToggle --- PASS: TestModernZBoolToggle (0.03s) === RUN TestModernZChoiceCycle --- PASS: TestModernZChoiceCycle (0.01s) === RUN TestModernZScalingOptionsAreUserFriendly --- PASS: TestModernZScalingOptionsAreUserFriendly (0.01s) === RUN TestModernZIntEditValidation --- PASS: TestModernZIntEditValidation (0.01s) === RUN TestModernZResetToDefault --- PASS: TestModernZResetToDefault (0.02s) === RUN TestModernZEscReturnsToConfigOptions --- PASS: TestModernZEscReturnsToConfigOptions (0.00s) === RUN TestModernZScalingMigrationIsActionableInTUI --- PASS: TestModernZScalingMigrationIsActionableInTUI (0.05s) === RUN TestProgramExitCancelsAndJoinsReleaseRefresh --- PASS: TestProgramExitCancelsAndJoinsReleaseRefresh (0.01s) === RUN TestPresetCommitOwnsShutdownUntilReplacementCompletes --- PASS: TestPresetCommitOwnsShutdownUntilReplacementCompletes (0.12s) === RUN TestInstallerForTUIOperationUsesExactDestinationWithoutMutatingBase --- PASS: TestInstallerForTUIOperationUsesExactDestinationWithoutMutatingBase (0.00s) === RUN TestMPCQTUpdatePersistsVersionBySelectedStableID --- PASS: TestMPCQTUpdatePersistsVersionBySelectedStableID (0.03s) === RUN TestUpdateCheckResultCarriesStableIdentityIntoTUIItem --- PASS: TestUpdateCheckResultCarriesStableIdentityIntoTUIItem (0.01s) === RUN TestOperationStreamDrainsTrailingOutputBeforeTerminalResult --- PASS: TestOperationStreamDrainsTrailingOutputBeforeTerminalResult (0.01s) === RUN TestCtrlCCancelsAndJoinsWorkerBeforeQuit --- PASS: TestCtrlCCancelsAndJoinsWorkerBeforeQuit (0.01s) === RUN TestEscapeCancelsAndReturnsOnlyAfterWorkerStops --- PASS: TestEscapeCancelsAndReturnsOnlyAfterWorkerStops (0.00s) === RUN TestTUICancellationWaitsForCommittedWorkerWithoutCancellingIt --- PASS: TestTUICancellationWaitsForCommittedWorkerWithoutCancellingIt (0.00s) === RUN TestRecoveredPanicStackIsDebugOnly --- PASS: TestRecoveredPanicStackIsDebugOnly (0.00s) === RUN TestManagerPATHInstallIsIdempotentAndRemovalCleansState --- PASS: TestManagerPATHInstallIsIdempotentAndRemovalCleansState (0.14s) === RUN TestManagerPATHInstallRollsBackWhenShellConfigCannotBeReplaced --- PASS: TestManagerPATHInstallRollsBackWhenShellConfigCannotBeReplaced (0.03s) === RUN TestRemoveManagedPATHTextCleansDuplicateBlocksAndLegacyAlias --- PASS: TestRemoveManagedPATHTextCleansDuplicateBlocksAndLegacyAlias (0.00s) === RUN TestPostUpdateHealthAcknowledgementIsDeferredUntilProgramInit --- PASS: TestPostUpdateHealthAcknowledgementIsDeferredUntilProgramInit (0.00s) === RUN TestPostUpdateHealthAcknowledgementFailureQuitsForRollback --- PASS: TestPostUpdateHealthAcknowledgementFailureQuitsForRollback (0.00s) === RUN TestProgramSIGTERMDrainsCommittedWorker --- PASS: TestProgramSIGTERMDrainsCommittedWorker (0.18s) === RUN TestProgramExitDrainsOwnedWorker === RUN TestProgramExitDrainsOwnedWorker/cancel_staging === RUN TestProgramExitDrainsOwnedWorker/cancel_committed_operation === RUN TestProgramExitDrainsOwnedWorker/terminal_failure_during_commit === RUN TestProgramExitDrainsOwnedWorker/committed_setup_failure_during_shutdown --- PASS: TestProgramExitDrainsOwnedWorker (0.41s) --- PASS: TestProgramExitDrainsOwnedWorker/cancel_staging (0.03s) --- PASS: TestProgramExitDrainsOwnedWorker/cancel_committed_operation (0.13s) --- PASS: TestProgramExitDrainsOwnedWorker/terminal_failure_during_commit (0.12s) --- PASS: TestProgramExitDrainsOwnedWorker/committed_setup_failure_during_shutdown (0.14s) === RUN TestReleaseLoaderRefreshesInstallerFromOneManifest --- PASS: TestReleaseLoaderRefreshesInstallerFromOneManifest (0.01s) === RUN TestReleaseLoaderFailureLeavesExplicitOfflineState --- PASS: TestReleaseLoaderFailureLeavesExplicitOfflineState (0.01s) === RUN TestConfigOptionsContainsResetManagerData --- PASS: TestConfigOptionsContainsResetManagerData (0.01s) === RUN TestResetManagerDataConfirmResetsConfig --- PASS: TestResetManagerDataConfirmResetsConfig (0.04s) === RUN TestResetManagerDataCancelKeepsConfig --- PASS: TestResetManagerDataCancelKeepsConfig (0.03s) === RUN TestSanitizeTerminalTextStripsControlSequences === PAUSE TestSanitizeTerminalTextStripsControlSequences === RUN TestBindingCommentsAreSanitizedOnlyAtDisplayBoundary --- PASS: TestBindingCommentsAreSanitizedOnlyAtDisplayBoundary (0.00s) === RUN TestInstallOutputIsSanitizedAndBounded --- PASS: TestInstallOutputIsSanitizedAndBounded (0.01s) === RUN TestInstallingOutputKeyboardScrollControlsAutoFollow --- PASS: TestInstallingOutputKeyboardScrollControlsAutoFollow (0.00s) === RUN TestUIChangeTargetsExactSelectedAppWithoutDuplicateInstallRecord --- PASS: TestUIChangeTargetsExactSelectedAppWithoutDuplicateInstallRecord (0.12s) === RUN TestUOSCSettingsListAndChoiceEditing --- PASS: TestUOSCSettingsListAndChoiceEditing (0.02s) === RUN TestUOSCSettingsValidationAndReset --- PASS: TestUOSCSettingsValidationAndReset (0.04s) === RUN TestOperationWorkerConvertsPanicAndDisablesInteractiveSudo --- PASS: TestOperationWorkerConvertsPanicAndDisablesInteractiveSudo (0.00s) === CONT TestRemoveLastUTF8Rune === CONT TestSanitizeTerminalTextStripsControlSequences --- PASS: TestSanitizeTerminalTextStripsControlSequences (0.00s) === CONT TestDownloadProgressFraction --- PASS: TestRemoveLastUTF8Rune (0.00s) === RUN TestDownloadProgressFraction/empty === PAUSE TestDownloadProgressFraction/empty === RUN TestDownloadProgressFraction/negative_written === PAUSE TestDownloadProgressFraction/negative_written === RUN TestDownloadProgressFraction/half === PAUSE TestDownloadProgressFraction/half === RUN TestDownloadProgressFraction/complete === PAUSE TestDownloadProgressFraction/complete === RUN TestDownloadProgressFraction/clamps_overflow === PAUSE TestDownloadProgressFraction/clamps_overflow === CONT TestDownloadProgressFraction/clamps_overflow === CONT TestDownloadProgressFraction/empty === CONT TestDownloadProgressFraction/half === CONT TestDownloadProgressFraction/complete === CONT TestDownloadProgressFraction/negative_written --- PASS: TestDownloadProgressFraction (0.00s) --- PASS: TestDownloadProgressFraction/clamps_overflow (0.00s) --- PASS: TestDownloadProgressFraction/empty (0.00s) --- PASS: TestDownloadProgressFraction/half (0.00s) --- PASS: TestDownloadProgressFraction/complete (0.00s) --- PASS: TestDownloadProgressFraction/negative_written (0.00s) PASS === RUN TestConcurrentWriteFlushAndClose --- PASS: TestConcurrentWriteFlushAndClose (0.01s) === RUN TestModeGetters --- PASS: TestModeGetters (0.00s) === RUN TestVerboseModeMirrorsLogsToStderr --- PASS: TestVerboseModeMirrorsLogsToStderr (0.01s) === RUN TestRotateLogIfOversize --- PASS: TestRotateLogIfOversize (0.00s) === RUN TestLongSessionRotatesWithoutRestart --- PASS: TestLongSessionRotatesWithoutRestart (0.04s) === RUN TestOversizedLogRecordIsBounded --- PASS: TestOversizedLogRecordIsBounded (0.03s) === RUN TestClearUsesWriterFileOffset --- PASS: TestClearUsesWriterFileOffset (0.02s) === RUN TestClearAfterRotationPreservesBackupAndAppendWrites --- PASS: TestClearAfterRotationPreservesBackupAndAppendWrites (0.05s) === RUN TestBurstWritesAreNotDropped --- PASS: TestBurstWritesAreNotDropped (0.01s) PASS