diff --git a/Cargo.lock b/Cargo.lock index 38f97c814..698014b20 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -711,7 +711,7 @@ dependencies = [ [[package]] name = "daphne" version = "0.0.1" -source = "git+https://github.com/cloudflare/daphne?rev=2f042113af8df7527c1761490cea40139952ad5e#2f042113af8df7527c1761490cea40139952ad5e" +source = "git+https://github.com/cloudflare/daphne?rev=6228556c7b87a7fe85e414a3186a2511407896f0#6228556c7b87a7fe85e414a3186a2511407896f0" dependencies = [ "anyhow", "assert_matches", @@ -2065,6 +2065,7 @@ dependencies = [ "reqwest", "serde", "serde_json", + "tempfile", "testcontainers", "tokio", "tracing", diff --git a/monolithic_integration_test/Cargo.toml b/monolithic_integration_test/Cargo.toml index 3cfad7c59..8eef4dd37 100644 --- a/monolithic_integration_test/Cargo.toml +++ b/monolithic_integration_test/Cargo.toml @@ -21,7 +21,7 @@ kube-openssl = ["kube/openssl-tls"] [dependencies] backoff = { version = "0.4", features = ["tokio"] } -daphne = { git = "https://github.com/cloudflare/daphne", rev = "2f042113af8df7527c1761490cea40139952ad5e", optional = true } # Match this to the compiled version referenced in README.md. +daphne = { git = "https://github.com/cloudflare/daphne", rev = "6228556c7b87a7fe85e414a3186a2511407896f0", optional = true } # Match this to the version referenced in README.md. futures = "0.3.23" hex = { version = "0.4", optional = true } interop_binaries = { path = "../interop_binaries", features = ["testcontainer"] } @@ -50,3 +50,4 @@ prio = "0.8.2" [build-dependencies] build_script_utils = { path = "../build_script_utils", optional = true } +tempfile = "3" diff --git a/monolithic_integration_test/Dockerfile.test_daphne b/monolithic_integration_test/Dockerfile.test_daphne deleted file mode 100644 index 95d0c026a..000000000 --- a/monolithic_integration_test/Dockerfile.test_daphne +++ /dev/null @@ -1,9 +0,0 @@ -FROM alpine:3.16 -RUN apk add --update npm -RUN npm install -g miniflare -RUN mkdir /daphne -COPY artifacts/wrangler.toml / -COPY artifacts/daphne_compiled/index.wasm /daphne -COPY artifacts/daphne_compiled/shim.mjs /daphne -EXPOSE 8080 -ENTRYPOINT ["miniflare", "--port=8080", "--wrangler-config=/wrangler.toml"] diff --git a/monolithic_integration_test/README.md b/monolithic_integration_test/README.md index 9a352bcd1..abd689c9e 100644 --- a/monolithic_integration_test/README.md +++ b/monolithic_integration_test/README.md @@ -3,70 +3,23 @@ ## Daphne The [Daphne](https://github.com/cloudflare/daphne) testing functionality is implemented by running a -WASM-compiled version of Daphne inside [miniflare](https://miniflare.dev), inside a container. The -compiled artifacts are included in `artifacts/daphne_compiled`; the test container is built by the -build script & included in necessary test binaries which know how to load the image into Docker -themselves. +compiled version of Daphne inside a container. The test container is built by this package's build +script based on the test Dockerfile in the Daphne repository; the test container is included in +necessary test binaries which know how to load the image into Docker themselves. -The compiled Daphne is from commit [`2f042113af8df7527c1761490cea40139952ad5e`]( -https://github.com/cloudflare/daphne/commit/2f042113af8df7527c1761490cea40139952ad5e). +Daphne is compiled from commit [`6228556c7b87a7fe85e414a3186a2511407896f0`]( +https://github.com/cloudflare/daphne/commit/6228556c7b87a7fe85e414a3186a2511407896f0). ### Running Daphne integration tests First, make sure your workstation is set up per the instructions in the repository root's README.md. -Once `docker` is installed, simply run `cargo test` to run the Daphne integration tests. +Then, run `cargo test` to run the Daphne integration tests. ### Updating the version of Daphne under test -Compiling a new version of Daphne requires having [wrangler](https://github.com/cloudflare/wrangler) -installed. - To update the version of Daphne in use: -1. Update `Cargo.toml` in this directory to reference the new version of Daphne. -1. Check out the [Daphne repository](https://github.com/cloudflare/daphne) at the desired version, - and switch into the repository's `daphne_worker_test` directory. -1. Run `worker-build`; this will compile Daphne to WASM & place the results into the `build` - directory. -1. Replace the content of `monolithic_integration_test/artifacts/daphne_compiled` in the Janus - repository with the content of `daphne_worker_test/build/worker` from the Daphne repository. -1. Update this README to note the Daphne commit used to generate these artifacts. - -### License - -The contents of `artifacts/daphne_compiled` are a compiled artifact of the -[Daphne](https://github.com/cloudflare/daphne) project, which is licensed under the [BSD 3-Clause -License](https://github.com/cloudflare/daphne/blob/2f042113af8df7527c1761490cea40139952ad5e/LICENSE), -reproduced below: - -``` -BSD 3-Clause License - -Copyright (c) 2022, Cloudflare Inc. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -3. Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -``` \ No newline at end of file +1. Update `Cargo.toml` in this directory to reference the new commit of Daphne. +1. Update `build.rs` in this directory to reference the new commit of Daphne. +1. Update this README to note the new commit of Daphne. diff --git a/monolithic_integration_test/artifacts/daphne_compiled/index.wasm b/monolithic_integration_test/artifacts/daphne_compiled/index.wasm deleted file mode 100644 index 9b17d676d..000000000 Binary files a/monolithic_integration_test/artifacts/daphne_compiled/index.wasm and /dev/null differ diff --git a/monolithic_integration_test/artifacts/daphne_compiled/shim.mjs b/monolithic_integration_test/artifacts/daphne_compiled/shim.mjs deleted file mode 100644 index 07c1de109..000000000 --- a/monolithic_integration_test/artifacts/daphne_compiled/shim.mjs +++ /dev/null @@ -1,1515 +0,0 @@ -var __defProp = Object.defineProperty; -var __export = (target, all) => { - for (var name in all) - __defProp(target, name, { get: all[name], enumerable: true }); -}; - -// index_bg.js -var index_bg_exports = {}; -__export(index_bg_exports, { - AggregateStore: () => AggregateStore, - GarbageCollector: () => GarbageCollector, - HelperStateStore: () => HelperStateStore, - IntoUnderlyingByteSource: () => IntoUnderlyingByteSource, - IntoUnderlyingSink: () => IntoUnderlyingSink, - IntoUnderlyingSource: () => IntoUnderlyingSource, - LeaderAggregationJobQueue: () => LeaderAggregationJobQueue, - LeaderCollectionJobQueue: () => LeaderCollectionJobQueue, - MinifyConfig: () => MinifyConfig, - PipeOptions: () => PipeOptions, - PolishConfig: () => PolishConfig, - QueuingStrategy: () => QueuingStrategy, - ReadableStreamGetReaderOptions: () => ReadableStreamGetReaderOptions, - ReportStore: () => ReportStore, - RequestRedirect: () => RequestRedirect, - __wbg_append_9c6d4d7f71076e48: () => __wbg_append_9c6d4d7f71076e48, - __wbg_arrayBuffer_37a26d82dfa0e8fe: () => __wbg_arrayBuffer_37a26d82dfa0e8fe, - __wbg_arrayBuffer_ccd485f4d2929b08: () => __wbg_arrayBuffer_ccd485f4d2929b08, - __wbg_body_448aadd788727e77: () => __wbg_body_448aadd788727e77, - __wbg_buffer_34f5ec9f8a838ba0: () => __wbg_buffer_34f5ec9f8a838ba0, - __wbg_buffer_f00028fd9efc903b: () => __wbg_buffer_f00028fd9efc903b, - __wbg_byobRequest_3e1cb18a6efca4e4: () => __wbg_byobRequest_3e1cb18a6efca4e4, - __wbg_byteLength_6f22329fd199ce7d: () => __wbg_byteLength_6f22329fd199ce7d, - __wbg_byteOffset_b3edd58064ebb082: () => __wbg_byteOffset_b3edd58064ebb082, - __wbg_bytesliteral_1860f600f905fea0: () => __wbg_bytesliteral_1860f600f905fea0, - __wbg_call_33d7bcddbbfa394a: () => __wbg_call_33d7bcddbbfa394a, - __wbg_call_65af9f665ab6ade5: () => __wbg_call_65af9f665ab6ade5, - __wbg_cancel_c3889b9518797ceb: () => __wbg_cancel_c3889b9518797ceb, - __wbg_catch_b1d5ec6a035f3be8: () => __wbg_catch_b1d5ec6a035f3be8, - __wbg_cf_618414bbd658dfda: () => __wbg_cf_618414bbd658dfda, - __wbg_close_146359de33accd5b: () => __wbg_close_146359de33accd5b, - __wbg_close_26866406ee8e0abb: () => __wbg_close_26866406ee8e0abb, - __wbg_constructor_49b344c0ab64de09: () => __wbg_constructor_49b344c0ab64de09, - __wbg_crypto_b95d7173266618a9: () => __wbg_crypto_b95d7173266618a9, - __wbg_debug_456ceacb5301d849: () => __wbg_debug_456ceacb5301d849, - __wbg_deleteAll_fe4f61e098d6947d: () => __wbg_deleteAll_fe4f61e098d6947d, - __wbg_delete_3c6fca148005441f: () => __wbg_delete_3c6fca148005441f, - __wbg_delete_83217178d7a223eb: () => __wbg_delete_83217178d7a223eb, - __wbg_done_7ecb290d5cbc766e: () => __wbg_done_7ecb290d5cbc766e, - __wbg_done_e5655b169bb04f60: () => __wbg_done_e5655b169bb04f60, - __wbg_enqueue_eb446030ed643eb5: () => __wbg_enqueue_eb446030ed643eb5, - __wbg_entries_0484230041166373: () => __wbg_entries_0484230041166373, - __wbg_error_09919627ac0992f5: () => __wbg_error_09919627ac0992f5, - __wbg_error_3d6df09bb68be9e4: () => __wbg_error_3d6df09bb68be9e4, - __wbg_fetch_17b968b9c79d3c56: () => __wbg_fetch_17b968b9c79d3c56, - __wbg_fetch_5274d89a348c0462: () => __wbg_fetch_5274d89a348c0462, - __wbg_fetch_7695585502c326bb: () => __wbg_fetch_7695585502c326bb, - __wbg_getRandomValues_b14734aa289bc356: () => __wbg_getRandomValues_b14734aa289bc356, - __wbg_getReader_ceb9349418d407cb: () => __wbg_getReader_ceb9349418d407cb, - __wbg_getTime_58b0bdbebd4ef11d: () => __wbg_getTime_58b0bdbebd4ef11d, - __wbg_get_08edb23297a6eae0: () => __wbg_get_08edb23297a6eae0, - __wbg_get_0dd2d3769e543ec8: () => __wbg_get_0dd2d3769e543ec8, - __wbg_get_72332cd2bc57924c: () => __wbg_get_72332cd2bc57924c, - __wbg_get_c42368f08ade3c81: () => __wbg_get_c42368f08ade3c81, - __wbg_globalThis_3348936ac49df00a: () => __wbg_globalThis_3348936ac49df00a, - __wbg_global_67175caf56f55ca9: () => __wbg_global_67175caf56f55ca9, - __wbg_has_3be27932089d278e: () => __wbg_has_3be27932089d278e, - __wbg_headers_1041ecaccc96679c: () => __wbg_headers_1041ecaccc96679c, - __wbg_headers_aa309e800cf75016: () => __wbg_headers_aa309e800cf75016, - __wbg_headers_cd273c0104da6697: () => __wbg_headers_cd273c0104da6697, - __wbg_idFromName_e76990eb3c2c8075: () => __wbg_idFromName_e76990eb3c2c8075, - __wbg_idFromString_8a02838f99f5ce77: () => __wbg_idFromString_8a02838f99f5ce77, - __wbg_id_65c5c2eaeb0a57bc: () => __wbg_id_65c5c2eaeb0a57bc, - __wbg_instanceof_Error_2082612c1902c887: () => __wbg_instanceof_Error_2082612c1902c887, - __wbg_instanceof_Map_ab2281a34d725111: () => __wbg_instanceof_Map_ab2281a34d725111, - __wbg_instanceof_ReadableStream_237dcd07f5770379: () => __wbg_instanceof_ReadableStream_237dcd07f5770379, - __wbg_instanceof_Response_240e67e5796c3c6b: () => __wbg_instanceof_Response_240e67e5796c3c6b, - __wbg_instanceof_Response_4cda8863008fcc6c: () => __wbg_instanceof_Response_4cda8863008fcc6c, - __wbg_iterator_22ed2b976832ff0c: () => __wbg_iterator_22ed2b976832ff0c, - __wbg_json_67d0b48a2788c62c: () => __wbg_json_67d0b48a2788c62c, - __wbg_latitude_d5fcfd3ed447a56f: () => __wbg_latitude_d5fcfd3ed447a56f, - __wbg_length_51f19f73d6d9eff3: () => __wbg_length_51f19f73d6d9eff3, - __wbg_list_931e641ac6f23b17: () => __wbg_list_931e641ac6f23b17, - __wbg_log_81af48944e57c9ca: () => __wbg_log_81af48944e57c9ca, - __wbg_longitude_fe3b2ea53a87ffac: () => __wbg_longitude_fe3b2ea53a87ffac, - __wbg_method_9f87b819726990a0: () => __wbg_method_9f87b819726990a0, - __wbg_minifyconfig_new: () => __wbg_minifyconfig_new, - __wbg_msCrypto_5a86d77a66230f81: () => __wbg_msCrypto_5a86d77a66230f81, - __wbg_name_ef3d2d249cf2458b: () => __wbg_name_ef3d2d249cf2458b, - __wbg_new0_adda2d4bcb124f0a: () => __wbg_new0_adda2d4bcb124f0a, - __wbg_new_306c2ffa69ee14e4: () => __wbg_new_306c2ffa69ee14e4, - __wbg_new_3ee7ebe9952c1fbd: () => __wbg_new_3ee7ebe9952c1fbd, - __wbg_new_4cba26249c1686cd: () => __wbg_new_4cba26249c1686cd, - __wbg_new_52205195aa880fc2: () => __wbg_new_52205195aa880fc2, - __wbg_new_693216e109162396: () => __wbg_new_693216e109162396, - __wbg_new_cda198d9dbc6d7ea: () => __wbg_new_cda198d9dbc6d7ea, - __wbg_new_e6a9fecc2bf26696: () => __wbg_new_e6a9fecc2bf26696, - __wbg_newnoargs_971e9a5abe185139: () => __wbg_newnoargs_971e9a5abe185139, - __wbg_newwithbyteoffsetandlength_88fdad741db1b182: () => __wbg_newwithbyteoffsetandlength_88fdad741db1b182, - __wbg_newwithlength_66e5530e7079ea1b: () => __wbg_newwithlength_66e5530e7079ea1b, - __wbg_newwithoptstrandinit_51f672706eeb5dfc: () => __wbg_newwithoptstrandinit_51f672706eeb5dfc, - __wbg_newwithoptstreamandinit_3326d20a7510e299: () => __wbg_newwithoptstreamandinit_3326d20a7510e299, - __wbg_newwithoptu8arrayandinit_d0f12406c27430d7: () => __wbg_newwithoptu8arrayandinit_d0f12406c27430d7, - __wbg_newwithstrandinit_78379a7cb206e929: () => __wbg_newwithstrandinit_78379a7cb206e929, - __wbg_newwithstrandinit_de7c409ec8538105: () => __wbg_newwithstrandinit_de7c409ec8538105, - __wbg_next_3d0c4cc33e7418c9: () => __wbg_next_3d0c4cc33e7418c9, - __wbg_next_726d1c2255989269: () => __wbg_next_726d1c2255989269, - __wbg_node_0dd25d832e4785d5: () => __wbg_node_0dd25d832e4785d5, - __wbg_process_e56fd54cf6319b6c: () => __wbg_process_e56fd54cf6319b6c, - __wbg_put_ad2fa3c546875811: () => __wbg_put_ad2fa3c546875811, - __wbg_randomFillSync_91e2b39becca6147: () => __wbg_randomFillSync_91e2b39becca6147, - __wbg_read_acf261e0102167eb: () => __wbg_read_acf261e0102167eb, - __wbg_region_b0cf49c9701238e5: () => __wbg_region_b0cf49c9701238e5, - __wbg_releaseLock_c7e236dc501dfdea: () => __wbg_releaseLock_c7e236dc501dfdea, - __wbg_require_0db1598d9ccecb30: () => __wbg_require_0db1598d9ccecb30, - __wbg_resolve_0107b3a501450ba0: () => __wbg_resolve_0107b3a501450ba0, - __wbg_respond_553c92471e2e621b: () => __wbg_respond_553c92471e2e621b, - __wbg_self_fd00a1ef86d1b2ed: () => __wbg_self_fd00a1ef86d1b2ed, - __wbg_set_1a930cfcda1a8067: () => __wbg_set_1a930cfcda1a8067, - __wbg_set_2762e698c2f5b7e0: () => __wbg_set_2762e698c2f5b7e0, - __wbg_set_4c3d3a2b873372e2: () => __wbg_set_4c3d3a2b873372e2, - __wbg_size_504c6eacd6726e79: () => __wbg_size_504c6eacd6726e79, - __wbg_stack_0ddaca5d1abfb52f: () => __wbg_stack_0ddaca5d1abfb52f, - __wbg_static_accessor_NODE_MODULE_26b231378c1be7dd: () => __wbg_static_accessor_NODE_MODULE_26b231378c1be7dd, - __wbg_status_4c861e5a315a89f1: () => __wbg_status_4c861e5a315a89f1, - __wbg_status_9067c6a4fdd064c9: () => __wbg_status_9067c6a4fdd064c9, - __wbg_storage_3b6d77e43683dc17: () => __wbg_storage_3b6d77e43683dc17, - __wbg_subarray_270ff8dd5582c1ac: () => __wbg_subarray_270ff8dd5582c1ac, - __wbg_then_18da6e5453572fc8: () => __wbg_then_18da6e5453572fc8, - __wbg_then_e5489f796341454b: () => __wbg_then_e5489f796341454b, - __wbg_toString_52a2b11cc788ff28: () => __wbg_toString_52a2b11cc788ff28, - __wbg_toString_dc4768002eeae1b0: () => __wbg_toString_dc4768002eeae1b0, - __wbg_toString_e23ccbeb26236492: () => __wbg_toString_e23ccbeb26236492, - __wbg_url_0f503b904b694ff5: () => __wbg_url_0f503b904b694ff5, - __wbg_url_1a1486b1eda80e31: () => __wbg_url_1a1486b1eda80e31, - __wbg_value_3e2aab1cc98423b7: () => __wbg_value_3e2aab1cc98423b7, - __wbg_value_8f901bca1014f843: () => __wbg_value_8f901bca1014f843, - __wbg_versions_77e21455908dad33: () => __wbg_versions_77e21455908dad33, - __wbg_view_7ad18ad26d71d774: () => __wbg_view_7ad18ad26d71d774, - __wbg_webSocket_3d06c13257e64973: () => __wbg_webSocket_3d06c13257e64973, - __wbg_window_6f6e346d8bbd61d7: () => __wbg_window_6f6e346d8bbd61d7, - __wbindgen_boolean_get: () => __wbindgen_boolean_get, - __wbindgen_cb_drop: () => __wbindgen_cb_drop, - __wbindgen_closure_wrapper3154: () => __wbindgen_closure_wrapper3154, - __wbindgen_debug_string: () => __wbindgen_debug_string, - __wbindgen_is_function: () => __wbindgen_is_function, - __wbindgen_is_object: () => __wbindgen_is_object, - __wbindgen_is_string: () => __wbindgen_is_string, - __wbindgen_is_undefined: () => __wbindgen_is_undefined, - __wbindgen_json_parse: () => __wbindgen_json_parse, - __wbindgen_json_serialize: () => __wbindgen_json_serialize, - __wbindgen_memory: () => __wbindgen_memory, - __wbindgen_number_get: () => __wbindgen_number_get, - __wbindgen_number_new: () => __wbindgen_number_new, - __wbindgen_object_clone_ref: () => __wbindgen_object_clone_ref, - __wbindgen_object_drop_ref: () => __wbindgen_object_drop_ref, - __wbindgen_rethrow: () => __wbindgen_rethrow, - __wbindgen_string_get: () => __wbindgen_string_get, - __wbindgen_string_new: () => __wbindgen_string_new, - __wbindgen_throw: () => __wbindgen_throw, - fetch: () => fetch2 -}); - -// snippets/wasm-streams-42e57edbcd526312/inline0.js -function bytes_literal() { - return "bytes"; -} - -// glue.js -import wasmModule from "./index.wasm"; -var instance = new WebAssembly.Instance(wasmModule, { "./index_bg.js": index_bg_exports }); -var glue_default = instance.exports; - -// index_bg.js -var heap = new Array(32).fill(void 0); -heap.push(void 0, null, true, false); -function getObject(idx) { - return heap[idx]; -} -var heap_next = heap.length; -function dropObject(idx) { - if (idx < 36) - return; - heap[idx] = heap_next; - heap_next = idx; -} -function takeObject(idx) { - const ret = getObject(idx); - dropObject(idx); - return ret; -} -var WASM_VECTOR_LEN = 0; -var cachedUint8Memory0 = new Uint8Array(); -function getUint8Memory0() { - if (cachedUint8Memory0.byteLength === 0) { - cachedUint8Memory0 = new Uint8Array(glue_default.memory.buffer); - } - return cachedUint8Memory0; -} -var lTextEncoder = typeof TextEncoder === "undefined" ? (0, module.require)("util").TextEncoder : TextEncoder; -var cachedTextEncoder = new lTextEncoder("utf-8"); -var encodeString = typeof cachedTextEncoder.encodeInto === "function" ? function(arg, view) { - return cachedTextEncoder.encodeInto(arg, view); -} : function(arg, view) { - const buf = cachedTextEncoder.encode(arg); - view.set(buf); - return { - read: arg.length, - written: buf.length - }; -}; -function passStringToWasm0(arg, malloc, realloc) { - if (realloc === void 0) { - const buf = cachedTextEncoder.encode(arg); - const ptr2 = malloc(buf.length); - getUint8Memory0().subarray(ptr2, ptr2 + buf.length).set(buf); - WASM_VECTOR_LEN = buf.length; - return ptr2; - } - let len = arg.length; - let ptr = malloc(len); - const mem = getUint8Memory0(); - let offset = 0; - for (; offset < len; offset++) { - const code = arg.charCodeAt(offset); - if (code > 127) - break; - mem[ptr + offset] = code; - } - if (offset !== len) { - if (offset !== 0) { - arg = arg.slice(offset); - } - ptr = realloc(ptr, len, len = offset + arg.length * 3); - const view = getUint8Memory0().subarray(ptr + offset, ptr + len); - const ret = encodeString(arg, view); - offset += ret.written; - } - WASM_VECTOR_LEN = offset; - return ptr; -} -var cachedInt32Memory0 = new Int32Array(); -function getInt32Memory0() { - if (cachedInt32Memory0.byteLength === 0) { - cachedInt32Memory0 = new Int32Array(glue_default.memory.buffer); - } - return cachedInt32Memory0; -} -var lTextDecoder = typeof TextDecoder === "undefined" ? (0, module.require)("util").TextDecoder : TextDecoder; -var cachedTextDecoder = new lTextDecoder("utf-8", { ignoreBOM: true, fatal: true }); -cachedTextDecoder.decode(); -function getStringFromWasm0(ptr, len) { - return cachedTextDecoder.decode(getUint8Memory0().subarray(ptr, ptr + len)); -} -function addHeapObject(obj) { - if (heap_next === heap.length) - heap.push(heap.length + 1); - const idx = heap_next; - heap_next = heap[idx]; - heap[idx] = obj; - return idx; -} -function isLikeNone(x) { - return x === void 0 || x === null; -} -var cachedFloat64Memory0 = new Float64Array(); -function getFloat64Memory0() { - if (cachedFloat64Memory0.byteLength === 0) { - cachedFloat64Memory0 = new Float64Array(glue_default.memory.buffer); - } - return cachedFloat64Memory0; -} -function debugString(val) { - const type = typeof val; - if (type == "number" || type == "boolean" || val == null) { - return `${val}`; - } - if (type == "string") { - return `"${val}"`; - } - if (type == "symbol") { - const description = val.description; - if (description == null) { - return "Symbol"; - } else { - return `Symbol(${description})`; - } - } - if (type == "function") { - const name = val.name; - if (typeof name == "string" && name.length > 0) { - return `Function(${name})`; - } else { - return "Function"; - } - } - if (Array.isArray(val)) { - const length = val.length; - let debug = "["; - if (length > 0) { - debug += debugString(val[0]); - } - for (let i = 1; i < length; i++) { - debug += ", " + debugString(val[i]); - } - debug += "]"; - return debug; - } - const builtInMatches = /\[object ([^\]]+)\]/.exec(toString.call(val)); - let className; - if (builtInMatches.length > 1) { - className = builtInMatches[1]; - } else { - return toString.call(val); - } - if (className == "Object") { - try { - return "Object(" + JSON.stringify(val) + ")"; - } catch (_) { - return "Object"; - } - } - if (val instanceof Error) { - return `${val.name}: ${val.message} -${val.stack}`; - } - return className; -} -function makeMutClosure(arg0, arg1, dtor, f) { - const state = { a: arg0, b: arg1, cnt: 1, dtor }; - const real = (...args) => { - state.cnt++; - const a = state.a; - state.a = 0; - try { - return f(a, state.b, ...args); - } finally { - if (--state.cnt === 0) { - glue_default.__wbindgen_export_2.get(state.dtor)(a, state.b); - } else { - state.a = a; - } - } - }; - real.original = state; - return real; -} -function __wbg_adapter_38(arg0, arg1, arg2) { - glue_default._dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h7be97a79e68223e0(arg0, arg1, addHeapObject(arg2)); -} -function fetch2(req, env, ctx) { - const ret = glue_default.fetch(addHeapObject(req), addHeapObject(env), addHeapObject(ctx)); - return takeObject(ret); -} -function handleError(f, args) { - try { - return f.apply(this, args); - } catch (e) { - glue_default.__wbindgen_exn_store(addHeapObject(e)); - } -} -var cachedUint32Memory0 = new Uint32Array(); -function getUint32Memory0() { - if (cachedUint32Memory0.byteLength === 0) { - cachedUint32Memory0 = new Uint32Array(glue_default.memory.buffer); - } - return cachedUint32Memory0; -} -function getArrayJsValueFromWasm0(ptr, len) { - const mem = getUint32Memory0(); - const slice = mem.subarray(ptr / 4, ptr / 4 + len); - const result = []; - for (let i = 0; i < slice.length; i++) { - result.push(takeObject(slice[i])); - } - return result; -} -function getArrayU8FromWasm0(ptr, len) { - return getUint8Memory0().subarray(ptr / 1, ptr / 1 + len); -} -function __wbg_adapter_268(arg0, arg1, arg2, arg3) { - glue_default.wasm_bindgen__convert__closures__invoke2_mut__hc7167bf44b7387ed(arg0, arg1, addHeapObject(arg2), addHeapObject(arg3)); -} -var PolishConfig = Object.freeze({ Off: 0, "0": "Off", Lossy: 1, "1": "Lossy", Lossless: 2, "2": "Lossless" }); -var RequestRedirect = Object.freeze({ Error: 0, "0": "Error", Follow: 1, "1": "Follow", Manual: 2, "2": "Manual" }); -var AggregateStore = class { - static __wrap(ptr) { - const obj = Object.create(AggregateStore.prototype); - obj.ptr = ptr; - return obj; - } - __destroy_into_raw() { - const ptr = this.ptr; - this.ptr = 0; - return ptr; - } - free() { - const ptr = this.__destroy_into_raw(); - glue_default.__wbg_aggregatestore_free(ptr); - } - constructor(state, env) { - const ret = glue_default.aggregatestore__new(addHeapObject(state), addHeapObject(env)); - return AggregateStore.__wrap(ret); - } - fetch(req) { - const ret = glue_default.aggregatestore_fetch(this.ptr, addHeapObject(req)); - return takeObject(ret); - } -}; -var GarbageCollector = class { - static __wrap(ptr) { - const obj = Object.create(GarbageCollector.prototype); - obj.ptr = ptr; - return obj; - } - __destroy_into_raw() { - const ptr = this.ptr; - this.ptr = 0; - return ptr; - } - free() { - const ptr = this.__destroy_into_raw(); - glue_default.__wbg_garbagecollector_free(ptr); - } - constructor(state, env) { - const ret = glue_default.garbagecollector__new(addHeapObject(state), addHeapObject(env)); - return GarbageCollector.__wrap(ret); - } - fetch(req) { - const ret = glue_default.garbagecollector_fetch(this.ptr, addHeapObject(req)); - return takeObject(ret); - } -}; -var HelperStateStore = class { - static __wrap(ptr) { - const obj = Object.create(HelperStateStore.prototype); - obj.ptr = ptr; - return obj; - } - __destroy_into_raw() { - const ptr = this.ptr; - this.ptr = 0; - return ptr; - } - free() { - const ptr = this.__destroy_into_raw(); - glue_default.__wbg_helperstatestore_free(ptr); - } - constructor(state, env) { - const ret = glue_default.helperstatestore__new(addHeapObject(state), addHeapObject(env)); - return HelperStateStore.__wrap(ret); - } - fetch(req) { - const ret = glue_default.helperstatestore_fetch(this.ptr, addHeapObject(req)); - return takeObject(ret); - } -}; -var IntoUnderlyingByteSource = class { - __destroy_into_raw() { - const ptr = this.ptr; - this.ptr = 0; - return ptr; - } - free() { - const ptr = this.__destroy_into_raw(); - glue_default.__wbg_intounderlyingbytesource_free(ptr); - } - get type() { - const ret = glue_default.intounderlyingbytesource_type(this.ptr); - return takeObject(ret); - } - get autoAllocateChunkSize() { - const ret = glue_default.intounderlyingbytesource_autoAllocateChunkSize(this.ptr); - return ret >>> 0; - } - start(controller) { - glue_default.intounderlyingbytesource_start(this.ptr, addHeapObject(controller)); - } - pull(controller) { - const ret = glue_default.intounderlyingbytesource_pull(this.ptr, addHeapObject(controller)); - return takeObject(ret); - } - cancel() { - const ptr = this.__destroy_into_raw(); - glue_default.intounderlyingbytesource_cancel(ptr); - } -}; -var IntoUnderlyingSink = class { - __destroy_into_raw() { - const ptr = this.ptr; - this.ptr = 0; - return ptr; - } - free() { - const ptr = this.__destroy_into_raw(); - glue_default.__wbg_intounderlyingsink_free(ptr); - } - write(chunk) { - const ret = glue_default.intounderlyingsink_write(this.ptr, addHeapObject(chunk)); - return takeObject(ret); - } - close() { - const ptr = this.__destroy_into_raw(); - const ret = glue_default.intounderlyingsink_close(ptr); - return takeObject(ret); - } - abort(reason) { - const ptr = this.__destroy_into_raw(); - const ret = glue_default.intounderlyingsink_abort(ptr, addHeapObject(reason)); - return takeObject(ret); - } -}; -var IntoUnderlyingSource = class { - __destroy_into_raw() { - const ptr = this.ptr; - this.ptr = 0; - return ptr; - } - free() { - const ptr = this.__destroy_into_raw(); - glue_default.__wbg_intounderlyingsource_free(ptr); - } - pull(controller) { - const ret = glue_default.intounderlyingsource_pull(this.ptr, addHeapObject(controller)); - return takeObject(ret); - } - cancel() { - const ptr = this.__destroy_into_raw(); - glue_default.intounderlyingsource_cancel(ptr); - } -}; -var LeaderAggregationJobQueue = class { - static __wrap(ptr) { - const obj = Object.create(LeaderAggregationJobQueue.prototype); - obj.ptr = ptr; - return obj; - } - __destroy_into_raw() { - const ptr = this.ptr; - this.ptr = 0; - return ptr; - } - free() { - const ptr = this.__destroy_into_raw(); - glue_default.__wbg_leaderaggregationjobqueue_free(ptr); - } - constructor(state, env) { - const ret = glue_default.leaderaggregationjobqueue__new(addHeapObject(state), addHeapObject(env)); - return LeaderAggregationJobQueue.__wrap(ret); - } - fetch(req) { - const ret = glue_default.leaderaggregationjobqueue_fetch(this.ptr, addHeapObject(req)); - return takeObject(ret); - } -}; -var LeaderCollectionJobQueue = class { - static __wrap(ptr) { - const obj = Object.create(LeaderCollectionJobQueue.prototype); - obj.ptr = ptr; - return obj; - } - __destroy_into_raw() { - const ptr = this.ptr; - this.ptr = 0; - return ptr; - } - free() { - const ptr = this.__destroy_into_raw(); - glue_default.__wbg_leadercollectionjobqueue_free(ptr); - } - constructor(state, env) { - const ret = glue_default.leadercollectionjobqueue__new(addHeapObject(state), addHeapObject(env)); - return LeaderCollectionJobQueue.__wrap(ret); - } - fetch(req) { - const ret = glue_default.leadercollectionjobqueue_fetch(this.ptr, addHeapObject(req)); - return takeObject(ret); - } -}; -var MinifyConfig = class { - static __wrap(ptr) { - const obj = Object.create(MinifyConfig.prototype); - obj.ptr = ptr; - return obj; - } - __destroy_into_raw() { - const ptr = this.ptr; - this.ptr = 0; - return ptr; - } - free() { - const ptr = this.__destroy_into_raw(); - glue_default.__wbg_minifyconfig_free(ptr); - } - get js() { - const ret = glue_default.__wbg_get_minifyconfig_js(this.ptr); - return ret !== 0; - } - set js(arg0) { - glue_default.__wbg_set_minifyconfig_js(this.ptr, arg0); - } - get html() { - const ret = glue_default.__wbg_get_minifyconfig_html(this.ptr); - return ret !== 0; - } - set html(arg0) { - glue_default.__wbg_set_minifyconfig_html(this.ptr, arg0); - } - get css() { - const ret = glue_default.__wbg_get_minifyconfig_css(this.ptr); - return ret !== 0; - } - set css(arg0) { - glue_default.__wbg_set_minifyconfig_css(this.ptr, arg0); - } -}; -var PipeOptions = class { - __destroy_into_raw() { - const ptr = this.ptr; - this.ptr = 0; - return ptr; - } - free() { - const ptr = this.__destroy_into_raw(); - glue_default.__wbg_pipeoptions_free(ptr); - } - get preventClose() { - const ret = glue_default.pipeoptions_preventClose(this.ptr); - return ret !== 0; - } - get preventCancel() { - const ret = glue_default.pipeoptions_preventCancel(this.ptr); - return ret !== 0; - } - get preventAbort() { - const ret = glue_default.pipeoptions_preventAbort(this.ptr); - return ret !== 0; - } - get signal() { - const ret = glue_default.pipeoptions_signal(this.ptr); - return takeObject(ret); - } -}; -var QueuingStrategy = class { - __destroy_into_raw() { - const ptr = this.ptr; - this.ptr = 0; - return ptr; - } - free() { - const ptr = this.__destroy_into_raw(); - glue_default.__wbg_queuingstrategy_free(ptr); - } - get highWaterMark() { - const ret = glue_default.queuingstrategy_highWaterMark(this.ptr); - return ret; - } -}; -var ReadableStreamGetReaderOptions = class { - __destroy_into_raw() { - const ptr = this.ptr; - this.ptr = 0; - return ptr; - } - free() { - const ptr = this.__destroy_into_raw(); - glue_default.__wbg_readablestreamgetreaderoptions_free(ptr); - } - get mode() { - const ret = glue_default.readablestreamgetreaderoptions_mode(this.ptr); - return takeObject(ret); - } -}; -var ReportStore = class { - static __wrap(ptr) { - const obj = Object.create(ReportStore.prototype); - obj.ptr = ptr; - return obj; - } - __destroy_into_raw() { - const ptr = this.ptr; - this.ptr = 0; - return ptr; - } - free() { - const ptr = this.__destroy_into_raw(); - glue_default.__wbg_reportstore_free(ptr); - } - constructor(state, env) { - const ret = glue_default.reportstore__new(addHeapObject(state), addHeapObject(env)); - return ReportStore.__wrap(ret); - } - fetch(req) { - const ret = glue_default.reportstore_fetch(this.ptr, addHeapObject(req)); - return takeObject(ret); - } -}; -function __wbindgen_object_drop_ref(arg0) { - takeObject(arg0); -} -function __wbindgen_json_serialize(arg0, arg1) { - const obj = getObject(arg1); - const ret = JSON.stringify(obj === void 0 ? null : obj); - const ptr0 = passStringToWasm0(ret, glue_default.__wbindgen_malloc, glue_default.__wbindgen_realloc); - const len0 = WASM_VECTOR_LEN; - getInt32Memory0()[arg0 / 4 + 1] = len0; - getInt32Memory0()[arg0 / 4 + 0] = ptr0; -} -function __wbindgen_string_new(arg0, arg1) { - const ret = getStringFromWasm0(arg0, arg1); - return addHeapObject(ret); -} -function __wbindgen_string_get(arg0, arg1) { - const obj = getObject(arg1); - const ret = typeof obj === "string" ? obj : void 0; - var ptr0 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, glue_default.__wbindgen_malloc, glue_default.__wbindgen_realloc); - var len0 = WASM_VECTOR_LEN; - getInt32Memory0()[arg0 / 4 + 1] = len0; - getInt32Memory0()[arg0 / 4 + 0] = ptr0; -} -function __wbg_new_693216e109162396() { - const ret = new Error(); - return addHeapObject(ret); -} -function __wbg_stack_0ddaca5d1abfb52f(arg0, arg1) { - const ret = getObject(arg1).stack; - const ptr0 = passStringToWasm0(ret, glue_default.__wbindgen_malloc, glue_default.__wbindgen_realloc); - const len0 = WASM_VECTOR_LEN; - getInt32Memory0()[arg0 / 4 + 1] = len0; - getInt32Memory0()[arg0 / 4 + 0] = ptr0; -} -function __wbg_error_09919627ac0992f5(arg0, arg1) { - try { - console.error(getStringFromWasm0(arg0, arg1)); - } finally { - glue_default.__wbindgen_free(arg0, arg1); - } -} -function __wbindgen_number_get(arg0, arg1) { - const obj = getObject(arg1); - const ret = typeof obj === "number" ? obj : void 0; - getFloat64Memory0()[arg0 / 8 + 1] = isLikeNone(ret) ? 0 : ret; - getInt32Memory0()[arg0 / 4 + 0] = !isLikeNone(ret); -} -function __wbindgen_boolean_get(arg0) { - const v = getObject(arg0); - const ret = typeof v === "boolean" ? v ? 1 : 0 : 2; - return ret; -} -function __wbindgen_is_undefined(arg0) { - const ret = getObject(arg0) === void 0; - return ret; -} -function __wbindgen_json_parse(arg0, arg1) { - const ret = JSON.parse(getStringFromWasm0(arg0, arg1)); - return addHeapObject(ret); -} -function __wbindgen_object_clone_ref(arg0) { - const ret = getObject(arg0); - return addHeapObject(ret); -} -function __wbg_fetch_5274d89a348c0462(arg0) { - const ret = fetch(getObject(arg0)); - return addHeapObject(ret); -} -function __wbindgen_cb_drop(arg0) { - const obj = takeObject(arg0).original; - if (obj.cnt-- == 1) { - obj.a = 0; - return true; - } - const ret = false; - return ret; -} -function __wbindgen_number_new(arg0) { - const ret = arg0; - return addHeapObject(ret); -} -function __wbindgen_is_string(arg0) { - const ret = typeof getObject(arg0) === "string"; - return ret; -} -function __wbg_minifyconfig_new(arg0) { - const ret = MinifyConfig.__wrap(arg0); - return addHeapObject(ret); -} -function __wbindgen_is_object(arg0) { - const val = getObject(arg0); - const ret = typeof val === "object" && val !== null; - return ret; -} -function __wbg_instanceof_ReadableStream_237dcd07f5770379(arg0) { - const ret = getObject(arg0) instanceof ReadableStream; - return ret; -} -function __wbg_getReader_ceb9349418d407cb() { - return handleError(function(arg0) { - const ret = getObject(arg0).getReader(); - return addHeapObject(ret); - }, arguments); -} -function __wbg_close_146359de33accd5b(arg0) { - getObject(arg0).close(); -} -function __wbg_enqueue_eb446030ed643eb5(arg0, arg1) { - getObject(arg0).enqueue(getObject(arg1)); -} -function __wbg_byobRequest_3e1cb18a6efca4e4(arg0) { - const ret = getObject(arg0).byobRequest; - return isLikeNone(ret) ? 0 : addHeapObject(ret); -} -function __wbg_close_26866406ee8e0abb(arg0) { - getObject(arg0).close(); -} -function __wbg_view_7ad18ad26d71d774(arg0) { - const ret = getObject(arg0).view; - return isLikeNone(ret) ? 0 : addHeapObject(ret); -} -function __wbg_respond_553c92471e2e621b(arg0, arg1) { - getObject(arg0).respond(arg1 >>> 0); -} -function __wbg_buffer_f00028fd9efc903b(arg0) { - const ret = getObject(arg0).buffer; - return addHeapObject(ret); -} -function __wbg_byteOffset_b3edd58064ebb082(arg0) { - const ret = getObject(arg0).byteOffset; - return ret; -} -function __wbg_byteLength_6f22329fd199ce7d(arg0) { - const ret = getObject(arg0).byteLength; - return ret; -} -function __wbg_cancel_c3889b9518797ceb(arg0) { - const ret = getObject(arg0).cancel(); - return addHeapObject(ret); -} -function __wbg_releaseLock_c7e236dc501dfdea() { - return handleError(function(arg0) { - getObject(arg0).releaseLock(); - }, arguments); -} -function __wbg_read_acf261e0102167eb(arg0) { - const ret = getObject(arg0).read(); - return addHeapObject(ret); -} -function __wbg_done_7ecb290d5cbc766e(arg0) { - const ret = getObject(arg0).done; - return ret; -} -function __wbg_value_3e2aab1cc98423b7(arg0) { - const ret = getObject(arg0).value; - return addHeapObject(ret); -} -function __wbg_bytesliteral_1860f600f905fea0() { - const ret = bytes_literal(); - return addHeapObject(ret); -} -function __wbg_toString_e23ccbeb26236492(arg0) { - const ret = getObject(arg0).toString(); - return addHeapObject(ret); -} -function __wbg_id_65c5c2eaeb0a57bc(arg0) { - const ret = getObject(arg0).id; - return addHeapObject(ret); -} -function __wbg_storage_3b6d77e43683dc17(arg0) { - const ret = getObject(arg0).storage; - return addHeapObject(ret); -} -function __wbg_idFromName_e76990eb3c2c8075() { - return handleError(function(arg0, arg1, arg2) { - const ret = getObject(arg0).idFromName(getStringFromWasm0(arg1, arg2)); - return addHeapObject(ret); - }, arguments); -} -function __wbg_idFromString_8a02838f99f5ce77() { - return handleError(function(arg0, arg1, arg2) { - const ret = getObject(arg0).idFromString(getStringFromWasm0(arg1, arg2)); - return addHeapObject(ret); - }, arguments); -} -function __wbg_get_c42368f08ade3c81() { - return handleError(function(arg0, arg1) { - const ret = getObject(arg0).get(getObject(arg1)); - return addHeapObject(ret); - }, arguments); -} -function __wbg_fetch_7695585502c326bb(arg0, arg1) { - const ret = getObject(arg0).fetch(getObject(arg1)); - return addHeapObject(ret); -} -function __wbg_get_08edb23297a6eae0() { - return handleError(function(arg0, arg1, arg2) { - const ret = getObject(arg0).get(getStringFromWasm0(arg1, arg2)); - return addHeapObject(ret); - }, arguments); -} -function __wbg_put_ad2fa3c546875811() { - return handleError(function(arg0, arg1, arg2, arg3) { - const ret = getObject(arg0).put(getStringFromWasm0(arg1, arg2), takeObject(arg3)); - return addHeapObject(ret); - }, arguments); -} -function __wbg_delete_3c6fca148005441f() { - return handleError(function(arg0, arg1, arg2) { - const ret = getObject(arg0).delete(getStringFromWasm0(arg1, arg2)); - return addHeapObject(ret); - }, arguments); -} -function __wbg_delete_83217178d7a223eb() { - return handleError(function(arg0, arg1, arg2) { - var v0 = getArrayJsValueFromWasm0(arg1, arg2).slice(); - glue_default.__wbindgen_free(arg1, arg2 * 4); - const ret = getObject(arg0).delete(v0); - return addHeapObject(ret); - }, arguments); -} -function __wbg_deleteAll_fe4f61e098d6947d() { - return handleError(function(arg0) { - const ret = getObject(arg0).deleteAll(); - return addHeapObject(ret); - }, arguments); -} -function __wbg_list_931e641ac6f23b17() { - return handleError(function(arg0, arg1) { - const ret = getObject(arg0).list(takeObject(arg1)); - return addHeapObject(ret); - }, arguments); -} -function __wbg_instanceof_Response_4cda8863008fcc6c(arg0) { - const ret = getObject(arg0) instanceof Response; - return ret; -} -function __wbg_status_4c861e5a315a89f1(arg0) { - const ret = getObject(arg0).status; - return ret; -} -function __wbg_headers_cd273c0104da6697(arg0) { - const ret = getObject(arg0).headers; - return addHeapObject(ret); -} -function __wbg_webSocket_3d06c13257e64973(arg0) { - const ret = getObject(arg0).webSocket; - return isLikeNone(ret) ? 0 : addHeapObject(ret); -} -function __wbg_body_448aadd788727e77(arg0) { - const ret = getObject(arg0).body; - return isLikeNone(ret) ? 0 : addHeapObject(ret); -} -function __wbg_newwithoptu8arrayandinit_d0f12406c27430d7() { - return handleError(function(arg0, arg1) { - const ret = new Response(takeObject(arg0), getObject(arg1)); - return addHeapObject(ret); - }, arguments); -} -function __wbg_newwithoptstrandinit_51f672706eeb5dfc() { - return handleError(function(arg0, arg1, arg2) { - const ret = new Response(arg0 === 0 ? void 0 : getStringFromWasm0(arg0, arg1), getObject(arg2)); - return addHeapObject(ret); - }, arguments); -} -function __wbg_newwithoptstreamandinit_3326d20a7510e299() { - return handleError(function(arg0, arg1) { - const ret = new Response(takeObject(arg0), getObject(arg1)); - return addHeapObject(ret); - }, arguments); -} -function __wbg_latitude_d5fcfd3ed447a56f(arg0, arg1) { - const ret = getObject(arg1).latitude; - var ptr0 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, glue_default.__wbindgen_malloc, glue_default.__wbindgen_realloc); - var len0 = WASM_VECTOR_LEN; - getInt32Memory0()[arg0 / 4 + 1] = len0; - getInt32Memory0()[arg0 / 4 + 0] = ptr0; -} -function __wbg_longitude_fe3b2ea53a87ffac(arg0, arg1) { - const ret = getObject(arg1).longitude; - var ptr0 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, glue_default.__wbindgen_malloc, glue_default.__wbindgen_realloc); - var len0 = WASM_VECTOR_LEN; - getInt32Memory0()[arg0 / 4 + 1] = len0; - getInt32Memory0()[arg0 / 4 + 0] = ptr0; -} -function __wbg_region_b0cf49c9701238e5(arg0, arg1) { - const ret = getObject(arg1).region; - var ptr0 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, glue_default.__wbindgen_malloc, glue_default.__wbindgen_realloc); - var len0 = WASM_VECTOR_LEN; - getInt32Memory0()[arg0 / 4 + 1] = len0; - getInt32Memory0()[arg0 / 4 + 0] = ptr0; -} -function __wbg_method_9f87b819726990a0(arg0, arg1) { - const ret = getObject(arg1).method; - const ptr0 = passStringToWasm0(ret, glue_default.__wbindgen_malloc, glue_default.__wbindgen_realloc); - const len0 = WASM_VECTOR_LEN; - getInt32Memory0()[arg0 / 4 + 1] = len0; - getInt32Memory0()[arg0 / 4 + 0] = ptr0; -} -function __wbg_url_1a1486b1eda80e31(arg0, arg1) { - const ret = getObject(arg1).url; - const ptr0 = passStringToWasm0(ret, glue_default.__wbindgen_malloc, glue_default.__wbindgen_realloc); - const len0 = WASM_VECTOR_LEN; - getInt32Memory0()[arg0 / 4 + 1] = len0; - getInt32Memory0()[arg0 / 4 + 0] = ptr0; -} -function __wbg_headers_1041ecaccc96679c(arg0) { - const ret = getObject(arg0).headers; - return addHeapObject(ret); -} -function __wbg_newwithstrandinit_78379a7cb206e929() { - return handleError(function(arg0, arg1, arg2) { - const ret = new Request(getStringFromWasm0(arg0, arg1), getObject(arg2)); - return addHeapObject(ret); - }, arguments); -} -function __wbg_arrayBuffer_37a26d82dfa0e8fe() { - return handleError(function(arg0) { - const ret = getObject(arg0).arrayBuffer(); - return addHeapObject(ret); - }, arguments); -} -function __wbg_json_67d0b48a2788c62c() { - return handleError(function(arg0) { - const ret = getObject(arg0).json(); - return addHeapObject(ret); - }, arguments); -} -function __wbg_cf_618414bbd658dfda(arg0) { - const ret = getObject(arg0).cf; - return addHeapObject(ret); -} -function __wbg_new_306c2ffa69ee14e4() { - return handleError(function() { - const ret = new Headers(); - return addHeapObject(ret); - }, arguments); -} -function __wbg_get_0dd2d3769e543ec8() { - return handleError(function(arg0, arg1, arg2, arg3) { - const ret = getObject(arg1).get(getStringFromWasm0(arg2, arg3)); - var ptr0 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, glue_default.__wbindgen_malloc, glue_default.__wbindgen_realloc); - var len0 = WASM_VECTOR_LEN; - getInt32Memory0()[arg0 / 4 + 1] = len0; - getInt32Memory0()[arg0 / 4 + 0] = ptr0; - }, arguments); -} -function __wbg_set_4c3d3a2b873372e2() { - return handleError(function(arg0, arg1, arg2, arg3, arg4) { - getObject(arg0).set(getStringFromWasm0(arg1, arg2), getStringFromWasm0(arg3, arg4)); - }, arguments); -} -function __wbg_debug_456ceacb5301d849(arg0, arg1) { - console.debug(getStringFromWasm0(arg0, arg1)); -} -function __wbg_log_81af48944e57c9ca(arg0, arg1) { - console.log(getStringFromWasm0(arg0, arg1)); -} -function __wbg_error_3d6df09bb68be9e4(arg0, arg1) { - console.error(getStringFromWasm0(arg0, arg1)); -} -function __wbg_process_e56fd54cf6319b6c(arg0) { - const ret = getObject(arg0).process; - return addHeapObject(ret); -} -function __wbg_versions_77e21455908dad33(arg0) { - const ret = getObject(arg0).versions; - return addHeapObject(ret); -} -function __wbg_node_0dd25d832e4785d5(arg0) { - const ret = getObject(arg0).node; - return addHeapObject(ret); -} -function __wbg_require_0db1598d9ccecb30() { - return handleError(function(arg0, arg1, arg2) { - const ret = getObject(arg0).require(getStringFromWasm0(arg1, arg2)); - return addHeapObject(ret); - }, arguments); -} -function __wbg_crypto_b95d7173266618a9(arg0) { - const ret = getObject(arg0).crypto; - return addHeapObject(ret); -} -function __wbg_msCrypto_5a86d77a66230f81(arg0) { - const ret = getObject(arg0).msCrypto; - return addHeapObject(ret); -} -function __wbg_getRandomValues_b14734aa289bc356() { - return handleError(function(arg0, arg1) { - getObject(arg0).getRandomValues(getObject(arg1)); - }, arguments); -} -function __wbg_static_accessor_NODE_MODULE_26b231378c1be7dd() { - const ret = module; - return addHeapObject(ret); -} -function __wbg_randomFillSync_91e2b39becca6147() { - return handleError(function(arg0, arg1, arg2) { - getObject(arg0).randomFillSync(getArrayU8FromWasm0(arg1, arg2)); - }, arguments); -} -function __wbg_fetch_17b968b9c79d3c56(arg0, arg1) { - const ret = getObject(arg0).fetch(getObject(arg1)); - return addHeapObject(ret); -} -function __wbg_new_4cba26249c1686cd() { - return handleError(function() { - const ret = new Headers(); - return addHeapObject(ret); - }, arguments); -} -function __wbg_append_9c6d4d7f71076e48() { - return handleError(function(arg0, arg1, arg2, arg3, arg4) { - getObject(arg0).append(getStringFromWasm0(arg1, arg2), getStringFromWasm0(arg3, arg4)); - }, arguments); -} -function __wbg_instanceof_Response_240e67e5796c3c6b(arg0) { - const ret = getObject(arg0) instanceof Response; - return ret; -} -function __wbg_url_0f503b904b694ff5(arg0, arg1) { - const ret = getObject(arg1).url; - const ptr0 = passStringToWasm0(ret, glue_default.__wbindgen_malloc, glue_default.__wbindgen_realloc); - const len0 = WASM_VECTOR_LEN; - getInt32Memory0()[arg0 / 4 + 1] = len0; - getInt32Memory0()[arg0 / 4 + 0] = ptr0; -} -function __wbg_status_9067c6a4fdd064c9(arg0) { - const ret = getObject(arg0).status; - return ret; -} -function __wbg_headers_aa309e800cf75016(arg0) { - const ret = getObject(arg0).headers; - return addHeapObject(ret); -} -function __wbg_arrayBuffer_ccd485f4d2929b08() { - return handleError(function(arg0) { - const ret = getObject(arg0).arrayBuffer(); - return addHeapObject(ret); - }, arguments); -} -function __wbg_newwithstrandinit_de7c409ec8538105() { - return handleError(function(arg0, arg1, arg2) { - const ret = new Request(getStringFromWasm0(arg0, arg1), getObject(arg2)); - return addHeapObject(ret); - }, arguments); -} -function __wbindgen_is_function(arg0) { - const ret = typeof getObject(arg0) === "function"; - return ret; -} -function __wbg_newnoargs_971e9a5abe185139(arg0, arg1) { - const ret = new Function(getStringFromWasm0(arg0, arg1)); - return addHeapObject(ret); -} -function __wbg_next_726d1c2255989269(arg0) { - const ret = getObject(arg0).next; - return addHeapObject(ret); -} -function __wbg_next_3d0c4cc33e7418c9() { - return handleError(function(arg0) { - const ret = getObject(arg0).next(); - return addHeapObject(ret); - }, arguments); -} -function __wbg_done_e5655b169bb04f60(arg0) { - const ret = getObject(arg0).done; - return ret; -} -function __wbg_value_8f901bca1014f843(arg0) { - const ret = getObject(arg0).value; - return addHeapObject(ret); -} -function __wbg_iterator_22ed2b976832ff0c() { - const ret = Symbol.iterator; - return addHeapObject(ret); -} -function __wbg_get_72332cd2bc57924c() { - return handleError(function(arg0, arg1) { - const ret = Reflect.get(getObject(arg0), getObject(arg1)); - return addHeapObject(ret); - }, arguments); -} -function __wbg_call_33d7bcddbbfa394a() { - return handleError(function(arg0, arg1) { - const ret = getObject(arg0).call(getObject(arg1)); - return addHeapObject(ret); - }, arguments); -} -function __wbg_new_e6a9fecc2bf26696() { - const ret = new Object(); - return addHeapObject(ret); -} -function __wbg_self_fd00a1ef86d1b2ed() { - return handleError(function() { - const ret = self.self; - return addHeapObject(ret); - }, arguments); -} -function __wbg_window_6f6e346d8bbd61d7() { - return handleError(function() { - const ret = window.window; - return addHeapObject(ret); - }, arguments); -} -function __wbg_globalThis_3348936ac49df00a() { - return handleError(function() { - const ret = globalThis.globalThis; - return addHeapObject(ret); - }, arguments); -} -function __wbg_global_67175caf56f55ca9() { - return handleError(function() { - const ret = global.global; - return addHeapObject(ret); - }, arguments); -} -function __wbg_instanceof_Error_2082612c1902c887(arg0) { - const ret = getObject(arg0) instanceof Error; - return ret; -} -function __wbg_new_3ee7ebe9952c1fbd(arg0, arg1) { - const ret = new Error(getStringFromWasm0(arg0, arg1)); - return addHeapObject(ret); -} -function __wbg_toString_dc4768002eeae1b0(arg0) { - const ret = getObject(arg0).toString(); - return addHeapObject(ret); -} -function __wbg_call_65af9f665ab6ade5() { - return handleError(function(arg0, arg1, arg2) { - const ret = getObject(arg0).call(getObject(arg1), getObject(arg2)); - return addHeapObject(ret); - }, arguments); -} -function __wbg_name_ef3d2d249cf2458b(arg0) { - const ret = getObject(arg0).name; - return addHeapObject(ret); -} -function __wbg_instanceof_Map_ab2281a34d725111(arg0) { - const ret = getObject(arg0) instanceof Map; - return ret; -} -function __wbg_size_504c6eacd6726e79(arg0) { - const ret = getObject(arg0).size; - return ret; -} -function __wbg_entries_0484230041166373(arg0) { - const ret = getObject(arg0).entries(); - return addHeapObject(ret); -} -function __wbg_getTime_58b0bdbebd4ef11d(arg0) { - const ret = getObject(arg0).getTime(); - return ret; -} -function __wbg_new0_adda2d4bcb124f0a() { - const ret = new Date(); - return addHeapObject(ret); -} -function __wbg_toString_52a2b11cc788ff28(arg0) { - const ret = getObject(arg0).toString(); - return addHeapObject(ret); -} -function __wbg_constructor_49b344c0ab64de09(arg0) { - const ret = getObject(arg0).constructor; - return addHeapObject(ret); -} -function __wbg_new_52205195aa880fc2(arg0, arg1) { - try { - var state0 = { a: arg0, b: arg1 }; - var cb0 = (arg02, arg12) => { - const a = state0.a; - state0.a = 0; - try { - return __wbg_adapter_268(a, state0.b, arg02, arg12); - } finally { - state0.a = a; - } - }; - const ret = new Promise(cb0); - return addHeapObject(ret); - } finally { - state0.a = state0.b = 0; - } -} -function __wbg_resolve_0107b3a501450ba0(arg0) { - const ret = Promise.resolve(getObject(arg0)); - return addHeapObject(ret); -} -function __wbg_catch_b1d5ec6a035f3be8(arg0, arg1) { - const ret = getObject(arg0).catch(getObject(arg1)); - return addHeapObject(ret); -} -function __wbg_then_18da6e5453572fc8(arg0, arg1) { - const ret = getObject(arg0).then(getObject(arg1)); - return addHeapObject(ret); -} -function __wbg_then_e5489f796341454b(arg0, arg1, arg2) { - const ret = getObject(arg0).then(getObject(arg1), getObject(arg2)); - return addHeapObject(ret); -} -function __wbg_buffer_34f5ec9f8a838ba0(arg0) { - const ret = getObject(arg0).buffer; - return addHeapObject(ret); -} -function __wbg_newwithbyteoffsetandlength_88fdad741db1b182(arg0, arg1, arg2) { - const ret = new Uint8Array(getObject(arg0), arg1 >>> 0, arg2 >>> 0); - return addHeapObject(ret); -} -function __wbg_new_cda198d9dbc6d7ea(arg0) { - const ret = new Uint8Array(getObject(arg0)); - return addHeapObject(ret); -} -function __wbg_set_1a930cfcda1a8067(arg0, arg1, arg2) { - getObject(arg0).set(getObject(arg1), arg2 >>> 0); -} -function __wbg_length_51f19f73d6d9eff3(arg0) { - const ret = getObject(arg0).length; - return ret; -} -function __wbg_newwithlength_66e5530e7079ea1b(arg0) { - const ret = new Uint8Array(arg0 >>> 0); - return addHeapObject(ret); -} -function __wbg_subarray_270ff8dd5582c1ac(arg0, arg1, arg2) { - const ret = getObject(arg0).subarray(arg1 >>> 0, arg2 >>> 0); - return addHeapObject(ret); -} -function __wbg_has_3be27932089d278e() { - return handleError(function(arg0, arg1) { - const ret = Reflect.has(getObject(arg0), getObject(arg1)); - return ret; - }, arguments); -} -function __wbg_set_2762e698c2f5b7e0() { - return handleError(function(arg0, arg1, arg2) { - const ret = Reflect.set(getObject(arg0), getObject(arg1), getObject(arg2)); - return ret; - }, arguments); -} -function __wbindgen_debug_string(arg0, arg1) { - const ret = debugString(getObject(arg1)); - const ptr0 = passStringToWasm0(ret, glue_default.__wbindgen_malloc, glue_default.__wbindgen_realloc); - const len0 = WASM_VECTOR_LEN; - getInt32Memory0()[arg0 / 4 + 1] = len0; - getInt32Memory0()[arg0 / 4 + 0] = ptr0; -} -function __wbindgen_throw(arg0, arg1) { - throw new Error(getStringFromWasm0(arg0, arg1)); -} -function __wbindgen_rethrow(arg0) { - throw takeObject(arg0); -} -function __wbindgen_memory() { - const ret = glue_default.memory; - return addHeapObject(ret); -} -function __wbindgen_closure_wrapper3154(arg0, arg1, arg2) { - const ret = makeMutClosure(arg0, arg1, 710, __wbg_adapter_38); - return addHeapObject(ret); -} - -// shim.js -(void 0)?.(); -var shim_default = { fetch: fetch2, scheduled: void 0 }; -export { - AggregateStore, - GarbageCollector, - HelperStateStore, - IntoUnderlyingByteSource, - IntoUnderlyingSink, - IntoUnderlyingSource, - LeaderAggregationJobQueue, - LeaderCollectionJobQueue, - MinifyConfig, - PipeOptions, - PolishConfig, - QueuingStrategy, - ReadableStreamGetReaderOptions, - ReportStore, - RequestRedirect, - __wbg_append_9c6d4d7f71076e48, - __wbg_arrayBuffer_37a26d82dfa0e8fe, - __wbg_arrayBuffer_ccd485f4d2929b08, - __wbg_body_448aadd788727e77, - __wbg_buffer_34f5ec9f8a838ba0, - __wbg_buffer_f00028fd9efc903b, - __wbg_byobRequest_3e1cb18a6efca4e4, - __wbg_byteLength_6f22329fd199ce7d, - __wbg_byteOffset_b3edd58064ebb082, - __wbg_bytesliteral_1860f600f905fea0, - __wbg_call_33d7bcddbbfa394a, - __wbg_call_65af9f665ab6ade5, - __wbg_cancel_c3889b9518797ceb, - __wbg_catch_b1d5ec6a035f3be8, - __wbg_cf_618414bbd658dfda, - __wbg_close_146359de33accd5b, - __wbg_close_26866406ee8e0abb, - __wbg_constructor_49b344c0ab64de09, - __wbg_crypto_b95d7173266618a9, - __wbg_debug_456ceacb5301d849, - __wbg_deleteAll_fe4f61e098d6947d, - __wbg_delete_3c6fca148005441f, - __wbg_delete_83217178d7a223eb, - __wbg_done_7ecb290d5cbc766e, - __wbg_done_e5655b169bb04f60, - __wbg_enqueue_eb446030ed643eb5, - __wbg_entries_0484230041166373, - __wbg_error_09919627ac0992f5, - __wbg_error_3d6df09bb68be9e4, - __wbg_fetch_17b968b9c79d3c56, - __wbg_fetch_5274d89a348c0462, - __wbg_fetch_7695585502c326bb, - __wbg_getRandomValues_b14734aa289bc356, - __wbg_getReader_ceb9349418d407cb, - __wbg_getTime_58b0bdbebd4ef11d, - __wbg_get_08edb23297a6eae0, - __wbg_get_0dd2d3769e543ec8, - __wbg_get_72332cd2bc57924c, - __wbg_get_c42368f08ade3c81, - __wbg_globalThis_3348936ac49df00a, - __wbg_global_67175caf56f55ca9, - __wbg_has_3be27932089d278e, - __wbg_headers_1041ecaccc96679c, - __wbg_headers_aa309e800cf75016, - __wbg_headers_cd273c0104da6697, - __wbg_idFromName_e76990eb3c2c8075, - __wbg_idFromString_8a02838f99f5ce77, - __wbg_id_65c5c2eaeb0a57bc, - __wbg_instanceof_Error_2082612c1902c887, - __wbg_instanceof_Map_ab2281a34d725111, - __wbg_instanceof_ReadableStream_237dcd07f5770379, - __wbg_instanceof_Response_240e67e5796c3c6b, - __wbg_instanceof_Response_4cda8863008fcc6c, - __wbg_iterator_22ed2b976832ff0c, - __wbg_json_67d0b48a2788c62c, - __wbg_latitude_d5fcfd3ed447a56f, - __wbg_length_51f19f73d6d9eff3, - __wbg_list_931e641ac6f23b17, - __wbg_log_81af48944e57c9ca, - __wbg_longitude_fe3b2ea53a87ffac, - __wbg_method_9f87b819726990a0, - __wbg_minifyconfig_new, - __wbg_msCrypto_5a86d77a66230f81, - __wbg_name_ef3d2d249cf2458b, - __wbg_new0_adda2d4bcb124f0a, - __wbg_new_306c2ffa69ee14e4, - __wbg_new_3ee7ebe9952c1fbd, - __wbg_new_4cba26249c1686cd, - __wbg_new_52205195aa880fc2, - __wbg_new_693216e109162396, - __wbg_new_cda198d9dbc6d7ea, - __wbg_new_e6a9fecc2bf26696, - __wbg_newnoargs_971e9a5abe185139, - __wbg_newwithbyteoffsetandlength_88fdad741db1b182, - __wbg_newwithlength_66e5530e7079ea1b, - __wbg_newwithoptstrandinit_51f672706eeb5dfc, - __wbg_newwithoptstreamandinit_3326d20a7510e299, - __wbg_newwithoptu8arrayandinit_d0f12406c27430d7, - __wbg_newwithstrandinit_78379a7cb206e929, - __wbg_newwithstrandinit_de7c409ec8538105, - __wbg_next_3d0c4cc33e7418c9, - __wbg_next_726d1c2255989269, - __wbg_node_0dd25d832e4785d5, - __wbg_process_e56fd54cf6319b6c, - __wbg_put_ad2fa3c546875811, - __wbg_randomFillSync_91e2b39becca6147, - __wbg_read_acf261e0102167eb, - __wbg_region_b0cf49c9701238e5, - __wbg_releaseLock_c7e236dc501dfdea, - __wbg_require_0db1598d9ccecb30, - __wbg_resolve_0107b3a501450ba0, - __wbg_respond_553c92471e2e621b, - __wbg_self_fd00a1ef86d1b2ed, - __wbg_set_1a930cfcda1a8067, - __wbg_set_2762e698c2f5b7e0, - __wbg_set_4c3d3a2b873372e2, - __wbg_size_504c6eacd6726e79, - __wbg_stack_0ddaca5d1abfb52f, - __wbg_static_accessor_NODE_MODULE_26b231378c1be7dd, - __wbg_status_4c861e5a315a89f1, - __wbg_status_9067c6a4fdd064c9, - __wbg_storage_3b6d77e43683dc17, - __wbg_subarray_270ff8dd5582c1ac, - __wbg_then_18da6e5453572fc8, - __wbg_then_e5489f796341454b, - __wbg_toString_52a2b11cc788ff28, - __wbg_toString_dc4768002eeae1b0, - __wbg_toString_e23ccbeb26236492, - __wbg_url_0f503b904b694ff5, - __wbg_url_1a1486b1eda80e31, - __wbg_value_3e2aab1cc98423b7, - __wbg_value_8f901bca1014f843, - __wbg_versions_77e21455908dad33, - __wbg_view_7ad18ad26d71d774, - __wbg_webSocket_3d06c13257e64973, - __wbg_window_6f6e346d8bbd61d7, - __wbindgen_boolean_get, - __wbindgen_cb_drop, - __wbindgen_closure_wrapper3154, - __wbindgen_debug_string, - __wbindgen_is_function, - __wbindgen_is_object, - __wbindgen_is_string, - __wbindgen_is_undefined, - __wbindgen_json_parse, - __wbindgen_json_serialize, - __wbindgen_memory, - __wbindgen_number_get, - __wbindgen_number_new, - __wbindgen_object_clone_ref, - __wbindgen_object_drop_ref, - __wbindgen_rethrow, - __wbindgen_string_get, - __wbindgen_string_new, - __wbindgen_throw, - shim_default as default, - fetch2 as fetch -}; diff --git a/monolithic_integration_test/artifacts/wrangler.toml b/monolithic_integration_test/artifacts/wrangler.toml deleted file mode 100644 index 052a4a767..000000000 --- a/monolithic_integration_test/artifacts/wrangler.toml +++ /dev/null @@ -1,25 +0,0 @@ -workers_dev = true -type = "javascript" -compatibility_date = "2022-01-20" - -[build.upload] -dir = "/daphne" -format = "modules" -main = "./shim.mjs" - -[[build.upload.rules]] -globs = ["**/*.wasm"] -type = "CompiledWasm" - -[durable_objects] -bindings = [ - { name = "DAP_REPORT_STORE", class_name = "ReportStore" }, - { name = "DAP_AGGREGATE_STORE", class_name = "AggregateStore" }, - { name = "DAP_LEADER_AGG_JOB_QUEUE", class_name = "LeaderAggregationJobQueue" }, - { name = "DAP_LEADER_COL_JOB_QUEUE", class_name = "LeaderCollectionJobQueue" }, - { name = "DAP_HELPER_STATE_STORE", class_name = "HelperStateStore" }, - { name = "DAP_GARBAGE_COLLECTOR", class_name = "GarbageCollector" }, -] - -[vars] -WORKERS_RS_VERSION = "0.0.10" diff --git a/monolithic_integration_test/build.rs b/monolithic_integration_test/build.rs index ff6774ff7..c3571738b 100644 --- a/monolithic_integration_test/build.rs +++ b/monolithic_integration_test/build.rs @@ -3,21 +3,49 @@ fn main() { { use build_script_utils::save_zstd_compressed_docker_image; use std::{env, fs::File, process::Command}; + use tempfile::tempdir; - println!("cargo:rerun-if-changed=Dockerfile.test_daphne"); + // This build script is self-contained, so we only need to rebuild if the build script + // itself changes. + println!("cargo:rerun-if-changed=build.rs"); - // These directives should match the dependencies copied into Dockerfile.test_daphne. - println!("cargo:rerun-if-changed=artifacts/wrangler.toml"); - println!("cargo:rerun-if-changed=artifacts/daphne_compiled/"); + // Check out Daphne repository at a fixed hash, then build & save off a container image for + // the test Daphne instance. + const DAPHNE_COMMIT_HASH: &str = "6228556c7b87a7fe85e414a3186a2511407896f0"; + let daphne_checkout_dir = tempdir().unwrap(); + let clone_output = Command::new("git") + .args(["clone", "-n", "https://github.com/cloudflare/daphne", "."]) + .current_dir(&daphne_checkout_dir) + .output() + .expect("Failed to execute `git clone` for Daphne repository"); + assert!( + clone_output.status.success(), + "Git clone of Daphne repository failed:\n{}", + String::from_utf8_lossy(&clone_output.stderr) + ); + let checkout_output = Command::new("git") + .args(["checkout", DAPHNE_COMMIT_HASH]) + .current_dir(&daphne_checkout_dir) + .output() + .expect("Failed to execute `git checkout` for Daphne repository"); + assert!( + checkout_output.status.success(), + "Git checkout of Daphne repository failed:\n{}", + String::from_utf8_lossy(&checkout_output.stderr) + ); - // Build & save off a container image for the test Daphne instance. // Note: `docker build` has an `--output` flag which writes the output to somewhere, which // may be a tarfile. But `docker build --output` only exports the image filesystem, and not // any other image metadata (such as exposed ports, the entrypoint, etc), so we can't easily // use it. let build_output = Command::new("docker") - .args(["build", "--file=Dockerfile.test_daphne", "--quiet", "."]) - .env("DOCKER_BUILDKIT", "1") + .args([ + "build", + "--file=daphne_worker_test/docker/miniflare.Dockerfile", + "--quiet", + ".", + ]) + .current_dir(&daphne_checkout_dir) .output() .expect("Failed to execute `docker build` for test Daphne"); assert!( diff --git a/monolithic_integration_test/src/daphne.rs b/monolithic_integration_test/src/daphne.rs index 44ef63c4a..4456156ce 100644 --- a/monolithic_integration_test/src/daphne.rs +++ b/monolithic_integration_test/src/daphne.rs @@ -115,7 +115,15 @@ impl Daphne { let port = pick_unused_port().expect("Couldn't pick unused port"); let endpoint = task.aggregator_url(task.role).unwrap(); - let args = [ + let args: Vec<_> = [ + ( + // Note: DAP_DEPLOYMENT=dev overrides aggregator endpoint hostnames to "localhost", + // so it can't be used. The other option is DAP_DEPLOYMENT=prod -- despite the name, + // that's what we want since it operates as configured without any special dev-only + // overrides that our test configuration doesn't need. + "DAP_DEPLOYMENT".to_string(), + "prod".to_string(), + ), ( "DAP_AGGREGATOR_ROLE".to_string(), task.role.as_str().to_string(), @@ -147,6 +155,10 @@ impl Daphne { .into_iter() .map(|(env_var, env_val)| format!("--binding={env_var}={env_val}")) .collect(); + let args = ["--port=8080".to_string()] + .into_iter() + .chain(args.into_iter()) + .collect(); let runnable_image = RunnableImage::from((GenericImage::new("sha256", &image_hash), args)) .with_network(network) .with_container_name(endpoint.host_str().unwrap())