[INFO] cloning repository https://github.com/amoilanen/shell [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/amoilanen/shell" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Famoilanen%2Fshell", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Famoilanen%2Fshell'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 151b84ab24bdf147884547fc2244302ab82507d7 [INFO] testing amoilanen/shell against beta-2025-09-21 for beta-1.91-2 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Famoilanen%2Fshell" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/amoilanen/shell [INFO] finished tweaking git repo https://github.com/amoilanen/shell [INFO] tweaked toml for git repo https://github.com/amoilanen/shell written to /workspace/builds/worker-6-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/amoilanen/shell on toolchain beta-2025-09-21 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-09-21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/amoilanen/shell already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-09-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] c621ee19d32721035758228d1458c53afb4c611cf754ee77d3d8ff3ce83e9994 [INFO] running `Command { std: "docker" "start" "-a" "c621ee19d32721035758228d1458c53afb4c611cf754ee77d3d8ff3ce83e9994", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "c621ee19d32721035758228d1458c53afb4c611cf754ee77d3d8ff3ce83e9994", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c621ee19d32721035758228d1458c53afb4c611cf754ee77d3d8ff3ce83e9994", kill_on_drop: false }` [INFO] [stdout] c621ee19d32721035758228d1458c53afb4c611cf754ee77d3d8ff3ce83e9994 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 61c31aaf8b06fb42ae448eaf4360f7e378c92d792b48cba2aee7a70f16ee9f96 [INFO] running `Command { std: "docker" "start" "-a" "61c31aaf8b06fb42ae448eaf4360f7e378c92d792b48cba2aee7a70f16ee9f96", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.176 [INFO] [stderr] Compiling syn v2.0.75 [INFO] [stderr] Compiling bytes v1.7.1 [INFO] [stderr] Compiling termios v0.3.3 [INFO] [stderr] Compiling thiserror-impl v1.0.63 [INFO] [stderr] Compiling thiserror v1.0.63 [INFO] [stderr] Compiling codecrafters-shell v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 5.28s [INFO] running `Command { std: "docker" "inspect" "61c31aaf8b06fb42ae448eaf4360f7e378c92d792b48cba2aee7a70f16ee9f96", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "61c31aaf8b06fb42ae448eaf4360f7e378c92d792b48cba2aee7a70f16ee9f96", kill_on_drop: false }` [INFO] [stdout] 61c31aaf8b06fb42ae448eaf4360f7e378c92d792b48cba2aee7a70f16ee9f96 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] d2f0796c9eaf24800d5960a6a5032cbbb3a83f799c1ccdfffe816c4cf2fd3ff5 [INFO] running `Command { std: "docker" "start" "-a" "d2f0796c9eaf24800d5960a6a5032cbbb3a83f799c1ccdfffe816c4cf2fd3ff5", kill_on_drop: false }` [INFO] [stderr] Compiling codecrafters-shell v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 1.16s [INFO] running `Command { std: "docker" "inspect" "d2f0796c9eaf24800d5960a6a5032cbbb3a83f799c1ccdfffe816c4cf2fd3ff5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d2f0796c9eaf24800d5960a6a5032cbbb3a83f799c1ccdfffe816c4cf2fd3ff5", kill_on_drop: false }` [INFO] [stdout] d2f0796c9eaf24800d5960a6a5032cbbb3a83f799c1ccdfffe816c4cf2fd3ff5 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] baceff7917c831116d1fb54403246a07cef84e19494915f457c9a074d002c190 [INFO] running `Command { std: "docker" "start" "-a" "baceff7917c831116d1fb54403246a07cef84e19494915f457c9a074d002c190", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.05s [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/codecrafters_shell-eb5592c15d8318dd) [INFO] [stdout] [INFO] [stdout] running 100 tests [INFO] [stdout] test command::builtin::cd::tests::test_cd_absolute_path ... ok [INFO] [stdout] test command::builtin::cd::tests::test_cd_absolute_root ... ok [INFO] [stdout] test command::builtin::cd::tests::test_cd_empty_string_components ... ok [INFO] [stdout] test command::builtin::cd::tests::test_cd_current_directory ... ok [INFO] [stdout] test command::builtin::cd::tests::test_cd_no_args_goes_to_home ... ok [INFO] [stdout] test command::builtin::cd::tests::test_cd_multiple_parent_directories ... ok [INFO] [stdout] test command::builtin::cd::tests::test_cd_parent_directory ... ok [INFO] [stdout] test command::builtin::cd::tests::test_cd_complex_relative_path ... ok [INFO] [stdout] test command::builtin::exit::tests::test_parse_exit_code_empty_string ... ok [INFO] [stdout] test command::builtin::exit::tests::test_parse_exit_code_invalid_string ... ok [INFO] [stdout] test command::builtin::exit::tests::test_parse_exit_code_multiple_args ... ok [INFO] [stdout] test command::builtin::exit::tests::test_parse_exit_code_valid_positive ... ok [INFO] [stdout] test command::builtin::exit::tests::test_parse_exit_code_valid_zero ... ok [INFO] [stdout] test command::builtin::exit::tests::test_parse_exit_code_whitespace_single_number ... ok [INFO] [stdout] test command::exec::tests::test_build_command_no_args ... ok [INFO] [stdout] test command::builtin::cd::tests::test_cd_relative_path ... ok [INFO] [stdout] test command::exec::tests::test_build_command_simple ... ok [INFO] [stdout] test command::builtin::cd::tests::test_cd_tilde_expansion ... ok [INFO] [stdout] test command::builtin::cd::tests::test_cd_tilde_with_path ... ok [INFO] [stdout] test command::builtin::cd::tests::test_cd_whitespace_trimming ... ok [INFO] [stdout] test command::builtin::cd::tests::test_cd_with_current_and_parent_mix ... ok [INFO] [stdout] test command::builtin::exit::tests::test_parse_exit_code_overflow_number ... ok [INFO] [stdout] test command::builtin::exit::tests::test_parse_exit_code_invalid_mixed ... ok [INFO] [stdout] test command::builtin::exit::tests::test_parse_exit_code_multiple_numbers_in_string ... ok [INFO] [stdout] test command::builtin::exit::tests::test_parse_exit_code_valid_negative ... ok [INFO] [stdout] test command::exec::tests::test_build_command_with_directory ... ok [INFO] [stdout] test command::builtin::exit::tests::test_parse_exit_code_no_args ... ok [INFO] [stdout] test command::exec::tests::test_parse_executable_path_absolute_path ... ok [INFO] [stdout] test command::exec::tests::test_parse_executable_path_current_dir_executable ... ok [INFO] [stdout] test command::exec::tests::test_parse_executable_path_edge_cases ... ok [INFO] [stdout] test command::exec::tests::test_parse_executable_path_relative_path ... ok [INFO] [stdout] test command::builtin::exit::tests::test_parse_exit_code_floating_point ... ok [INFO] [stdout] test command::builtin::exit::tests::test_parse_exit_code_whitespace_only ... ok [INFO] [stdout] test command::exec::tests::test_parse_and_build_workflow ... ok [INFO] [stdout] test command::builtin::exit::tests::test_parse_exit_code_very_large_number ... ok [INFO] [stdout] test command::exec::tests::test_parse_executable_path_simple_command ... ok [INFO] [stdout] test command::exec::tests::test_parse_executable_path_root_executable ... ok [INFO] [stdout] test command::exec::tests::test_parse_executable_path_special_characters ... ok [INFO] [stdout] test command::tests::test_get_args ... ok [INFO] [stdout] test command::tests::test_parse_backslash_before_blank_inside_double_quotes ... ok [INFO] [stdout] test command::tests::test_parse_cat_with_double_quoted_file_paths ... ok [INFO] [stdout] test command::tests::test_parse_cat_with_quoted_file_paths ... ok [INFO] [stdout] test command::tests::test_parse_command_with_leading_trailing_spaces ... ok [INFO] [stdout] test command::exec::tests::test_build_command_multiple_args ... ok [INFO] [stdout] test command::tests::test_parse_complex_command_line ... ok [INFO] [stdout] test command::tests::test_parse_cat_with_stdout_wordier_redirect ... ok [INFO] [stdout] test command::tests::test_parse_cat_with_stdout_append_redirect_with_fd ... ok [INFO] [stdout] test command::tests::test_parse_double_quotes_next_to_each_other ... ok [INFO] [stdout] test command::exec::tests::test_stderr_redirect_empty_stderr ... ok [INFO] [stdout] test command::exec::tests::test_stdout_redirect_append_mode ... ok [INFO] [stdout] test command::exec::tests::test_stderr_redirect_to_file ... ok [INFO] [stdout] test command::exec::tests::test_stdout_redirect_to_file ... ok [INFO] [stdout] test command::exec::tests::test_stderr_redirect_with_stdout_redirect ... ok [INFO] [stdout] test command::exec::tests::test_stdout_redirect_empty_stdout ... ok [INFO] [stdout] test command::exec::tests::test_stderr_redirect_append_mode ... ok [INFO] [stdout] test command::tests::test_execute_quoted_command ... ok [INFO] [stdout] test command::tests::test_parse_echo_with_double_quoted_strings ... ok [INFO] [stdout] test command::tests::test_parse_echo_with_double_quoted_strings_containing_single_quotes ... ok [INFO] [stdout] test command::tests::test_parse_echo_with_multiple_args ... ok [INFO] [stdout] test command::tests::test_parse_echo_with_number ... ok [INFO] [stdout] test command::tests::test_parse_echo_with_single_quoted_string ... ok [INFO] [stdout] test command::tests::test_parse_empty_quoted_string ... ok [INFO] [stdout] test command::tests::test_parse_escape_sequences_in_double_quotes ... ok [INFO] [stdout] test command::tests::test_parse_escape_sequences_outside_quotes ... ok [INFO] [stdout] test command::tests::test_parse_escaped_backslash_inside_double_quotes ... ok [INFO] [stdout] test command::tests::test_parse_escaped_backtick_inside_double_quotes ... ok [INFO] [stdout] test command::tests::test_parse_escaped_characters_at_beginning_and_end ... ok [INFO] [stdout] test command::tests::test_parse_escaped_dollar_sign_inside_double_quotes ... ok [INFO] [stdout] test command::tests::test_parse_escaped_double_quote_inside_double_quotes ... ok [INFO] [stdout] test command::tests::test_parse_escaped_newline_inside_double_quotes ... ok [INFO] [stdout] test command::tests::test_parse_escaped_quotes_with_space ... ok [INFO] [stdout] test command::tests::test_parse_ls_with_both_append_redirects ... ok [INFO] [stdout] test command::tests::test_parse_empty_double_quoted_string ... ok [INFO] [stdout] test command::tests::test_parse_empty_command ... ok [INFO] [stdout] test command::tests::test_parse_ls_with_stderr_redirect ... ok [INFO] [stdout] test command::tests::test_parse_mixed_regular_and_append_redirects ... ok [INFO] [stdout] test command::tests::test_parse_multiple_backslashes_inside_double_quotes ... ok [INFO] [stdout] test command::tests::test_parse_multiple_escaped_characters_inside_double_quotes ... ok [INFO] [stdout] test command::tests::test_parse_no_space_stderr_redirect ... ok [INFO] [stdout] test command::tests::test_parse_no_space_stdout_redirect_with_fd ... ok [INFO] [stdout] test command::tests::test_parse_simple_command_no_args ... ok [INFO] [stdout] test command::tests::test_parse_quotes_next_to_each_other ... ok [INFO] [stdout] test command::tests::test_parse_ls_with_stderr_append_redirect ... ok [INFO] [stdout] test command::tests::test_parse_ls_with_stdout_and_stderr_redirect ... ok [INFO] [stdout] test command::tests::test_parse_ls_with_stdout_append_redirect ... ok [INFO] [stdout] test command::tests::test_parse_ls_with_stdout_redirect ... ok [INFO] [stdout] test command::tests::test_parse_mixed_quoted_and_unquoted_args ... ok [INFO] [stdout] test command::tests::test_parse_mixed_single_and_double_quotes ... ok [INFO] [stdout] test command::tests::test_parse_multiple_backslashes_before_blanks ... ok [INFO] [stdout] test command::tests::test_parse_multiple_spaces_between_args ... ok [INFO] [stdout] test command::tests::test_parse_no_space_multiple_redirects ... ok [INFO] [stdout] test command::tests::test_parse_no_space_stderr_append_redirect ... ok [INFO] [stdout] test command::tests::test_parse_no_space_stdout_append_redirect ... ok [INFO] [stdout] test command::tests::test_parse_no_space_stdout_append_redirect_with_fd ... ok [INFO] [stdout] test command::tests::test_parse_no_space_stdout_redirect ... ok [INFO] [stdout] test command::tests::test_parse_simple_escaped_quote ... ok [INFO] [stdout] test command::tests::test_parse_single_quote_in_middle ... ok [INFO] [stdout] test command::tests::test_parse_whitespace_only_command ... ok [INFO] [stdout] test input::autocompletion::tests::test_complete_builtin_commands ... ok [INFO] [stdout] test input::autocompletion::tests::test_find_common_prefix ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 100 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "baceff7917c831116d1fb54403246a07cef84e19494915f457c9a074d002c190", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "baceff7917c831116d1fb54403246a07cef84e19494915f457c9a074d002c190", kill_on_drop: false }` [INFO] [stdout] baceff7917c831116d1fb54403246a07cef84e19494915f457c9a074d002c190