4
0

build_test.rs 699 B

1234567891011121314151617181920212223242526272829303132
  1. use anyhow::Result;
  2. use clap::Parser;
  3. use std::process::Command;
  4. use crate::{build_ebpf, utils::exec};
  5. #[derive(Parser)]
  6. pub struct Options {
  7. /// Target triple for which the code is compiled
  8. #[clap(long)]
  9. pub musl_target: Option<String>,
  10. #[clap(flatten)]
  11. pub ebpf_options: build_ebpf::BuildEbpfOptions,
  12. }
  13. pub fn build_test(opts: Options) -> Result<()> {
  14. let Options {
  15. musl_target,
  16. ebpf_options,
  17. } = opts;
  18. build_ebpf::build_ebpf(ebpf_options)?;
  19. let mut cmd = Command::new("cargo");
  20. cmd.args(["build", "-p", "integration-test"]);
  21. if let Some(target) = musl_target {
  22. cmd.args(["--target", &target]);
  23. }
  24. exec(&mut cmd)
  25. }