File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -1940,6 +1940,28 @@ mod tests {
19401940 assert_eq ! ( output. matches( "Host openshell-demo" ) . count( ) , 1 ) ;
19411941 }
19421942
1943+ #[ test]
1944+ fn sync_error_retry_filter_accepts_transport_failures ( ) {
1945+ let err = miette:: miette!( "transport error: connection reset by peer" ) ;
1946+ assert ! ( sync_error_is_retryable( & err) ) ;
1947+ }
1948+
1949+ #[ test]
1950+ fn sync_error_retry_filter_accepts_transient_ssh_probe_failures ( ) {
1951+ let err = Err :: < ( ) , _ > ( miette:: miette!(
1952+ "ssh probe exited with status exit status: 255"
1953+ ) )
1954+ . wrap_err ( "failed to resolve sandbox source path '/sandbox/ha-sync/ha-sync-upload'" )
1955+ . unwrap_err ( ) ;
1956+ assert ! ( sync_error_is_retryable( & err) ) ;
1957+ }
1958+
1959+ #[ test]
1960+ fn sync_error_retry_filter_rejects_validation_failures ( ) {
1961+ let err = miette:: miette!( "sandbox source path '/etc/passwd' resolves outside /sandbox" ) ;
1962+ assert ! ( !sync_error_is_retryable( & err) ) ;
1963+ }
1964+
19431965 #[ test]
19441966 #[ allow( unsafe_code) ] // Test-only: env vars require unsafe in Rust 2024.
19451967 fn install_ssh_config_adds_include_once_and_updates_managed_file ( ) {
You can’t perform that action at this time.
0 commit comments