Skip to content

Commit

Permalink
Merge pull request #3006 from alexcrichton/update-wit-bindgen
Browse files Browse the repository at this point in the history
Update wit-bindgen used in tests
  • Loading branch information
lann authored Feb 5, 2025
2 parents 24b8f0a + b84687d commit e5c6a13
Show file tree
Hide file tree
Showing 34 changed files with 312 additions and 111 deletions.
256 changes: 222 additions & 34 deletions tests/test-components/components/Cargo.lock

Large diffs are not rendered by default.

5 changes: 4 additions & 1 deletion tests/test-components/components/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
[workspace]
members = ["*"]
exclude = ["target"]
resolver = "2"
resolver = "2"

[workspace.dependencies]
wit-bindgen = "0.32.0"
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,4 @@ crate-type = ["cdylib"]

[dependencies]
miniserde = "0.1.36"
wit-bindgen = "0.13"
wit-bindgen = { workspace = true }
Original file line number Diff line number Diff line change
@@ -1,9 +1,6 @@
wit_bindgen::generate!({
world: "http-trigger",
path: "../../../../wit/deps/spin@unversioned",
exports: {
"fermyon:spin/inbound-http": SpinHttp,
}
});

use std::collections::HashMap;
Expand All @@ -13,6 +10,8 @@ use miniserde::json;

struct SpinHttp;

export!(SpinHttp);

impl inbound_http::Guest for SpinHttp {
fn handle_request(req: Request) -> Response {
let (status, body) = match handle_request(req) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,4 @@ crate-type = ["cdylib"]

[dependencies]
url = "2.4.0"
wit-bindgen = "0.16.0"
wit-bindgen = { workspace = true }
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
wit_bindgen::generate!({
path: "../../../../wit",
world: "wasi:http/[email protected]",
exports: {
"wasi:http/[email protected]": Component
}
generate_all,
});

use {
Expand All @@ -23,6 +21,8 @@ use {

struct Component;

export!(Component);

impl incoming_handler::Guest for Component {
fn handle(request: IncomingRequest, outparam: ResponseOutparam) {
let headers = request.headers().entries();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,4 @@ crate-type = ["cdylib"]

[dependencies]
url = "2.4.0"
wit-bindgen = "0.16.0"
wit-bindgen = { workspace = true }
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
wit_bindgen::generate!({
path: "../../../../wit",
world: "wasi:http/[email protected]",
exports: {
"wasi:http/[email protected]": Component
}
generate_all,
});

use {
Expand All @@ -23,6 +21,8 @@ use {

struct Component;

export!(Component);

impl incoming_handler::Guest for Component {
fn handle(request: IncomingRequest, outparam: ResponseOutparam) {
let headers = request.headers().entries();
Expand Down
2 changes: 1 addition & 1 deletion tests/test-components/components/key-value/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,4 @@ crate-type = ["cdylib"]

[dependencies]
helper = { path = "../../helper" }
wit-bindgen = "0.16.0"
wit-bindgen = { workspace = true }
2 changes: 1 addition & 1 deletion tests/test-components/components/key-value/src/lib.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
use helper::{ensure_matches, ensure_ok};

use bindings::fermyon::spin2_0_0::key_value::{Error, Store};
use helper::http_trigger_bindings::fermyon::spin2_0_0::key_value::{Error, Store};

helper::define_component!(Component);

Expand Down
2 changes: 1 addition & 1 deletion tests/test-components/components/llm/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,4 @@ crate-type = ["cdylib"]

[dependencies]
helper = { path = "../../helper" }
wit-bindgen = "0.16.0"
wit-bindgen = { workspace = true }
3 changes: 1 addition & 2 deletions tests/test-components/components/llm/src/lib.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
use helper::http_trigger_bindings::fermyon::spin2_0_0::llm;
use helper::{ensure, ensure_eq, ensure_ok};

use bindings::fermyon::spin2_0_0::llm;

helper::define_component!(Component);

impl Component {
Expand Down
2 changes: 1 addition & 1 deletion tests/test-components/components/outbound-mqtt/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,4 @@ crate-type = ["cdylib"]

[dependencies]
helper = { path = "../../helper" }
wit-bindgen = "0.16.0"
wit-bindgen = { workspace = true }
3 changes: 1 addition & 2 deletions tests/test-components/components/outbound-mqtt/src/lib.rs
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
use helper::ensure_ok;
use helper::http_trigger_bindings::fermyon::spin2_0_0::mqtt::{self, Qos};
use std::env;

const MQTT_ADDRESS_ENV: &str = "MQTT_ADDRESS";
const MQTT_USERNAME_ENV: &str = "MQTT_USERNAME";
const MQTT_PASSWORD_ENV: &str = "MQTT_PASSWORD";
const MQTT_KEEP_ALIVE_INTERVAL_ENV: &str = "MQTT_KEEP_ALIVE_INTERVAL";

use bindings::fermyon::spin2_0_0::mqtt::{self, Qos};

helper::define_component!(Component);

impl Component {
Expand Down
2 changes: 1 addition & 1 deletion tests/test-components/components/outbound-mysql/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,4 @@ crate-type = ["cdylib"]

[dependencies]
helper = { path = "../../helper" }
wit-bindgen = "0.16.0"
wit-bindgen = { workspace = true }
3 changes: 1 addition & 2 deletions tests/test-components/components/outbound-mysql/src/lib.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
use helper::http_trigger_bindings::fermyon::spin2_0_0::{mysql, rdbms_types};
use helper::{ensure, ensure_matches, ensure_ok};

use bindings::fermyon::spin2_0_0::{mysql, rdbms_types};

helper::define_component!(Component);
const DB_URL_ENV: &str = "DB_URL";

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,4 @@ crate-type = ["cdylib"]

[dependencies]
helper = { path = "../../helper" }
wit-bindgen = "0.16.0"
wit-bindgen = { workspace = true }
6 changes: 2 additions & 4 deletions tests/test-components/components/outbound-postgres/src/lib.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
use helper::http_trigger_bindings::spin::postgres::postgres;
use helper::{ensure, ensure_eq, ensure_matches, ensure_ok};

use bindings::spin::postgres::postgres;

helper::define_component!(Component);
const DB_URL_ENV: &str = "DB_URL";

Expand Down Expand Up @@ -153,7 +152,7 @@ fn date_time_types(conn: &postgres::Connection) -> Result<postgres::RowSet, post
// We will use this to test that we correctly encode Spin ParameterValue
// objects. (In conjunction with knowing that our decode logic is good,
// this validates our encode logic.)
let insert_sql_spin_parameters = r#"
let insert_sql_spin_parameters = r#"
INSERT INTO test_date_time_types
(index, rdate, rtime, rtimestamp)
VALUES
Expand All @@ -176,7 +175,6 @@ fn date_time_types(conn: &postgres::Connection) -> Result<postgres::RowSet, post
"#;

conn.query(sql, &[])

}

fn nullable(conn: &postgres::Connection) -> Result<postgres::RowSet, postgres::Error> {
Expand Down
2 changes: 1 addition & 1 deletion tests/test-components/components/outbound-redis/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,4 @@ crate-type = ["cdylib"]

[dependencies]
helper = { path = "../../helper" }
wit-bindgen = "0.16.0"
wit-bindgen = { workspace = true }
2 changes: 1 addition & 1 deletion tests/test-components/components/outbound-redis/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ use helper::{ensure_eq, ensure_matches, ensure_ok, ensure_some};

const REDIS_ADDRESS_ENV: &str = "REDIS_ADDRESS";

use bindings::fermyon::spin2_0_0::redis;
use helper::http_trigger_bindings::fermyon::spin2_0_0::redis;

helper::define_component!(Component);

Expand Down
2 changes: 1 addition & 1 deletion tests/test-components/components/sqlite/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ edition = "2021"

[dependencies]
helper = { path = "../../helper" }
wit-bindgen = "0.16.0"
wit-bindgen = { workspace = true }

[lib]
crate-type = ["cdylib"]
3 changes: 1 addition & 2 deletions tests/test-components/components/sqlite/src/lib.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
use helper::http_trigger_bindings::fermyon::spin2_0_0::sqlite::{Connection, Error, Value};
use helper::{ensure_eq, ensure_matches, ensure_ok, ensure_some};

use bindings::fermyon::spin2_0_0::sqlite::{Connection, Error, Value};

helper::define_component!(Component);

impl Component {
Expand Down
2 changes: 1 addition & 1 deletion tests/test-components/components/tcp-sockets/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,4 @@ crate-type = ["cdylib"]

[dependencies]
helper = { path = "../../helper" }
wit-bindgen = "0.16.0"
wit-bindgen = { workspace = true }
6 changes: 4 additions & 2 deletions tests/test-components/components/tcp-sockets/src/lib.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
use bindings::wasi::{
use helper::http_trigger_bindings::wasi::{
io0_2_0::poll,
sockets0_2_0::{
instance_network,
Expand Down Expand Up @@ -43,7 +43,9 @@ impl Component {

let (rx, tx) = loop {
match client.finish_connect() {
Err(ErrorCode::WouldBlock) => { poll::poll(&[&client.subscribe()]); },
Err(ErrorCode::WouldBlock) => {
poll::poll(&[&client.subscribe()]);
}
result => break ensure_ok!(result),
}
};
Expand Down
2 changes: 1 addition & 1 deletion tests/test-components/components/variables/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,4 @@ crate-type = ["cdylib"]

[dependencies]
helper = { path = "../../helper" }
wit-bindgen = "0.16.0"
wit-bindgen = { workspace = true }
3 changes: 1 addition & 2 deletions tests/test-components/components/variables/src/lib.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
use helper::ensure_matches;

use bindings::fermyon::spin2_0_0::variables::{get, Error};
use helper::http_trigger_bindings::fermyon::spin2_0_0::variables::{get, Error};

helper::define_component!(Component);

Expand Down
2 changes: 1 addition & 1 deletion tests/test-components/components/wasi-config/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,4 @@ crate-type = ["cdylib"]

[dependencies]
helper = { path = "../../helper" }
wit-bindgen = "0.16.0"
wit-bindgen = { workspace = true }
6 changes: 2 additions & 4 deletions tests/test-components/components/wasi-config/src/lib.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
use helper::ensure_matches;

use bindings::wasi::config::store::{get, get_all};
use helper::http_trigger_bindings::wasi::config::store::{get, get_all};

helper::define_component!(Component);

Expand All @@ -9,9 +9,7 @@ impl Component {
ensure_matches!(get("variable"), Ok(Some(val)) if val == "value");
ensure_matches!(get("non_existent"), Ok(None));

let expected_all = vec![
("variable".to_owned(), "value".to_owned()),
];
let expected_all = vec![("variable".to_owned(), "value".to_owned())];
ensure_matches!(get_all(), Ok(val) if val == expected_all);

ensure_matches!(get("invalid-name"), Ok(None));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,5 @@ crate-type = ["cdylib"]

[dependencies]
url = "2.4.0"
wit-bindgen = "0.16.0"
wit-bindgen = { workspace = true }
helper = { path = "../../helper" }
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
wit_bindgen::generate!({
path: "wit",
world: "wasi:http/[email protected]",
generate_all,
});

use helper::{ensure_eq, ensure_ok};
Expand Down
2 changes: 1 addition & 1 deletion tests/test-components/components/wasi-key-value/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,4 @@ crate-type = ["cdylib"]

[dependencies]
helper = { path = "../../helper" }
wit-bindgen = "0.16.0"
wit-bindgen = { workspace = true }
24 changes: 18 additions & 6 deletions tests/test-components/components/wasi-key-value/src/lib.rs
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
use helper::{ensure_matches, ensure_ok};

use bindings::wasi::keyvalue::store::{open, Error, KeyResponse};
use bindings::wasi::keyvalue::batch as wasi_batch;
use bindings::wasi::keyvalue::atomics as wasi_atomics;
use helper::http_trigger_bindings::wasi::keyvalue::atomics as wasi_atomics;
use helper::http_trigger_bindings::wasi::keyvalue::batch as wasi_batch;
use helper::http_trigger_bindings::wasi::keyvalue::store::{open, Error, KeyResponse};

helper::define_component!(Component);

Expand Down Expand Up @@ -43,9 +43,21 @@ impl Component {
ensure_matches!(store.get("qux"), Ok(None));
ensure_matches!(keys(&store.list_keys(None)), Ok(&[]));

ensure_ok!(wasi_batch::set_many(&store, &[("bar".to_string(), b"bin".to_vec()), ("baz".to_string(), b"buzz".to_vec())]));
ensure_ok!(wasi_batch::get_many(&store, &["bar".to_string(), "baz".to_string()]));
ensure_ok!(wasi_batch::delete_many(&store, &["bar".to_string(), "baz".to_string()]));
ensure_ok!(wasi_batch::set_many(
&store,
&[
("bar".to_string(), b"bin".to_vec()),
("baz".to_string(), b"buzz".to_vec())
]
));
ensure_ok!(wasi_batch::get_many(
&store,
&["bar".to_string(), "baz".to_string()]
));
ensure_ok!(wasi_batch::delete_many(
&store,
&["bar".to_string(), "baz".to_string()]
));
ensure_matches!(wasi_atomics::increment(&store, "counter", 10), Ok(v) if v == 10);
ensure_matches!(wasi_atomics::increment(&store, "counter", 5), Ok(v) if v == 15);

Expand Down
2 changes: 1 addition & 1 deletion tests/test-components/helper/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ version = "0.1.0"
edition = "2021"

[dependencies]
wit-bindgen = { version = "0.16.0", optional = true }
wit-bindgen = { version = "0.32.0", optional = true }

[features]
default = ["define-component"]
Expand Down
Loading

0 comments on commit e5c6a13

Please sign in to comment.