Skip to main content

host_embed_example/
host_embed_example.rs

1// SPDX-License-Identifier: MIT
2
3use observer_rust_lib::{collect_tests, describe, expect, observer_host_dispatch_embedded, test};
4
5fn app_main(argv: &[String]) {
6    println!("app main {}", argv.get(1).map(String::as_str).unwrap_or(""));
7}
8
9fn main() {
10    let tests = collect_tests(|| {
11        describe!("pkg", {
12            test!("embedded smoke test", id = "pkg::embedded-smoke", |ctx| {
13                ctx.stdout("ok\n");
14                expect(true).to_be_truthy();
15            });
16        });
17    })
18    .expect("collection should validate");
19
20    let args = std::env::args().collect::<Vec<_>>();
21    if args.get(1).map(String::as_str) == Some("observe") {
22        let exit_code = match observer_host_dispatch_embedded("rust", "observe", &tests, args) {
23            Ok(()) => 0,
24            Err(error) => {
25                eprintln!("{error}");
26                2
27            }
28        };
29        std::process::exit(exit_code);
30    }
31
32    app_main(&args);
33}