From ecae1633056bd90371b850723bacf0a57c2950a2 Mon Sep 17 00:00:00 2001 From: "Heinz N. Gies" Date: Fri, 29 Apr 2022 14:11:34 +0200 Subject: [PATCH 1/2] Fix bug that tremor run would always ever run for exactly 150s Signed-off-by: Heinz N. Gies --- src/connectors/impls/stdio.rs | 2 +- tremor-cli/src/run.rs | 8 +++----- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/src/connectors/impls/stdio.rs b/src/connectors/impls/stdio.rs index dc2b6ca706..ef3bbfd29c 100644 --- a/src/connectors/impls/stdio.rs +++ b/src/connectors/impls/stdio.rs @@ -112,7 +112,7 @@ impl Source for StdStreamSource { } fn asynchronous(&self) -> bool { - true + false } } diff --git a/tremor-cli/src/run.rs b/tremor-cli/src/run.rs index 7a66627cfd..60ffcd1c9b 100644 --- a/tremor-cli/src/run.rs +++ b/tremor-cli/src/run.rs @@ -25,7 +25,7 @@ use tremor_runtime::{ config, postprocessor::Postprocessor, preprocessor::Preprocessor, - system::{ShutdownMode, World, WorldConfig}, + system::{World, WorldConfig}, }; use tremor_script::{ arena::Arena, @@ -425,11 +425,9 @@ impl Run { debug_connectors: true, ..WorldConfig::default() }; - let (world, _handle) = World::start(config).await?; + let (world, handle) = World::start(config).await?; tremor_runtime::load_troy_file(&world, &self.script).await?; - async_std::task::sleep(std::time::Duration::from_millis(150_000)).await; - world.stop(ShutdownMode::Graceful).await?; - + handle.await?; Ok(()) } From 9faebb880e3d0d5d069c940e46586d8e897b55f6 Mon Sep 17 00:00:00 2001 From: Matthias Wahl Date: Wed, 11 May 2022 11:09:49 +0200 Subject: [PATCH 2/2] Add test for run_troy_source and enable tests for tremor-cli. Signed-off-by: Matthias Wahl Signed-off-by: Heinz N. Gies --- Cargo.lock | 1 + tremor-cli/Cargo.toml | 2 +- tremor-cli/src/run.rs | 24 +++++++++++++++++++ tremor-cli/tests/fixtures/exit.troy | 19 +++++++++++++++ .../a/b/c/d/e/f/{tags.json => tags.yaml} | 0 .../a/b/c/d/e/{tags.json => tags.yaml} | 0 .../a/b/c/d/{tags.json => tags.yaml} | 0 .../fixtures/resolve_tags/a/b/c/tags.json | 1 - .../fixtures/resolve_tags/a/b/c/tags.yaml | 1 + .../a/b/c/x/{tags.json => tags.yaml} | 0 .../a/b/c/y/g/{tags.json => tags.yaml} | 0 .../a/b/c/y/{tags.json => tags.yaml} | 0 .../tests/fixtures/resolve_tags/a/b/tags.json | 1 - .../tests/fixtures/resolve_tags/a/b/tags.yaml | 1 + .../tests/fixtures/resolve_tags/a/tags.json | 1 - .../tests/fixtures/resolve_tags/a/tags.yaml | 1 + 16 files changed, 48 insertions(+), 4 deletions(-) create mode 100644 tremor-cli/tests/fixtures/exit.troy rename tremor-cli/tests/fixtures/resolve_tags/a/b/c/d/e/f/{tags.json => tags.yaml} (100%) rename tremor-cli/tests/fixtures/resolve_tags/a/b/c/d/e/{tags.json => tags.yaml} (100%) rename tremor-cli/tests/fixtures/resolve_tags/a/b/c/d/{tags.json => tags.yaml} (100%) delete mode 100644 tremor-cli/tests/fixtures/resolve_tags/a/b/c/tags.json create mode 100644 tremor-cli/tests/fixtures/resolve_tags/a/b/c/tags.yaml rename tremor-cli/tests/fixtures/resolve_tags/a/b/c/x/{tags.json => tags.yaml} (100%) rename tremor-cli/tests/fixtures/resolve_tags/a/b/c/y/g/{tags.json => tags.yaml} (100%) rename tremor-cli/tests/fixtures/resolve_tags/a/b/c/y/{tags.json => tags.yaml} (100%) delete mode 100644 tremor-cli/tests/fixtures/resolve_tags/a/b/tags.json create mode 100644 tremor-cli/tests/fixtures/resolve_tags/a/b/tags.yaml delete mode 100644 tremor-cli/tests/fixtures/resolve_tags/a/tags.json create mode 100644 tremor-cli/tests/fixtures/resolve_tags/a/tags.yaml diff --git a/Cargo.lock b/Cargo.lock index bb8ff27a38..a3eb6bbae8 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -5849,6 +5849,7 @@ dependencies = [ "snmalloc-sys", "surf", "tch", + "tempfile", "termcolor", "tremor-api", "tremor-common", diff --git a/tremor-cli/Cargo.toml b/tremor-cli/Cargo.toml index c667b128b7..a60bba81d7 100644 --- a/tremor-cli/Cargo.toml +++ b/tremor-cli/Cargo.toml @@ -18,6 +18,7 @@ criterion = "0.3" float-cmp = "0.9" matches = "0.1" pretty_assertions = "1.2.0" +tempfile = { version = "3.2" } [dependencies] anyhow = "1" @@ -69,7 +70,6 @@ termcolor = "1.1" [[bin]] name = "tremor" path = "src/main.rs" -test = false [features] # diff --git a/tremor-cli/src/run.rs b/tremor-cli/src/run.rs index 60ffcd1c9b..598998bd12 100644 --- a/tremor-cli/src/run.rs +++ b/tremor-cli/src/run.rs @@ -442,3 +442,27 @@ impl Run { } } } + +#[cfg(test)] +mod test { + use async_std::prelude::FutureExt; + use std::time::Duration; + + use super::*; + #[async_std::test] + async fn run_troy_source() -> Result<()> { + let r = Run { + script: "tests/fixtures/exit.troy".into(), + interactive: false, + pretty: false, + encoder: "json".into(), + decoder: "json".into(), + infile: "-".into(), + outfile: "-".into(), + preprocessor: String::new(), + postprocessor: String::new(), + port: None, + }; + r.run().timeout(Duration::from_secs(1)).await? + } +} diff --git a/tremor-cli/tests/fixtures/exit.troy b/tremor-cli/tests/fixtures/exit.troy new file mode 100644 index 0000000000..5d9df2b231 --- /dev/null +++ b/tremor-cli/tests/fixtures/exit.troy @@ -0,0 +1,19 @@ +define flow exit +flow + define pipeline p + pipeline + select event from in into out; + end; + define connector e from exit; + define connector m from metronome + with + config = {"interval": 1} + end; + create connector e; + create connector m; + create pipeline p; + connect /connector/m to /pipeline/p; + connect /pipeline/p to /connector/e; +end; +deploy flow exit; + diff --git a/tremor-cli/tests/fixtures/resolve_tags/a/b/c/d/e/f/tags.json b/tremor-cli/tests/fixtures/resolve_tags/a/b/c/d/e/f/tags.yaml similarity index 100% rename from tremor-cli/tests/fixtures/resolve_tags/a/b/c/d/e/f/tags.json rename to tremor-cli/tests/fixtures/resolve_tags/a/b/c/d/e/f/tags.yaml diff --git a/tremor-cli/tests/fixtures/resolve_tags/a/b/c/d/e/tags.json b/tremor-cli/tests/fixtures/resolve_tags/a/b/c/d/e/tags.yaml similarity index 100% rename from tremor-cli/tests/fixtures/resolve_tags/a/b/c/d/e/tags.json rename to tremor-cli/tests/fixtures/resolve_tags/a/b/c/d/e/tags.yaml diff --git a/tremor-cli/tests/fixtures/resolve_tags/a/b/c/d/tags.json b/tremor-cli/tests/fixtures/resolve_tags/a/b/c/d/tags.yaml similarity index 100% rename from tremor-cli/tests/fixtures/resolve_tags/a/b/c/d/tags.json rename to tremor-cli/tests/fixtures/resolve_tags/a/b/c/d/tags.yaml diff --git a/tremor-cli/tests/fixtures/resolve_tags/a/b/c/tags.json b/tremor-cli/tests/fixtures/resolve_tags/a/b/c/tags.json deleted file mode 100644 index f495e6b9af..0000000000 --- a/tremor-cli/tests/fixtures/resolve_tags/a/b/c/tags.json +++ /dev/null @@ -1 +0,0 @@ -["c"] diff --git a/tremor-cli/tests/fixtures/resolve_tags/a/b/c/tags.yaml b/tremor-cli/tests/fixtures/resolve_tags/a/b/c/tags.yaml new file mode 100644 index 0000000000..f98defb257 --- /dev/null +++ b/tremor-cli/tests/fixtures/resolve_tags/a/b/c/tags.yaml @@ -0,0 +1 @@ +- c diff --git a/tremor-cli/tests/fixtures/resolve_tags/a/b/c/x/tags.json b/tremor-cli/tests/fixtures/resolve_tags/a/b/c/x/tags.yaml similarity index 100% rename from tremor-cli/tests/fixtures/resolve_tags/a/b/c/x/tags.json rename to tremor-cli/tests/fixtures/resolve_tags/a/b/c/x/tags.yaml diff --git a/tremor-cli/tests/fixtures/resolve_tags/a/b/c/y/g/tags.json b/tremor-cli/tests/fixtures/resolve_tags/a/b/c/y/g/tags.yaml similarity index 100% rename from tremor-cli/tests/fixtures/resolve_tags/a/b/c/y/g/tags.json rename to tremor-cli/tests/fixtures/resolve_tags/a/b/c/y/g/tags.yaml diff --git a/tremor-cli/tests/fixtures/resolve_tags/a/b/c/y/tags.json b/tremor-cli/tests/fixtures/resolve_tags/a/b/c/y/tags.yaml similarity index 100% rename from tremor-cli/tests/fixtures/resolve_tags/a/b/c/y/tags.json rename to tremor-cli/tests/fixtures/resolve_tags/a/b/c/y/tags.yaml diff --git a/tremor-cli/tests/fixtures/resolve_tags/a/b/tags.json b/tremor-cli/tests/fixtures/resolve_tags/a/b/tags.json deleted file mode 100644 index 15a3949917..0000000000 --- a/tremor-cli/tests/fixtures/resolve_tags/a/b/tags.json +++ /dev/null @@ -1 +0,0 @@ -["b"] diff --git a/tremor-cli/tests/fixtures/resolve_tags/a/b/tags.yaml b/tremor-cli/tests/fixtures/resolve_tags/a/b/tags.yaml new file mode 100644 index 0000000000..7880ae6e4c --- /dev/null +++ b/tremor-cli/tests/fixtures/resolve_tags/a/b/tags.yaml @@ -0,0 +1 @@ +- b diff --git a/tremor-cli/tests/fixtures/resolve_tags/a/tags.json b/tremor-cli/tests/fixtures/resolve_tags/a/tags.json deleted file mode 100644 index 0c3426d4c2..0000000000 --- a/tremor-cli/tests/fixtures/resolve_tags/a/tags.json +++ /dev/null @@ -1 +0,0 @@ -["a"] diff --git a/tremor-cli/tests/fixtures/resolve_tags/a/tags.yaml b/tremor-cli/tests/fixtures/resolve_tags/a/tags.yaml new file mode 100644 index 0000000000..46ae6f50f5 --- /dev/null +++ b/tremor-cli/tests/fixtures/resolve_tags/a/tags.yaml @@ -0,0 +1 @@ +- a