From d2e5e6ff1abec8b3b1579f122b7dcc89a35dbba4 Mon Sep 17 00:00:00 2001 From: Brad King Date: Thu, 14 Nov 2019 10:31:18 -0500 Subject: Tests: Organize Objective C/C++ test directories Move them all under `Tests/ObjC` and `Tests/ObjCXX`. --- Tests/ObjCXX/CMakeLists.txt | 4 ++++ Tests/ObjCXX/ObjC++/CMakeLists.txt | 5 +++++ Tests/ObjCXX/ObjC++/objc++.mm | 23 ++++++++++++++++++++++ .../ObjCXX/cxx-file-extension-test/CMakeLists.txt | 5 +++++ Tests/ObjCXX/cxx-file-extension-test/main.mm | 8 ++++++++ .../objcxx-file-extension-test/CMakeLists.txt | 6 ++++++ Tests/ObjCXX/objcxx-file-extension-test/main.mm | 14 +++++++++++++ Tests/ObjCXX/simple-build-test/CMakeLists.txt | 11 +++++++++++ Tests/ObjCXX/simple-build-test/foo.h | 9 +++++++++ Tests/ObjCXX/simple-build-test/foo.mm | 7 +++++++ Tests/ObjCXX/simple-build-test/main.mm | 14 +++++++++++++ 11 files changed, 106 insertions(+) create mode 100644 Tests/ObjCXX/CMakeLists.txt create mode 100644 Tests/ObjCXX/ObjC++/CMakeLists.txt create mode 100644 Tests/ObjCXX/ObjC++/objc++.mm create mode 100644 Tests/ObjCXX/cxx-file-extension-test/CMakeLists.txt create mode 100644 Tests/ObjCXX/cxx-file-extension-test/main.mm create mode 100644 Tests/ObjCXX/objcxx-file-extension-test/CMakeLists.txt create mode 100644 Tests/ObjCXX/objcxx-file-extension-test/main.mm create mode 100644 Tests/ObjCXX/simple-build-test/CMakeLists.txt create mode 100644 Tests/ObjCXX/simple-build-test/foo.h create mode 100644 Tests/ObjCXX/simple-build-test/foo.mm create mode 100644 Tests/ObjCXX/simple-build-test/main.mm (limited to 'Tests/ObjCXX') diff --git a/Tests/ObjCXX/CMakeLists.txt b/Tests/ObjCXX/CMakeLists.txt new file mode 100644 index 0000000000..a2a907a676 --- /dev/null +++ b/Tests/ObjCXX/CMakeLists.txt @@ -0,0 +1,4 @@ +ADD_TEST_MACRO(ObjCXX.ObjC++ ObjC++) +ADD_TEST_MACRO(ObjCXX.simple-build-test simple-build-test) +ADD_TEST_MACRO(ObjCXX.cxx-file-extension-test cxx-file-extension-test) +ADD_TEST_MACRO(ObjCXX.objcxx-file-extension-test objcxx-file-extension-test) diff --git a/Tests/ObjCXX/ObjC++/CMakeLists.txt b/Tests/ObjCXX/ObjC++/CMakeLists.txt new file mode 100644 index 0000000000..5ba5db2ed0 --- /dev/null +++ b/Tests/ObjCXX/ObjC++/CMakeLists.txt @@ -0,0 +1,5 @@ +# a simple objc++ test case that uses Cocoa framework +project (ObjC++) + +add_executable (ObjC++ objc++.mm) +target_link_libraries(ObjC++ "-framework Cocoa") diff --git a/Tests/ObjCXX/ObjC++/objc++.mm b/Tests/ObjCXX/ObjC++/objc++.mm new file mode 100644 index 0000000000..258ebaa52f --- /dev/null +++ b/Tests/ObjCXX/ObjC++/objc++.mm @@ -0,0 +1,23 @@ +#import +#import +using namespace std; + +int main() +{ + NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; + + NSMutableSet *mySet = [NSMutableSet set]; + cout<<"Adding values to the set."< +#include + +int main() +{ + NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; + std::cout << "Hello World" << std::endl; + [pool release]; + return 0; +} diff --git a/Tests/ObjCXX/simple-build-test/CMakeLists.txt b/Tests/ObjCXX/simple-build-test/CMakeLists.txt new file mode 100644 index 0000000000..cf276834ab --- /dev/null +++ b/Tests/ObjCXX/simple-build-test/CMakeLists.txt @@ -0,0 +1,11 @@ +cmake_minimum_required(VERSION 3.15) + +set(CMAKE_MACOSX_RPATH OFF) + +project(simple-build-test OBJCXX) + +add_library(foo SHARED foo.mm) +target_link_libraries(foo "-framework Foundation") + +add_executable(simple-build-test main.mm) +target_link_libraries(simple-build-test "-framework Foundation" foo) diff --git a/Tests/ObjCXX/simple-build-test/foo.h b/Tests/ObjCXX/simple-build-test/foo.h new file mode 100644 index 0000000000..b3fb084c18 --- /dev/null +++ b/Tests/ObjCXX/simple-build-test/foo.h @@ -0,0 +1,9 @@ +#import + +@interface Foo : NSObject { + NSNumber* age; +} + +@property (nonatomic, retain) NSNumber* age; + +@end diff --git a/Tests/ObjCXX/simple-build-test/foo.mm b/Tests/ObjCXX/simple-build-test/foo.mm new file mode 100644 index 0000000000..2d452a8e50 --- /dev/null +++ b/Tests/ObjCXX/simple-build-test/foo.mm @@ -0,0 +1,7 @@ +#import "foo.h" + +@implementation Foo + +@synthesize age; + +@end diff --git a/Tests/ObjCXX/simple-build-test/main.mm b/Tests/ObjCXX/simple-build-test/main.mm new file mode 100644 index 0000000000..7c85551f0a --- /dev/null +++ b/Tests/ObjCXX/simple-build-test/main.mm @@ -0,0 +1,14 @@ +#import +#import "foo.h" +#include + +int main(int argc, char **argv) +{ + NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; + Foo *theFoo = [[Foo alloc] init]; + theFoo.age = [NSNumber numberWithInt:argc]; + NSLog(@"%d\n",[theFoo.age intValue]); + std::cout << [theFoo.age intValue] << std::endl; + [pool release]; + return 0; +} -- cgit v1.2.1