]> git.saurik.com Git - apple/objc4.git/blobdiff - test/gcenforcer.m
objc4-437.tar.gz
[apple/objc4.git] / test / gcenforcer.m
diff --git a/test/gcenforcer.m b/test/gcenforcer.m
new file mode 100644 (file)
index 0000000..f3241b0
--- /dev/null
@@ -0,0 +1,22 @@
+#include "test.h"
+#include <objc/objc-auto.h>
+#include <dlfcn.h>
+
+int main()
+{
+    int i;
+    for (i = 0; i < 1000; i++) {
+        testassert(dlopen_preflight("libsupportsgc.dylib"));
+        testassert(dlopen_preflight("libnoobjc.dylib"));
+        
+        if (objc_collecting_enabled()) {
+            testassert(dlopen_preflight("librequiresgc.dylib"));
+            testassert(! dlopen_preflight("libnogc.dylib"));
+        } else {
+            testassert(! dlopen_preflight("librequiresgc.dylib"));
+            testassert(dlopen_preflight("libnogc.dylib"));
+        }
+    }
+
+    succeed(__FILE__);
+}