about summary refs log tree commit diff
path: root/pkgs/development/tools/rust/cargo-show-asm/test-basic-x86_64.nix
blob: ca1738f02185e7558db22d7a6f6bdb54143c2764 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
{ runCommand, cargo, rustc, cargo-show-asm }:
runCommand "test-basic" {
  nativeBuildInputs = [ cargo rustc cargo-show-asm ];
} ''
  mkdir -p src
  cat >Cargo.toml <<EOF
[package]
name = "add"
version = "0.0.0"
EOF
  cat >src/lib.rs <<EOF
#[inline(never)] pub fn add(a: u32, b: u32) -> u32 { a + b }
EOF

  [[ "$(cargo asm add::add | tee /dev/stderr)" == *"lea eax, "* ]]
  [[ "$(cargo asm --mir add | tee /dev/stderr)" == *"= Add("* ]]
  touch $out
''