From cb4882e983784a87511bb95c006fbd1a31857b33 Mon Sep 17 00:00:00 2001 From: jasonwitty Date: Fri, 8 Aug 2025 12:55:48 -0700 Subject: [PATCH] patch for ci failure. --- .github/workflows/ci.yml | 4 +++- socktop/src/main.rs | 19 +++++++++++++------ 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f5d0e21..64cc6a8 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -16,4 +16,6 @@ jobs: - name: Clippy run: cargo clippy --all-targets --all-features -D warnings - name: Build - run: cargo build --release --workspace \ No newline at end of file + run: cargo build --release --workspace + - name: Smoke test (client --help) + run: cargo run -p socktop -- --help diff --git a/socktop/src/main.rs b/socktop/src/main.rs index 309e9be..27126fa 100644 --- a/socktop/src/main.rs +++ b/socktop/src/main.rs @@ -11,12 +11,19 @@ use app::App; #[tokio::main] async fn main() -> Result<(), Box> { - let args: Vec = env::args().collect(); - if args.len() < 2 { - eprintln!("Usage: {} ws://HOST:PORT/ws", args[0]); - std::process::exit(1); - } - let url = args[1].clone(); + let mut args = env::args(); + let prog = args.next().unwrap_or_else(|| "socktop".into()); + let url = match args.next() { + Some(flag) if flag == "-h" || flag == "--help" => { + println!("Usage: {prog} ws://HOST:PORT/ws"); + return Ok(()); + } + Some(url) => url, + None => { + eprintln!("Usage: {prog} ws://HOST:PORT/ws"); + std::process::exit(1); + } + }; let mut app = App::new(); app.run(&url).await