x/
external_crates_tests.rs

1// Copyright (c) Mysten Labs, Inc.
2// SPDX-License-Identifier: Apache-2.0
3
4use anyhow::anyhow;
5use std::{
6    path::PathBuf,
7    process::{Command, Stdio},
8};
9
10pub fn run() -> crate::Result<()> {
11    // change into the external-crates/move directory
12    let mut path = PathBuf::from(env!("CARGO_MANIFEST_DIR"));
13    path.push("../../external-crates/");
14    std::env::set_current_dir(&path).expect("Unable to change into `external-crates` directory");
15
16    // execute a command to cd to path and run the ls command
17    let mut cmd = Command::new("sh")
18        .arg("tests.sh")
19        .stdout(Stdio::inherit())
20        .stderr(Stdio::inherit())
21        .spawn()
22        .unwrap();
23
24    match cmd.wait() {
25        Ok(status) => {
26            if status.success() {
27                Ok(())
28            } else {
29                Err(anyhow!("failed to wait on process"))
30            }
31        }
32        Err(err) => Err(anyhow!("failed to wait on process: {}", err)),
33    }
34}