Browse Source

Add a crate to test gcc

add-rc-path
Alex Crichton 9 years ago
parent
commit
fea0322ff2
  1. 1
      .travis.yml
  2. 11
      gcc-test/Cargo.lock
  3. 12
      gcc-test/Cargo.toml
  4. 17
      gcc-test/build.rs
  5. 6
      gcc-test/src/bar1.c
  6. 6
      gcc-test/src/bar2.c
  7. 5
      gcc-test/src/foo.c
  8. 23
      gcc-test/src/lib.rs

1
.travis.yml

@ -7,6 +7,7 @@ sudo: false
script:
- cargo build --verbose
- cargo test --verbose
- cargo test --manifest-path gcc-test/Cargo.toml
- cargo doc
- rustdoc --test README.md -L target/debug
after_success: |

11
gcc-test/Cargo.lock

@ -0,0 +1,11 @@
[root]
name = "gcc-test"
version = "0.1.0"
dependencies = [
"gcc 0.3.8",
]
[[package]]
name = "gcc"
version = "0.3.8"

12
gcc-test/Cargo.toml

@ -0,0 +1,12 @@
[package]
name = "gcc-test"
version = "0.1.0"
authors = ["Alex Crichton <alex@alexcrichton.com>"]
build = "build.rs"
[lib]
name = "gcc-test"
doctest = false
[build-dependencies]
gcc = { path = ".." }

17
gcc-test/build.rs

@ -0,0 +1,17 @@
extern crate gcc;
fn main() {
gcc::Config::new()
.file("src/foo.c")
.compile("libfoo.a");
gcc::Config::new()
.file("src/bar1.c")
.file("src/bar2.c")
.compile("libbar.a");
gcc::Config::new()
.file("src/bar1.c")
.file("src/bar2.c")
.compile("libbar.a");
}

6
gcc-test/src/bar1.c

@ -0,0 +1,6 @@
#include <stdint.h>
int32_t bar1() {
return 5;
}

6
gcc-test/src/bar2.c

@ -0,0 +1,6 @@
#include <stdint.h>
int32_t bar2() {
return 6;
}

5
gcc-test/src/foo.c

@ -0,0 +1,5 @@
#include <stdint.h>
int32_t foo() {
return 4;
}

23
gcc-test/src/lib.rs

@ -0,0 +1,23 @@
extern {
pub fn foo() -> i32;
}
extern {
pub fn bar1() -> i32;
pub fn bar2() -> i32;
}
#[test]
fn foo_here() {
unsafe {
assert_eq!(foo(), 4);
}
}
#[test]
fn bar_here() {
unsafe {
assert_eq!(bar1(), 5);
assert_eq!(bar2(), 6);
}
}
Loading…
Cancel
Save