[INFO] cloning repository https://github.com/ryykdev/rust-aws-lambda-example
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ryykdev/rust-aws-lambda-example" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fryykdev%2Frust-aws-lambda-example", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fryykdev%2Frust-aws-lambda-example'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 341c2a7ecab01d10aa5178604a821ec25e8b4730
[INFO] testing ryykdev/rust-aws-lambda-example against 1.94.0 for beta-1.95-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fryykdev%2Frust-aws-lambda-example" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/ryykdev/rust-aws-lambda-example
[INFO] finished tweaking git repo https://github.com/ryykdev/rust-aws-lambda-example
[INFO] tweaked toml for git repo https://github.com/ryykdev/rust-aws-lambda-example written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/ryykdev/rust-aws-lambda-example on toolchain 1.94.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.94.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/ryykdev/rust-aws-lambda-example 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" "+1.94.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded query_map v0.7.0
[INFO] [stderr]   Downloaded http-serde v2.1.1
[INFO] [stderr]   Downloaded lambda_runtime_api_client v0.11.1
[INFO] [stderr]   Downloaded lambda_runtime v0.13.0
[INFO] [stderr]   Downloaded lambda_http v0.13.0
[INFO] [stderr]   Downloaded aws_lambda_events v0.15.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.94.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 3f5a6ab1cf0d45eb4140ce122cb5e35c9f0d0fc7c3c258a2c480f2581f73d2de
[INFO] running `Command { std: "docker" "start" "-a" "3f5a6ab1cf0d45eb4140ce122cb5e35c9f0d0fc7c3c258a2c480f2581f73d2de", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "3f5a6ab1cf0d45eb4140ce122cb5e35c9f0d0fc7c3c258a2c480f2581f73d2de", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3f5a6ab1cf0d45eb4140ce122cb5e35c9f0d0fc7c3c258a2c480f2581f73d2de", kill_on_drop: false }`
[INFO] [stdout] 3f5a6ab1cf0d45eb4140ce122cb5e35c9f0d0fc7c3c258a2c480f2581f73d2de
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.94.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] fc291449af6b5607638c4fe27c3d38154018fb9936332ac01a03b2af7c6fee7f
[INFO] running `Command { std: "docker" "start" "-a" "fc291449af6b5607638c4fe27c3d38154018fb9936332ac01a03b2af7c6fee7f", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.103
[INFO] [stderr]    Compiling quote v1.0.41
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling memchr v2.7.6
[INFO] [stderr]    Compiling libc v0.2.177
[INFO] [stderr]    Compiling futures-sink v0.3.31
[INFO] [stderr]    Compiling serde_json v1.0.145
[INFO] [stderr]    Compiling futures-channel v0.3.31
[INFO] [stderr]    Compiling icu_properties_data v2.1.1
[INFO] [stderr]    Compiling log v0.4.28
[INFO] [stderr]    Compiling regex-syntax v0.8.8
[INFO] [stderr]    Compiling thread_local v1.1.9
[INFO] [stderr]    Compiling encoding_rs v0.8.35
[INFO] [stderr]    Compiling syn v2.0.108
[INFO] [stderr]    Compiling regex-automata v0.4.13
[INFO] [stderr]    Compiling socket2 v0.6.1
[INFO] [stderr]    Compiling mio v1.1.0
[INFO] [stderr]    Compiling serde_path_to_error v0.1.20
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling tracing-attributes v0.1.30
[INFO] [stderr]    Compiling pin-project-internal v1.1.10
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling async-stream-impl v0.3.6
[INFO] [stderr]    Compiling async-stream v0.3.6
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling yoke v0.8.1
[INFO] [stderr]    Compiling tracing v0.1.41
[INFO] [stderr]    Compiling pin-project v1.1.10
[INFO] [stderr]    Compiling zerovec v0.11.5
[INFO] [stderr]    Compiling zerotrie v0.2.3
[INFO] [stderr]    Compiling tinystr v0.8.2
[INFO] [stderr]    Compiling potential_utf v0.1.4
[INFO] [stderr]    Compiling icu_collections v2.1.1
[INFO] [stderr]    Compiling icu_locale_core v2.1.1
[INFO] [stderr]    Compiling icu_provider v2.1.1
[INFO] [stderr]    Compiling icu_normalizer v2.1.1
[INFO] [stderr]    Compiling icu_properties v2.1.1
[INFO] [stderr]    Compiling bytes v1.10.1
[INFO] [stderr]    Compiling tracing-serde v0.2.0
[INFO] [stderr]    Compiling query_map v0.7.0
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling tracing-subscriber v0.3.20
[INFO] [stderr]    Compiling tower v0.4.13
[INFO] [stderr]    Compiling futures-executor v0.3.31
[INFO] [stderr]    Compiling futures v0.3.31
[INFO] [stderr]    Compiling http v1.3.1
[INFO] [stderr]    Compiling tokio v1.48.0
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling url v2.5.7
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling http-serde v2.1.1
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling aws_lambda_events v0.15.1
[INFO] [stderr]    Compiling hyper v1.7.0
[INFO] [stderr]    Compiling tokio-stream v0.1.17
[INFO] [stderr]    Compiling hyper-util v0.1.17
[INFO] [stderr]    Compiling lambda_runtime_api_client v0.11.1
[INFO] [stderr]    Compiling lambda_runtime v0.13.0
[INFO] [stderr]    Compiling lambda_http v0.13.0
[INFO] [stderr]    Compiling rust-lambda-one v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 13s
[INFO] running `Command { std: "docker" "inspect" "fc291449af6b5607638c4fe27c3d38154018fb9936332ac01a03b2af7c6fee7f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fc291449af6b5607638c4fe27c3d38154018fb9936332ac01a03b2af7c6fee7f", kill_on_drop: false }`
[INFO] [stdout] fc291449af6b5607638c4fe27c3d38154018fb9936332ac01a03b2af7c6fee7f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.94.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ecda79084f4ba6af7f2fee24712bd1f666861ce5f1048fc65fc8f371784f02ac
[INFO] running `Command { std: "docker" "start" "-a" "ecda79084f4ba6af7f2fee24712bd1f666861ce5f1048fc65fc8f371784f02ac", kill_on_drop: false }`
[INFO] [stderr]    Compiling rust-lambda-one v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.30s
[INFO] running `Command { std: "docker" "inspect" "ecda79084f4ba6af7f2fee24712bd1f666861ce5f1048fc65fc8f371784f02ac", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ecda79084f4ba6af7f2fee24712bd1f666861ce5f1048fc65fc8f371784f02ac", kill_on_drop: false }`
[INFO] [stdout] ecda79084f4ba6af7f2fee24712bd1f666861ce5f1048fc65fc8f371784f02ac
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.94.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 7cf08d8d9cbdbceb161a73271da9f617b61dc3e80aae3b47e8bf8d20e7b84565
[INFO] running `Command { std: "docker" "start" "-a" "7cf08d8d9cbdbceb161a73271da9f617b61dc3e80aae3b47e8bf8d20e7b84565", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.24s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/rust_lambda_one-354a9dfa713f6f89)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test http_handler::tests::test_generic_http_handler ... FAILED
[INFO] [stdout] test http_handler::tests::test_http_handler_with_query_string ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- http_handler::tests::test_generic_http_handler stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'http_handler::tests::test_generic_http_handler' (16) panicked at src/http_handler.rs:45:9:
[INFO] [stdout] assertion `left == right` failed
[INFO] [stdout]   left: "<!DOCTYPE html>\n<html lang=\"en\">\n  <head>\n    <meta charset=\"utf-8\" />\n    <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\" />\n    <title>Digital Rain (Bottom-Up, All Colors)</title>\n    <style>\n      html,\n      body {\n        height: 100%;\n        margin: 0;\n        background: #000;\n        overflow: hidden;\n      }\n      canvas {\n        display: block;\n        width: 100%;\n        height: 100%;\n      }\n    </style>\n  </head>\n  <body>\n    <div\n      style=\"\n        position: absolute;\n        top: 0;\n        left: 0;\n        padding: 24px 32px;\n        z-index: 10;\n      \"\n    >\n      <span\n        style=\"\n          font-family: Courier Prime, Courier, monospace;\n          font-size: 2.5rem;\n          font-weight: bold;\n          color: #b1d4cb;\n          text-shadow: 0 0 5px #b1d4cb;\n          letter-spacing: 2px;\n        \"\n      >\n        Hello from AWS Lambda - by RyykDev\n      </span>\n      <br />\n      <form method=\"get\" style=\"display: inline\">\n        <label\n          style=\"\n            font-family: Courier Prime, Courier, monospace;\n            font-size: 1rem;\n            color: #b1d4cb;\n          \"\n        >\n          enter your name:\n          <input\n            name=\"name\"\n            type=\"text\"\n            style=\"background-color: transparent; border: none; border-bottom: 2px solid #b1d4cb; box-shadow: 0 4px 12px rgba(177,212,203,0.25); color: #b1d4cb; outline: none; padding: 2px 6px;\" oninput=\"if(this.value.trim()){this.style.backgroundColor='transparent'; this.style.boxShadow='none';}else{this.style.backgroundColor='transparent'; this.style.boxShadow='0 4px 12px rgba(177,212,203,0.25)';}\"\n          />\n        </label>\n        <button\n          type=\"submit\"\n          style=\"margin-left: 8px; padding: 6px 10px; font-weight: bold;background-color: transparent;color: #b1d4cb;box-shadow: none; border:none;\"\n        >\n          Go\n        </button>\n      </form>\n    </div>\n\n    <canvas id=\"c\"></canvas>\n\n    <script>\n      (function () {\n        const canvas = document.getElementById(\"c\");\n        const ctx = canvas.getContext(\"2d\");\n\n        // Characters: Latin, numbers, symbols and a block of Katakana for variety\n        const chars =\n          \"アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヲン\".split(\n            \"\"\n          );\n\n        let dpi = window.devicePixelRatio || 1;\n        let width = 0,\n          height = 0;\n        let fontSize = 18;\n        let columns = 0;\n        let charWidth = fontSize; // effective horizontal step per column (measured)\n        let y = []; // head Y positions (in pixels)\n        let speed = []; // speed per column (px per frame)\n        let acc = []; // per-column movement accumulator (pixels)\n        let hue = []; // hue per column\n        let headBright = []; // boolean or factor for brighter head\n\n        function resize() {\n          dpi = window.devicePixelRatio || 1;\n          width = Math.floor(window.innerWidth);\n          height = Math.floor(window.innerHeight);\n          canvas.width = width * dpi;\n          canvas.height = height * dpi;\n          canvas.style.width = width + \"px\";\n          canvas.style.height = height + \"px\";\n          ctx.setTransform(dpi, 0, 0, dpi, 0, 0); // scale for crisp text\n\n          // adapt font size to width/height\n          fontSize = Math.max(12, Math.floor(Math.min(width, height) / 60));\n          ctx.font = `bold ${fontSize}px monospace`;\n          // measure a representative character width and add a small padding factor\n          // to avoid glyph overlap (some glyphs can be slightly wider than fontSize)\n          // take the measured width of 'M' (typical wide glyph) and add 8% spacing\n          const measured = ctx.measureText(\"M\").width || fontSize;\n          charWidth = Math.ceil(measured * 1.08);\n          ctx.textBaseline = \"top\";\n\n          columns = Math.floor(width / charWidth) + 1;\n\n          // initialize column state\n          y = new Array(columns);\n          speed = new Array(columns);\n          acc = new Array(columns);\n          hue = new Array(columns);\n          headBright = new Array(columns);\n\n          for (let i = 0; i < columns; i++) {\n            // start below the bottom so it appears coming up\n            y[i] = height + Math.random() * height * 1.5;\n            // speed random between 0.6 and 2.0 (multiplied by fontSize)\n            speed[i] = (0.6 + Math.random() * 1.6) * (fontSize / 12);\n            hue[i] = Math.floor(Math.random() * 360);\n            headBright[i] = Math.random() > 0.85 ? 1.8 : 1.0; // occasional brighter heads\n            acc[i] = 0;\n          }\n        }\n\n        // fade rectangle alpha controls trail length: smaller alpha -> longer trail\n        const fadeAlpha = 0.06;\n\n        function draw() {\n          // draw translucent black to slowly fade previous characters (creates trail)\n          ctx.fillStyle = `rgba(0, 0, 0, ${fadeAlpha})`;\n          ctx.fillRect(0, 0, width, height);\n\n          for (let i = 0; i < columns; i++) {\n            const x = i * charWidth;\n            // choose a random char\n            const ch = chars[Math.floor(Math.random() * chars.length)];\n\n            // head color (HSL) with slight variation per character\n            const h =\n              (hue[i] + Math.floor(Math.random() * 30) - 15 + 360) % 360;\n            const sat = 100;\n            const light = Math.floor(50 * headBright[i]) + Math.random() * 10; // heads can be brighter\n            ctx.fillStyle = `hsl(${h}, ${sat}%, ${light}%)`;\n\n            // draw char at current head position\n            ctx.fillText(ch, x, y[i]);\n\n            // small chance to draw a brighter \"leading\" char above head to simulate glow\n            if (Math.random() > 0.98) {\n              ctx.fillStyle = `rgba(255,255,255,0.8)`;\n              ctx.fillText(\n                chars[Math.floor(Math.random() * chars.length)],\n                x,\n                y[i] - fontSize * 0.6\n              );\n            }\n\n            // accumulate fractional movement; move only in full glyph rows\n            // This prevents overlap while keeping slower/faster columns behaving\n            // proportionally to their speed. The multiplier (0.16) controls\n            // how quickly the accumulator fills (smaller -> slower overall).\n            acc[i] += speed[i] * fontSize * 0.16;\n            if (acc[i] >= fontSize) {\n              const n = Math.floor(acc[i] / fontSize);\n              y[i] -= n * fontSize;\n              acc[i] -= n * fontSize;\n            }\n\n            // reset when head moves well above the top\n            if (y[i] < -fontSize * (2 + Math.random() * 10)) {\n              y[i] = height + Math.random() * height * 1.2;\n              speed[i] = (0.6 + Math.random() * 1.6) * (fontSize / 12);\n              hue[i] = Math.floor(Math.random() * 360);\n              headBright[i] = Math.random() > 0.85 ? 1.8 : 1.0;\n            }\n          }\n\n          requestAnimationFrame(draw);\n        }\n\n        // initialize and start\n        window.addEventListener(\"resize\", resize, { passive: true });\n        resize();\n        // paint initial black\n        ctx.fillStyle = \"#000\";\n        ctx.fillRect(0, 0, width, height);\n\n        requestAnimationFrame(draw);\n      })();\n    </script>\n  </body>\n</html>\n"
[INFO] [stdout]  right: "Hello world, this is an AWS Lambda HTTP request"
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5f05a9ececc2 - std::backtrace_rs::backtrace::libunwind::trace::hff358a60abf734fc
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5f05a9ececc2 - std::backtrace_rs::backtrace::trace_unsynchronized::h3b121f916dd95ec6
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5f05a9ececc2 - std::sys::backtrace::_print_fmt::hde0a62ded68798e9
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5f05a9ececc2 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h93773fc827e3113d
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5f05a9edf1aa - core::fmt::rt::Argument::fmt::h01eff69902dad97f
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5f05a9edf1aa - core::fmt::write::hed7b5c73d82ecb7c
[INFO] [stdout]    6:     0x5f05a9e9d636 - std::io::default_write_fmt::h2f696ff5b8bbaa4b
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5f05a9e9d636 - std::io::Write::write_fmt::h5e66814db8a9cfce
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x5f05a9eae169 - std::sys::backtrace::BacktraceLock::print::h8b1d6fcc5a56d1a3
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5f05a9eae169 - std::panicking::default_hook::{{closure}}::h2be84df4f189ae36
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5f05a9eae001 - std::panicking::default_hook::hf0ea8939246f43a9
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5f05a9de7b6e - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h02d35e3888986252
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x5f05a9de7b6e - test::test_main_with_exit_callback::{{closure}}::h939640a27d647173
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x5f05a9eae3e2 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hc9df09ff391af3e7
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x5f05a9eae3e2 - std::panicking::panic_with_hook::hb4bd9ac1123582a0
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5f05a9eae228 - std::panicking::panic_handler::{{closure}}::hde00dd15f5637fe2
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x5f05a9ea96f9 - std::sys::backtrace::__rust_end_short_backtrace::hb72197fa777c1785
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5f05a9e9246d - __rustc[4425a7e20b4c8619]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5f05a9ee66ec - core::panicking::panic_fmt::ha59b517dd231f4da
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5f05a9ee65a3 - core::panicking::assert_failed_inner::h3c3301979dc81b81
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/panicking.rs:439:17
[INFO] [stdout]   20:     0x5f05a9dc6f45 - core::panicking::assert_failed::h293134fd9b98e0e2
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/panicking.rs:394:5
[INFO] [stdout]   21:     0x5f05a9dc4bda - rust_lambda_one::http_handler::tests::test_generic_http_handler::{{closure}}::h70dbaaf838ccce74
[INFO] [stdout]                                at /opt/rustwide/workdir/src/http_handler.rs:45:9
[INFO] [stdout]   22:     0x5f05a9dc8c42 - <core::pin::Pin<P> as core::future::future::Future>::poll::hd2e945a9a1f8d2ec
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/future/future.rs:133:9
[INFO] [stdout]   23:     0x5f05a9dc8b7d - <core::pin::Pin<P> as core::future::future::Future>::poll::h2f84cc7d2da39e06
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/future/future.rs:133:9
[INFO] [stdout]   24:     0x5f05a9dc3fdd - tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}::{{closure}}::{{closure}}::hf94f8495b48f76f3
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/scheduler/current_thread/mod.rs:742:70
[INFO] [stdout]   25:     0x5f05a9dc3eeb - tokio::task::coop::with_budget::h21a0e1f2982f3cb9
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/task/coop/mod.rs:167:5
[INFO] [stdout]   26:     0x5f05a9dc3eeb - tokio::task::coop::budget::hd2e7e4da9e589901
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/task/coop/mod.rs:133:5
[INFO] [stdout]   27:     0x5f05a9dc3eeb - tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}::{{closure}}::hbebfde4fb83ac4ec
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/scheduler/current_thread/mod.rs:742:25
[INFO] [stdout]   28:     0x5f05a9dc0d30 - tokio::runtime::scheduler::current_thread::Context::enter::h4ed0cbb440969984
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/scheduler/current_thread/mod.rs:432:19
[INFO] [stdout]   29:     0x5f05a9dc340d - tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}::he93deeeb9c516b20
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/scheduler/current_thread/mod.rs:741:44
[INFO] [stdout]   30:     0x5f05a9dc2604 - tokio::runtime::scheduler::current_thread::CoreGuard::enter::{{closure}}::hd0ea26d406c95d46
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/scheduler/current_thread/mod.rs:829:68
[INFO] [stdout]   31:     0x5f05a9dbeebb - tokio::runtime::context::scoped::Scoped<T>::set::he973645eac3bdff8
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/context/scoped.rs:40:9
[INFO] [stdout]   32:     0x5f05a9dbeaa9 - tokio::runtime::context::set_scheduler::{{closure}}::h9005a62e810dc32a
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/context.rs:176:38
[INFO] [stdout]   33:     0x5f05a9dc5ff2 - std::thread::local::LocalKey<T>::try_with::h83971d15fdb41ba2
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/thread/local.rs:513:12
[INFO] [stdout]   34:     0x5f05a9dc569e - std::thread::local::LocalKey<T>::with::h459db768dfb8a2d6
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/thread/local.rs:477:20
[INFO] [stdout]   35:     0x5f05a9dbea1d - tokio::runtime::context::set_scheduler::ha18f381c59c3ece5
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/context.rs:176:17
[INFO] [stdout]   36:     0x5f05a9dc1f70 - tokio::runtime::scheduler::current_thread::CoreGuard::enter::h144e97628df2d093
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/scheduler/current_thread/mod.rs:829:27
[INFO] [stdout]   37:     0x5f05a9dc26c6 - tokio::runtime::scheduler::current_thread::CoreGuard::block_on::h47c110ce7e263ba9
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/scheduler/current_thread/mod.rs:729:24
[INFO] [stdout]   38:     0x5f05a9dc0910 - tokio::runtime::scheduler::current_thread::CurrentThread::block_on::{{closure}}::hc0c21d7012916573
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/scheduler/current_thread/mod.rs:200:33
[INFO] [stdout]   39:     0x5f05a9dbf193 - tokio::runtime::context::runtime::enter_runtime::ha28aea47f33fd8bf
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/context/runtime.rs:65:16
[INFO] [stdout]   40:     0x5f05a9dc0381 - tokio::runtime::scheduler::current_thread::CurrentThread::block_on::h3428d3003f8bc2cf
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/scheduler/current_thread/mod.rs:188:9
[INFO] [stdout]   41:     0x5f05a9dbffd4 - tokio::runtime::runtime::Runtime::block_on_inner::hfb5d7c1259338d2e
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/runtime.rs:368:52
[INFO] [stdout]   42:     0x5f05a9dc019c - tokio::runtime::runtime::Runtime::block_on::h9302a2c44061e54a
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/runtime.rs:342:18
[INFO] [stdout]   43:     0x5f05a9dc4593 - rust_lambda_one::http_handler::tests::test_generic_http_handler::h85443dba248e2f64
[INFO] [stdout]                                at /opt/rustwide/workdir/src/http_handler.rs:48:10
[INFO] [stdout]   44:     0x5f05a9dc4627 - rust_lambda_one::http_handler::tests::test_generic_http_handler::{{closure}}::h1d9f918c21cb9d75
[INFO] [stdout]                                at /opt/rustwide/workdir/src/http_handler.rs:36:41
[INFO] [stdout]   45:     0x5f05a9dbd446 - core::ops::function::FnOnce::call_once::h710aa275ba3c9b97
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   46:     0x5f05a9de792b - core::ops::function::FnOnce::call_once::hddb3cd395c36bfbb
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   47:     0x5f05a9de792b - test::__rust_begin_short_backtrace::h0b6a7601d9750bfa
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/test/src/lib.rs:663:18
[INFO] [stdout]   48:     0x5f05a9dfb33a - test::run_test_in_process::{{closure}}::h444209903f00b347
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/test/src/lib.rs:686:74
[INFO] [stdout]   49:     0x5f05a9dfb33a - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hfb3ba8f46e537649
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   50:     0x5f05a9dfb33a - std::panicking::catch_unwind::do_call::h1672a45911fcf9dc
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:581:40
[INFO] [stdout]   51:     0x5f05a9dfb33a - std::panicking::catch_unwind::h0fadaee22787a6dd
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:544:19
[INFO] [stdout]   52:     0x5f05a9dfb33a - std::panic::catch_unwind::hc47ad190f2c8e188
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panic.rs:359:14
[INFO] [stdout]   53:     0x5f05a9dfb33a - test::run_test_in_process::hcd7faaf934f29999
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/test/src/lib.rs:686:27
[INFO] [stdout]   54:     0x5f05a9dfb33a - test::run_test::{{closure}}::hddc4550da4871867
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/test/src/lib.rs:607:43
[INFO] [stdout]   55:     0x5f05a9dd5794 - test::run_test::{{closure}}::h98ae26689f13ed94
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/test/src/lib.rs:637:41
[INFO] [stdout]   56:     0x5f05a9dd5794 - std::sys::backtrace::__rust_begin_short_backtrace::h3ec4d1f21ad44588
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   57:     0x5f05a9dd9132 - std::thread::lifecycle::spawn_unchecked::{{closure}}::{{closure}}::hd8bf2c73d479939f
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   58:     0x5f05a9dd9132 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h3b4248f358af2491
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   59:     0x5f05a9dd9132 - std::panicking::catch_unwind::do_call::hda10a64f4b8daebe
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:581:40
[INFO] [stdout]   60:     0x5f05a9dd9132 - std::panicking::catch_unwind::h659e5ee8336ec8c7
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:544:19
[INFO] [stdout]   61:     0x5f05a9dd9132 - std::panic::catch_unwind::h9d4d66a538912c18
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panic.rs:359:14
[INFO] [stdout]   62:     0x5f05a9dd9132 - std::thread::lifecycle::spawn_unchecked::{{closure}}::h7557906bb51d79f1
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   63:     0x5f05a9dd9132 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h9e460d1d7fc83d35
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   64:     0x5f05a9ea498f - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h61282da819d64ea9
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   65:     0x5f05a9ea498f - std::sys::thread::unix::Thread::new::thread_start::h982f9ea829d1b5fb
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/sys/thread/unix.rs:127:17
[INFO] [stdout]   66:     0x72542cf6caa4 - <unknown>
[INFO] [stdout]   67:     0x72542cff9a64 - clone
[INFO] [stdout]   68:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- http_handler::tests::test_http_handler_with_query_string stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'http_handler::tests::test_http_handler_with_query_string' (17) panicked at src/http_handler.rs:64:9:
[INFO] [stdout] assertion `left == right` failed
[INFO] [stdout]   left: "<!DOCTYPE html>\n<html lang=\"en\">\n  <head>\n    <meta charset=\"utf-8\" />\n    <meta name=\"viewport\" content=\"width=device-width,initial-scale=1\" />\n    <title>Digital Rain (Bottom-Up, All Colors)</title>\n    <style>\n      html,\n      body {\n        height: 100%;\n        margin: 0;\n        background: #000;\n        overflow: hidden;\n      }\n      canvas {\n        display: block;\n        width: 100%;\n        height: 100%;\n      }\n    </style>\n  </head>\n  <body>\n    <div\n      style=\"\n        position: absolute;\n        top: 0;\n        left: 0;\n        padding: 24px 32px;\n        z-index: 10;\n      \"\n    >\n      <span\n        style=\"\n          font-family: Courier Prime, Courier, monospace;\n          font-size: 2.5rem;\n          font-weight: bold;\n          color: #b1d4cb;\n          text-shadow: 0 0 5px #b1d4cb;\n          letter-spacing: 2px;\n        \"\n      >\n        Oh hi rust-lambda-one! Welcome from AWS Lambda!\n      </span>\n      <br />\n      <form method=\"get\" style=\"display: inline\">\n        <label\n          style=\"\n            font-family: Courier Prime, Courier, monospace;\n            font-size: 1rem;\n            color: #b1d4cb;\n          \"\n        >\n          enter your name:\n          <input\n            name=\"name\"\n            type=\"text\"\n            style=\"background-color: transparent; border: none; border-bottom: 2px solid #b1d4cb; box-shadow: 0 4px 12px rgba(177,212,203,0.25); color: #b1d4cb; outline: none; padding: 2px 6px;\" oninput=\"if(this.value.trim()){this.style.backgroundColor='transparent'; this.style.boxShadow='none';}else{this.style.backgroundColor='transparent'; this.style.boxShadow='0 4px 12px rgba(177,212,203,0.25)';}\"\n          />\n        </label>\n        <button\n          type=\"submit\"\n          style=\"margin-left: 8px; padding: 6px 10px; font-weight: bold;background-color: transparent;color: #b1d4cb;box-shadow: none; border:none;\"\n        >\n          Go\n        </button>\n      </form>\n    </div>\n\n    <canvas id=\"c\"></canvas>\n\n    <script>\n      (function () {\n        const canvas = document.getElementById(\"c\");\n        const ctx = canvas.getContext(\"2d\");\n\n        // Characters: Latin, numbers, symbols and a block of Katakana for variety\n        const chars =\n          \"アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヲン\".split(\n            \"\"\n          );\n\n        let dpi = window.devicePixelRatio || 1;\n        let width = 0,\n          height = 0;\n        let fontSize = 18;\n        let columns = 0;\n        let charWidth = fontSize; // effective horizontal step per column (measured)\n        let y = []; // head Y positions (in pixels)\n        let speed = []; // speed per column (px per frame)\n        let acc = []; // per-column movement accumulator (pixels)\n        let hue = []; // hue per column\n        let headBright = []; // boolean or factor for brighter head\n\n        function resize() {\n          dpi = window.devicePixelRatio || 1;\n          width = Math.floor(window.innerWidth);\n          height = Math.floor(window.innerHeight);\n          canvas.width = width * dpi;\n          canvas.height = height * dpi;\n          canvas.style.width = width + \"px\";\n          canvas.style.height = height + \"px\";\n          ctx.setTransform(dpi, 0, 0, dpi, 0, 0); // scale for crisp text\n\n          // adapt font size to width/height\n          fontSize = Math.max(12, Math.floor(Math.min(width, height) / 60));\n          ctx.font = `bold ${fontSize}px monospace`;\n          // measure a representative character width and add a small padding factor\n          // to avoid glyph overlap (some glyphs can be slightly wider than fontSize)\n          // take the measured width of 'M' (typical wide glyph) and add 8% spacing\n          const measured = ctx.measureText(\"M\").width || fontSize;\n          charWidth = Math.ceil(measured * 1.08);\n          ctx.textBaseline = \"top\";\n\n          columns = Math.floor(width / charWidth) + 1;\n\n          // initialize column state\n          y = new Array(columns);\n          speed = new Array(columns);\n          acc = new Array(columns);\n          hue = new Array(columns);\n          headBright = new Array(columns);\n\n          for (let i = 0; i < columns; i++) {\n            // start below the bottom so it appears coming up\n            y[i] = height + Math.random() * height * 1.5;\n            // speed random between 0.6 and 2.0 (multiplied by fontSize)\n            speed[i] = (0.6 + Math.random() * 1.6) * (fontSize / 12);\n            hue[i] = Math.floor(Math.random() * 360);\n            headBright[i] = Math.random() > 0.85 ? 1.8 : 1.0; // occasional brighter heads\n            acc[i] = 0;\n          }\n        }\n\n        // fade rectangle alpha controls trail length: smaller alpha -> longer trail\n        const fadeAlpha = 0.06;\n\n        function draw() {\n          // draw translucent black to slowly fade previous characters (creates trail)\n          ctx.fillStyle = `rgba(0, 0, 0, ${fadeAlpha})`;\n          ctx.fillRect(0, 0, width, height);\n\n          for (let i = 0; i < columns; i++) {\n            const x = i * charWidth;\n            // choose a random char\n            const ch = chars[Math.floor(Math.random() * chars.length)];\n\n            // head color (HSL) with slight variation per character\n            const h =\n              (hue[i] + Math.floor(Math.random() * 30) - 15 + 360) % 360;\n            const sat = 100;\n            const light = Math.floor(50 * headBright[i]) + Math.random() * 10; // heads can be brighter\n            ctx.fillStyle = `hsl(${h}, ${sat}%, ${light}%)`;\n\n            // draw char at current head position\n            ctx.fillText(ch, x, y[i]);\n\n            // small chance to draw a brighter \"leading\" char above head to simulate glow\n            if (Math.random() > 0.98) {\n              ctx.fillStyle = `rgba(255,255,255,0.8)`;\n              ctx.fillText(\n                chars[Math.floor(Math.random() * chars.length)],\n                x,\n                y[i] - fontSize * 0.6\n              );\n            }\n\n            // accumulate fractional movement; move only in full glyph rows\n            // This prevents overlap while keeping slower/faster columns behaving\n            // proportionally to their speed. The multiplier (0.16) controls\n            // how quickly the accumulator fills (smaller -> slower overall).\n            acc[i] += speed[i] * fontSize * 0.16;\n            if (acc[i] >= fontSize) {\n              const n = Math.floor(acc[i] / fontSize);\n              y[i] -= n * fontSize;\n              acc[i] -= n * fontSize;\n            }\n\n            // reset when head moves well above the top\n            if (y[i] < -fontSize * (2 + Math.random() * 10)) {\n              y[i] = height + Math.random() * height * 1.2;\n              speed[i] = (0.6 + Math.random() * 1.6) * (fontSize / 12);\n              hue[i] = Math.floor(Math.random() * 360);\n              headBright[i] = Math.random() > 0.85 ? 1.8 : 1.0;\n            }\n          }\n\n          requestAnimationFrame(draw);\n        }\n\n        // initialize and start\n        window.addEventListener(\"resize\", resize, { passive: true });\n        resize();\n        // paint initial black\n        ctx.fillStyle = \"#000\";\n        ctx.fillRect(0, 0, width, height);\n\n        requestAnimationFrame(draw);\n      })();\n    </script>\n  </body>\n</html>\n"
[INFO] [stdout]  right: "Hello rust-lambda-one, this is an AWS Lambda HTTP request"
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5f05a9ececc2 - std::backtrace_rs::backtrace::libunwind::trace::hff358a60abf734fc
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5f05a9ececc2 - std::backtrace_rs::backtrace::trace_unsynchronized::h3b121f916dd95ec6
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5f05a9ececc2 - std::sys::backtrace::_print_fmt::hde0a62ded68798e9
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5f05a9ececc2 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h93773fc827e3113d
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5f05a9edf1aa - core::fmt::rt::Argument::fmt::h01eff69902dad97f
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5f05a9edf1aa - core::fmt::write::hed7b5c73d82ecb7c
[INFO] [stdout]    6:     0x5f05a9e9d636 - std::io::default_write_fmt::h2f696ff5b8bbaa4b
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5f05a9e9d636 - std::io::Write::write_fmt::h5e66814db8a9cfce
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x5f05a9eae169 - std::sys::backtrace::BacktraceLock::print::h8b1d6fcc5a56d1a3
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5f05a9eae169 - std::panicking::default_hook::{{closure}}::h2be84df4f189ae36
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5f05a9eae001 - std::panicking::default_hook::hf0ea8939246f43a9
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5f05a9de7b6e - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h02d35e3888986252
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x5f05a9de7b6e - test::test_main_with_exit_callback::{{closure}}::h939640a27d647173
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x5f05a9eae3e2 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hc9df09ff391af3e7
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x5f05a9eae3e2 - std::panicking::panic_with_hook::hb4bd9ac1123582a0
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5f05a9eae228 - std::panicking::panic_handler::{{closure}}::hde00dd15f5637fe2
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x5f05a9ea96f9 - std::sys::backtrace::__rust_end_short_backtrace::hb72197fa777c1785
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5f05a9e9246d - __rustc[4425a7e20b4c8619]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5f05a9ee66ec - core::panicking::panic_fmt::ha59b517dd231f4da
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5f05a9ee65a3 - core::panicking::assert_failed_inner::h3c3301979dc81b81
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/panicking.rs:439:17
[INFO] [stdout]   20:     0x5f05a9dc6f45 - core::panicking::assert_failed::h293134fd9b98e0e2
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/panicking.rs:394:5
[INFO] [stdout]   21:     0x5f05a9dc5559 - rust_lambda_one::http_handler::tests::test_http_handler_with_query_string::{{closure}}::h536d53f65b8160c8
[INFO] [stdout]                                at /opt/rustwide/workdir/src/http_handler.rs:64:9
[INFO] [stdout]   22:     0x5f05a9dc8c42 - <core::pin::Pin<P> as core::future::future::Future>::poll::hd2e945a9a1f8d2ec
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/future/future.rs:133:9
[INFO] [stdout]   23:     0x5f05a9dc8b7d - <core::pin::Pin<P> as core::future::future::Future>::poll::h2f84cc7d2da39e06
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/future/future.rs:133:9
[INFO] [stdout]   24:     0x5f05a9dc3fdd - tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}::{{closure}}::{{closure}}::hf94f8495b48f76f3
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/scheduler/current_thread/mod.rs:742:70
[INFO] [stdout]   25:     0x5f05a9dc3eeb - tokio::task::coop::with_budget::h21a0e1f2982f3cb9
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/task/coop/mod.rs:167:5
[INFO] [stdout]   26:     0x5f05a9dc3eeb - tokio::task::coop::budget::hd2e7e4da9e589901
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/task/coop/mod.rs:133:5
[INFO] [stdout]   27:     0x5f05a9dc3eeb - tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}::{{closure}}::hbebfde4fb83ac4ec
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/scheduler/current_thread/mod.rs:742:25
[INFO] [stdout]   28:     0x5f05a9dc0d30 - tokio::runtime::scheduler::current_thread::Context::enter::h4ed0cbb440969984
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/scheduler/current_thread/mod.rs:432:19
[INFO] [stdout]   29:     0x5f05a9dc340d - tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}::he93deeeb9c516b20
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/scheduler/current_thread/mod.rs:741:44
[INFO] [stdout]   30:     0x5f05a9dc2604 - tokio::runtime::scheduler::current_thread::CoreGuard::enter::{{closure}}::hd0ea26d406c95d46
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/scheduler/current_thread/mod.rs:829:68
[INFO] [stdout]   31:     0x5f05a9dbeebb - tokio::runtime::context::scoped::Scoped<T>::set::he973645eac3bdff8
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/context/scoped.rs:40:9
[INFO] [stdout]   32:     0x5f05a9dbeaa9 - tokio::runtime::context::set_scheduler::{{closure}}::h9005a62e810dc32a
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/context.rs:176:38
[INFO] [stdout]   33:     0x5f05a9dc5ff2 - std::thread::local::LocalKey<T>::try_with::h83971d15fdb41ba2
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/thread/local.rs:513:12
[INFO] [stdout]   34:     0x5f05a9dc569e - std::thread::local::LocalKey<T>::with::h459db768dfb8a2d6
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/thread/local.rs:477:20
[INFO] [stdout]   35:     0x5f05a9dbea1d - tokio::runtime::context::set_scheduler::ha18f381c59c3ece5
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/context.rs:176:17
[INFO] [stdout]   36:     0x5f05a9dc1f70 - tokio::runtime::scheduler::current_thread::CoreGuard::enter::h144e97628df2d093
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/scheduler/current_thread/mod.rs:829:27
[INFO] [stdout]   37:     0x5f05a9dc26c6 - tokio::runtime::scheduler::current_thread::CoreGuard::block_on::h47c110ce7e263ba9
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/scheduler/current_thread/mod.rs:729:24
[INFO] [stdout]   38:     0x5f05a9dc0910 - tokio::runtime::scheduler::current_thread::CurrentThread::block_on::{{closure}}::hc0c21d7012916573
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/scheduler/current_thread/mod.rs:200:33
[INFO] [stdout]   39:     0x5f05a9dbf193 - tokio::runtime::context::runtime::enter_runtime::ha28aea47f33fd8bf
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/context/runtime.rs:65:16
[INFO] [stdout]   40:     0x5f05a9dc0381 - tokio::runtime::scheduler::current_thread::CurrentThread::block_on::h3428d3003f8bc2cf
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/scheduler/current_thread/mod.rs:188:9
[INFO] [stdout]   41:     0x5f05a9dbffd4 - tokio::runtime::runtime::Runtime::block_on_inner::hfb5d7c1259338d2e
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/runtime.rs:368:52
[INFO] [stdout]   42:     0x5f05a9dc019c - tokio::runtime::runtime::Runtime::block_on::h9302a2c44061e54a
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.48.0/src/runtime/runtime.rs:342:18
[INFO] [stdout]   43:     0x5f05a9dc4d73 - rust_lambda_one::http_handler::tests::test_http_handler_with_query_string::hb0d9f950598dd239
[INFO] [stdout]                                at /opt/rustwide/workdir/src/http_handler.rs:67:10
[INFO] [stdout]   44:     0x5f05a9dc55d7 - rust_lambda_one::http_handler::tests::test_http_handler_with_query_string::{{closure}}::hcb88453d8c3510a0
[INFO] [stdout]                                at /opt/rustwide/workdir/src/http_handler.rs:52:51
[INFO] [stdout]   45:     0x5f05a9dbd536 - core::ops::function::FnOnce::call_once::hc0d162bbdd0b650b
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   46:     0x5f05a9de792b - core::ops::function::FnOnce::call_once::hddb3cd395c36bfbb
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   47:     0x5f05a9de792b - test::__rust_begin_short_backtrace::h0b6a7601d9750bfa
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/test/src/lib.rs:663:18
[INFO] [stdout]   48:     0x5f05a9dfb33a - test::run_test_in_process::{{closure}}::h444209903f00b347
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/test/src/lib.rs:686:74
[INFO] [stdout]   49:     0x5f05a9dfb33a - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hfb3ba8f46e537649
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   50:     0x5f05a9dfb33a - std::panicking::catch_unwind::do_call::h1672a45911fcf9dc
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:581:40
[INFO] [stdout]   51:     0x5f05a9dfb33a - std::panicking::catch_unwind::h0fadaee22787a6dd
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:544:19
[INFO] [stdout]   52:     0x5f05a9dfb33a - std::panic::catch_unwind::hc47ad190f2c8e188
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panic.rs:359:14
[INFO] [stdout]   53:     0x5f05a9dfb33a - test::run_test_in_process::hcd7faaf934f29999
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/test/src/lib.rs:686:27
[INFO] [stdout]   54:     0x5f05a9dfb33a - test::run_test::{{closure}}::hddc4550da4871867
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/test/src/lib.rs:607:43
[INFO] [stdout]   55:     0x5f05a9dd5794 - test::run_test::{{closure}}::h98ae26689f13ed94
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/test/src/lib.rs:637:41
[INFO] [stdout]   56:     0x5f05a9dd5794 - std::sys::backtrace::__rust_begin_short_backtrace::h3ec4d1f21ad44588
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   57:     0x5f05a9dd9132 - std::thread::lifecycle::spawn_unchecked::{{closure}}::{{closure}}::hd8bf2c73d479939f
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   58:     0x5f05a9dd9132 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h3b4248f358af2491
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   59:     0x5f05a9dd9132 - std::panicking::catch_unwind::do_call::hda10a64f4b8daebe
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:581:40
[INFO] [stdout]   60:     0x5f05a9dd9132 - std::panicking::catch_unwind::h659e5ee8336ec8c7
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:544:19
[INFO] [stdout]   61:     0x5f05a9dd9132 - std::panic::catch_unwind::h9d4d66a538912c18
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panic.rs:359:14
[INFO] [stdout]   62:     0x5f05a9dd9132 - std::thread::lifecycle::spawn_unchecked::{{closure}}::h7557906bb51d79f1
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   63:     0x5f05a9dd9132 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h9e460d1d7fc83d35
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   64:     0x5f05a9ea498f - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h61282da819d64ea9
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   65:     0x5f05a9ea498f - std::sys::thread::unix::Thread::new::thread_start::h982f9ea829d1b5fb
[INFO] [stdout]                                at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/sys/thread/unix.rs:127:17
[INFO] [stdout]   66:     0x72542cf6caa4 - <unknown>
[INFO] [stdout]   67:     0x72542cff9a64 - clone
[INFO] [stdout]   68:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     http_handler::tests::test_generic_http_handler
[INFO] [stdout]     http_handler::tests::test_http_handler_with_query_string
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 0 passed; 2 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.09s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--bin rust-lambda-one`
[INFO] running `Command { std: "docker" "inspect" "7cf08d8d9cbdbceb161a73271da9f617b61dc3e80aae3b47e8bf8d20e7b84565", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7cf08d8d9cbdbceb161a73271da9f617b61dc3e80aae3b47e8bf8d20e7b84565", kill_on_drop: false }`
[INFO] [stdout] 7cf08d8d9cbdbceb161a73271da9f617b61dc3e80aae3b47e8bf8d20e7b84565
