From 58c0263d14cc689c2ce8dcb7bc76e1baf2d5fb4a Mon Sep 17 00:00:00 2001 From: fw Date: Thu, 22 Jun 2023 18:25:25 -0400 Subject: [PATCH] analyze: tests: add test reading serialized pdg file --- c2rust-analyze/tests/analyze.rs | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/c2rust-analyze/tests/analyze.rs b/c2rust-analyze/tests/analyze.rs index 5f2e13cac..ab05d9850 100644 --- a/c2rust-analyze/tests/analyze.rs +++ b/c2rust-analyze/tests/analyze.rs @@ -1,6 +1,6 @@ pub mod common; -use crate::common::{check_for_missing_tests_for, test_dir_for, Analyze}; +use crate::common::{check_for_missing_tests_for, test_dir_for, Analyze, CrateOptions, CrateType}; #[test] fn check_for_missing_tests() { @@ -39,3 +39,29 @@ define_tests! { fn lighttpd_minimal() { Analyze::resolve().run("../analysis/tests/lighttpd-minimal/src/main.rs"); } + +#[test] +fn with_pdg_file() { + use std::path::PathBuf; + let pdg_path: PathBuf = "../analysis/tests/minimal/reference_pdg.bc".into(); + println!("{:?}", std::env::current_dir()); + let pdg_path = pdg_path.canonicalize().unwrap(); + let crate_options = CrateOptions { + crate_type: CrateType::Bin, + ..Default::default() + }; + Analyze::resolve().run_with( + "../analysis/tests/minimal/src/main.rs", + |cmd| { + cmd.env("PDG_FILE", &pdg_path).args(&[ + "--crate-name", + "c2rust_analysis_tests_minimal", + "-C", + "metadata=4095517b1921578c", + "-C", + "extra-filename=-4095517b1921578c", + ]); + }, + Some(crate_options), + ); +}