Adjust deps; fix build issues for wasm

This commit is contained in:
silvanshade 2022-07-06 15:51:35 -06:00
parent fd75cda0c3
commit 35004c3b7f
7 changed files with 38 additions and 27 deletions

View file

@ -38,5 +38,5 @@ wasm-lsp-server = { version = "0.0", path = "../server", default-features = fals
[dev-dependencies]
predicates = "2.1"
[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies]
[target.'cfg(any(target_os = "wasi", not(target_arch = "wasm32")))'.dev-dependencies]
assert_cmd = "2.0"

View file

@ -27,6 +27,13 @@ fn run() -> anyhow::Result<()> {
cli();
futures::executor::block_on(async {
#[rustfmt::skip]
#[cfg(target_arch = "wasm32")]
let languages = wasm_lsp_server::core::SessionLanguages {
wast: wasm_lsp_languages::language::wast().await?,
wat : wasm_lsp_languages::language::wat ().await?,
};
#[rustfmt::skip]
#[cfg(not(target_arch = "wasm32"))]
let languages = wasm_lsp_server::core::SessionLanguages {
wast: wasm_lsp_languages::language::wast(),
wat : wasm_lsp_languages::language::wat (),

View file

@ -31,11 +31,7 @@ package = "tree-sitter"
version = "0.20"
[target.'cfg(target_arch = "wasm32")'.dependencies]
futures = "0.3"
wasm-bindgen = { version = "=0.2.81", features = ["strict-macro"] }
wasm-bindgen-futures = "0.4"
[target.'cfg(target_arch = "wasm32")'.dependencies.futures]
version = "0.3"
[target.'cfg(target_arch = "wasm32")'.dependencies.web-tree-sitter-sys]
version = "0.6"
web-tree-sitter-sys = "0.6"

View file

@ -45,13 +45,14 @@ version = "0.4"
[dev-dependencies]
criterion = "0.3"
futures-test = "0.3"
glob = "0.3"
indoc = "1.0"
testing = { package = "wasm-lsp-testing", version = "0.0", path = "../testing" }
wasm-lsp-macros = { version = "0.0", path = "../macros" }
[target.'cfg(any(target_os = "wasi", not(target_arch = "wasm32")))'.dev-dependencies]
futures-test = "0.3"
goldenfile = "1.0"
[package.metadata.cargo-udeps.ignore]

View file

@ -2,7 +2,7 @@ use serde_json::Value;
#[futures_test::test]
async fn exit() -> anyhow::Result<()> {
let service = &mut testing::service::spawn()?.0;
let service = &mut testing::service::spawn().await?.0;
// send "initialize" request
testing::assert_status!(service, Ok(()));
@ -51,7 +51,7 @@ async fn exit() -> anyhow::Result<()> {
#[futures_test::test]
async fn initialize() -> anyhow::Result<()> {
let service = &mut testing::service::spawn()?.0;
let service = &mut testing::service::spawn().await?.0;
// send "initialize" request
testing::assert_status!(service, Ok(()));
@ -64,7 +64,7 @@ async fn initialize() -> anyhow::Result<()> {
#[futures_test::test]
async fn initialized() -> anyhow::Result<()> {
let service = &mut testing::service::spawn()?.0;
let service = &mut testing::service::spawn().await?.0;
// send "initialize" request
testing::assert_status!(service, Ok(()));
@ -83,7 +83,7 @@ async fn initialized() -> anyhow::Result<()> {
#[futures_test::test]
async fn initialize_once() -> anyhow::Result<()> {
let service = &mut testing::service::spawn()?.0;
let service = &mut testing::service::spawn().await?.0;
// send "initialize" request
testing::assert_status!(service, Ok(()));
@ -108,7 +108,7 @@ async fn initialize_once() -> anyhow::Result<()> {
#[futures_test::test]
async fn shutdown() -> anyhow::Result<()> {
let service = &mut testing::service::spawn()?.0;
let service = &mut testing::service::spawn().await?.0;
// send "initialize" request
testing::assert_status!(service, Ok(()));
@ -153,7 +153,7 @@ mod text_document {
let language_id = "wasm.wast";
let text = String::from("(module)");
let (ref mut service, ref mut messages) = testing::service::spawn()?;
let (ref mut service, ref mut messages) = testing::service::spawn().await?;
// send "initialize" request
testing::assert_status!(service, Ok(()));
@ -208,7 +208,7 @@ mod text_document {
let language_id = "wasm.wast";
let text = String::from("(module)");
let (ref mut service, ref mut messages) = testing::service::spawn()?;
let (ref mut service, ref mut messages) = testing::service::spawn().await?;
// send "initialize" request
testing::assert_status!(service, Ok(()));
@ -270,7 +270,7 @@ mod text_document {
(elem (i32.const 0))
"#});
let (ref mut service, ref mut messages) = testing::service::spawn()?;
let (ref mut service, ref mut messages) = testing::service::spawn().await?;
// send "initialize" request
testing::assert_status!(service, Ok(()));
@ -390,7 +390,7 @@ mod text_document {
(assert_return (invoke "empty"))
"#});
let (ref mut service, ref mut messages) = testing::service::spawn()?;
let (ref mut service, ref mut messages) = testing::service::spawn().await?;
// send "initialize" request
testing::assert_status!(service, Ok(()));
@ -529,7 +529,7 @@ mod text_document {
let language = Language::try_from(path)?;
let language_id = language.id();
let (ref mut service, ref mut messages) = testing::service::spawn()?;
let (ref mut service, ref mut messages) = testing::service::spawn().await?;
// send "initialize" request
testing::assert_status!(service, Ok(()));
@ -670,7 +670,7 @@ mod text_document {
let language = Language::try_from(std::path::Path::new(path))?;
let language_id = language.id();
let (ref mut service, ref mut messages) = testing::service::spawn()?;
let (ref mut service, ref mut messages) = testing::service::spawn().await?;
// send "initialize" request
testing::assert_status!(service, Ok(()));

View file

@ -13,13 +13,20 @@ pub async fn send(
Ok(response)
}
pub fn spawn() -> anyhow::Result<(tower_test::mock::Spawn<LspService<Server>>, ClientSocket)> {
let (service, socket) = LspService::new(|client| {
#[rustfmt::skip]
let languages = wasm_lsp_server::core::SessionLanguages {
wast: wasm_lsp_languages::language::wast(),
wat : wasm_lsp_languages::language::wat (),
};
pub async fn spawn() -> anyhow::Result<(tower_test::mock::Spawn<LspService<Server>>, ClientSocket)> {
#[rustfmt::skip]
#[cfg(target_arch = "wasm32")]
let languages = wasm_lsp_server::core::SessionLanguages {
wast: wasm_lsp_languages::language::wast().await?,
wat : wasm_lsp_languages::language::wat ().await?,
};
#[rustfmt::skip]
#[cfg(not(target_arch = "wasm32"))]
let languages = wasm_lsp_server::core::SessionLanguages {
wast: wasm_lsp_languages::language::wast(),
wat : wasm_lsp_languages::language::wat (),
};
let (service, socket) = LspService::new(move |client| {
let server = wasm_lsp_server::Server::new(languages, client);
server.unwrap()
});

View file

@ -8,7 +8,7 @@ use wasm_smith::Module;
fuzz_target!(|module: Module| {
let future = async {
let (mut service, mut messages) = testing::service::spawn().unwrap();
let (mut service, mut messages) = testing::service::spawn().await.unwrap();
let service = &mut service;
let wasm = module.to_bytes();