From 0853db4c63518a4c75ec5a4ce997f31b26fd282d Mon Sep 17 00:00:00 2001 From: Ted Kaminski Date: Tue, 19 Apr 2022 22:14:11 +0000 Subject: [PATCH] Add better target error message --- src/kani-verifier/src/lib.rs | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/kani-verifier/src/lib.rs b/src/kani-verifier/src/lib.rs index 9e056aecb9e5..9febbc5dbd3c 100644 --- a/src/kani-verifier/src/lib.rs +++ b/src/kani-verifier/src/lib.rs @@ -90,6 +90,15 @@ fn fail_if_in_dev_environment() -> Result<()> { Ok(()) } +/// Give users a better error message than "404" if we're on an unsupported platform. +fn fail_if_unsupported_target() -> Result<()> { + // This is basically going to be reduced to a compile-time constant + match TARGET { + "x86_64-unknown-linux-gnu" | "x86_64-apple-darwin" => Ok(()), + _ => bail!("Kani does not support this platform (Rust target {})", TARGET), + } +} + /// Sets up Kani by unpacking/installing to `~/.kani/kani-VERSION` fn setup(use_local_bundle: Option) -> Result<()> { let kani_dir = kani_dir(); @@ -115,6 +124,7 @@ fn setup(use_local_bundle: Option) -> Result<()> { } else { let filename = download_filename(); println!("[2/6] Downloading Kani release bundle: {}", &filename); + fail_if_unsupported_target()?; let bundle = base_dir.join(filename); Command::new("curl") .args(&["-sSLf", "-o"])