aboutsummaryrefslogtreecommitdiff
path: root/cc/cc-test/tests/all.rs
diff options
context:
space:
mode:
Diffstat (limited to 'cc/cc-test/tests/all.rs')
-rw-r--r--cc/cc-test/tests/all.rs60
1 files changed, 60 insertions, 0 deletions
diff --git a/cc/cc-test/tests/all.rs b/cc/cc-test/tests/all.rs
new file mode 100644
index 0000000..59cb8e4
--- /dev/null
+++ b/cc/cc-test/tests/all.rs
@@ -0,0 +1,60 @@
+extern crate cc_test;
+
+use cc_test::*;
+
+#[link(name = "OptLinkage", kind = "static")]
+extern "C" {
+ fn answer() -> i32;
+}
+
+#[test]
+fn foo_here() {
+ unsafe {
+ assert_eq!(foo(), 4);
+ }
+}
+
+#[test]
+fn bar_here() {
+ unsafe {
+ assert_eq!(bar1(), 5);
+ assert_eq!(bar2(), 6);
+ }
+}
+
+#[test]
+fn asm_here() {
+ unsafe {
+ assert_eq!(asm(), 7);
+ }
+}
+
+#[test]
+fn baz_here() {
+ unsafe {
+ assert_eq!(baz(), 8);
+ }
+}
+
+#[test]
+#[cfg(windows)]
+fn windows_here() {
+ unsafe {
+ windows();
+ }
+}
+
+#[test]
+#[cfg(target_env = "msvc")]
+fn msvc_here() {
+ unsafe {
+ msvc();
+ }
+}
+
+#[test]
+fn opt_linkage() {
+ unsafe {
+ assert_eq!(answer(), 42);
+ }
+}