@echo off setlocal :: Get the directory of the script set REPO=%~dp0\..\..\.. :: Get the Rust version, package, and objs path from arguments set RUST_PKG=%1 set OUT_PATH=%2 set RUST_VERSION=%3 set OBJS_PATH=%OUT_PATH% :: Set environment variables set PATH=%PATH%;%OUT_PATH%\lib64 set PATH=%PATH%;%REPO%\prebuilts\gcc\linux-x86\host\x86_64-w64-mingw32-4.8\x86_64-w64-mingw32\lib;%REPO%\prebuilts\gcc\linux-x86\host\x86_64-w64-mingw32-4.8\x86_64-w64-mingw32\bin set CORROSION_BUILD_DIR=%OUT_PATH%/rust set CARGO_BUILD_RUSTC=%REPO%/prebuilts/rust/windows-x86/%RUST_VERSION%/bin/rustc set RUSTC=%REPO%/prebuilts/rust/windows-x86/%RUST_VERSION%/bin/rustc set CARGO_HOME=%OUT_PATH%\rust\.cargo set RUSTFLAGS=-Cdefault-linker-libraries=yes set GRPCIO_SYS_GRPC_INCLUDE_PATH=%REPO%/external/grpc/include :: Paths to pdl generated packets files set ROOTCANAL_PDL_PATH=%OUT_PATH%\rootcanal\pdl_gen set LINK_LAYER_PACKETS_PREBUILT=%ROOTCANAL_PDL_PATH%\link_layer_packets.rs set PDL_PATH=%OUT_PATH%\pdl\pdl_gen set MAC80211_HWSIM_PACKETS_PREBUILT=%PDL_PATH%\mac80211_hwsim_packets.rs set IEEE80211_PACKETS_PREBUILT=%PDL_PATH%\ieee80211_packets.rs set LLC_PACKETS_PREBUILT=%PDL_PATH%\llc_packets.rs set NETLINK_PACKETS_PREBUILT=%PDL_PATH%\netlink_packets.rs :: Run the cargo command %REPO%\prebuilts\rust\windows-x86\%RUST_VERSION%\bin\cargo.exe test -vv --target=x86_64-pc-windows-gnu --config target.x86_64-pc-windows-gnu.linker='%OUT_PATH%\toolchain\ld-emu.cmd' --package %RUST_PKG% --manifest-path %REPO%\tools\netsim\rust\Cargo.toml --release -- --nocapture