about summary refs log tree commit diff
path: root/library/stdarch/crates/intrinsic-test/src/main.rs
diff options
context:
space:
mode:
Diffstat (limited to 'library/stdarch/crates/intrinsic-test/src/main.rs')
-rw-r--r--library/stdarch/crates/intrinsic-test/src/main.rs20
1 files changed, 19 insertions, 1 deletions
diff --git a/library/stdarch/crates/intrinsic-test/src/main.rs b/library/stdarch/crates/intrinsic-test/src/main.rs
index a383c5304c6..0bb8035b253 100644
--- a/library/stdarch/crates/intrinsic-test/src/main.rs
+++ b/library/stdarch/crates/intrinsic-test/src/main.rs
@@ -5,7 +5,25 @@ extern crate log;
 mod arm;
 mod common;
 
+use arm::ArmTestProcessor;
+use common::cli::{Cli, ProcessedCli};
+use common::supporting_test::SupportedArchitectureTest;
+
 fn main() {
     pretty_env_logger::init();
-    arm::test()
+    let args: Cli = clap::Parser::parse();
+    let processed_cli_options = ProcessedCli::new(args);
+
+    // TODO: put this in a match block to support more architectures
+    let test_environment = ArmTestProcessor::create(processed_cli_options);
+
+    if !test_environment.build_c_file() {
+        std::process::exit(2);
+    }
+    if !test_environment.build_rust_file() {
+        std::process::exit(3);
+    }
+    if !test_environment.compare_outputs() {
+        std::process::exit(1);
+    }
 }