Overview
Context
Changes
Modified new_tests/Makefile
from [b432a17b87]
to [8649fe6555].
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
+
+
+
+
-
+
+
+
-
|
include ../extra.mk
SUBDIRS = ${TESTPLUGIN}
PROG_NOINST = tests${PROG_SUFFIX}
SRCS = OFNumberTests.m \
OFPBKDF2Tests.m \
OFPropertyListTests.m
OFPropertyListTests.m \
${USE_SRCS_PLUGINS}
SRCS_PLUGINS = OFPluginTests.m
include ../buildsys.mk
include ../extra.mk
.PHONY: run run-on-ios run-on-android
run:
rm -f libobjfw.so.${OBJFW_LIB_MAJOR}
rm -f libobjfw.so.${OBJFW_LIB_MAJOR_MINOR}
rm -f objfw${OBJFW_LIB_MAJOR}.dll libobjfw.${OBJFW_LIB_MAJOR}.dylib
rm -f libobjfwrt.so.${OBJFWRT_LIB_MAJOR}
|
︙ | | |
| | | |
Renamed and modified
tests/OFPluginTests.m
[278848818e]
to new_tests/OFPluginTests.m
[686786627c].
︙ | | |
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
|
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
-
+
+
-
-
+
-
-
-
+
-
-
-
-
+
+
-
+
-
+
+
+
+
+
-
+
+
-
-
-
+
+
-
+
-
+
-
+
-
-
|
* Public License, either version 2 or 3, which can be found in the file
* LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this
* file.
*/
#include "config.h"
#import "TestsAppDelegate.h"
#import "ObjFW.h"
#import "ObjFWTest.h"
#import "plugin/TestPlugin.h"
#ifndef OF_IOS
static OFString *const pluginName = @"plugin/TestPlugin";
@interface OFPluginTests: OTTestCase
#else
static OFString *const pluginName = @"PlugIns/TestPlugin";
#endif
@end
static OFString *const module = @"OFPlugin";
@implementation TestsAppDelegate (OFPluginTests)
- (void)pluginTests
@implementation OFPluginTests
- (void)testPlugin
{
void *pool = objc_autoreleasePoolPush();
OFString *path;
OFPlugin *plugin;
Class (*class)(void);
TestPlugin *test;
#ifndef OF_IOS
TEST(@"+[pathForName:]", (path = [OFPlugin pathForName: pluginName]))
path = [OFPlugin pathForName: @"plugin/TestPlugin"];
#else
path = [OFPlugin pathForName: @"PlugIns/TestPlugin"];
#endif
OTAssertNotNil(path);
TEST(@"+[pluginWithPath:]", (plugin = [OFPlugin pluginWithPath: path]))
plugin = [OFPlugin pluginWithPath: path];
OTAssertNotNil(plugin);
TEST(@"-[addressForSymbol:]",
(class = (Class (*)(void))(uintptr_t)
[plugin addressForSymbol: @"class"]))
class = (Class (*)(void))(uintptr_t)[plugin addressForSymbol: @"class"];
OTAssert(class != NULL);
test = [[class() alloc] init];
@try {
test = [[class() alloc] init];
TEST(@"TestPlugin's -[test:]", [test test: 1234] == 2468)
OTAssertEqual([test test: 1234], 2468);
} @finally {
[test release];
}
}
objc_autoreleasePoolPop(pool);
}
@end
|
Name change
from tests/plugin/Info.plist.in
to new_tests/plugin/Info.plist.in.
Name change
from tests/plugin/Makefile
to new_tests/plugin/Makefile.
Name change
from tests/plugin/TestPlugin.h
to new_tests/plugin/TestPlugin.h.
Name change
from tests/plugin/TestPlugin.m
to new_tests/plugin/TestPlugin.m.
Modified tests/Makefile
from [85de92b1ac]
to [5901b6f9c4].
1
2
3
4
5
6
7
8
9
10
11
|
1
2
3
4
5
6
7
8
9
10
|
-
-
+
|
include ../extra.mk
SUBDIRS = ${TESTPLUGIN} \
${OBJC_SYNC} \
SUBDIRS = ${OBJC_SYNC} \
${SUBPROCESS} \
terminal
CLEAN = EBOOT.PBP \
boot.dol \
${PROG_NOINST}.arm9 \
${PROG_NOINST}.nds \
|
︙ | | |
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
|
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
|
-
-
|
OFXMLElementBuilderTests.m \
OFXMLNodeTests.m \
OFXMLParserTests.m \
RuntimeTests.m \
${RUNTIME_ARC_TESTS_M} \
TestsAppDelegate.m \
${USE_SRCS_FILES} \
${USE_SRCS_PLUGINS} \
${USE_SRCS_SOCKETS} \
${USE_SRCS_SUBPROCESS} \
${USE_SRCS_THREADS} \
${USE_SRCS_WINDOWS} \
testfile_bin.m \
testfile_ini.m
SRCS_PLUGINS = OFPluginTests.m
SRCS_SOCKETS = OFDNSResolverTests.m \
${OF_HTTP_CLIENT_TESTS_M} \
OFHTTPCookieTests.m \
OFHTTPCookieManagerTests.m \
OFKernelEventObserverTests.m \
OFSocketTests.m \
OFTCPSocketTests.m \
|
︙ | | |
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
|
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
|
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
|
rm -f libobjfw.${OBJFW_LIB_MAJOR}.dylib; \
rm -f libobjfwrt.so.${OBJFWRT_LIB_MAJOR}; \
rm -f libobjfwrt.so.${OBJFWRT_LIB_MAJOR_MINOR}; \
rm -f objfwrt${OBJFWRT_LIB_MAJOR}.dll; \
rm -f libobjfwrt.${OBJFWRT_LIB_MAJOR}.dylib; \
exit $$EXIT
run-on-ios: all
if [ -z "${IOS_HOST}" ]; then \
echo "Please set IOS_HOST to the hostname of your iOS host!"; \
exit 1; \
fi
echo "Uploading files to iOS device ${IOS_HOST} at ${IOS_TMP}..."
ssh ${IOS_USER}@${IOS_HOST} \
'rm -fr ${IOS_TMP} && mkdir -p ${IOS_TMP}/plugin'
destname=libobjfw.${OBJFW_LIB_MAJOR}.dylib; \
scp -q ../src/libobjfw.dylib \
${IOS_USER}@${IOS_HOST}:${IOS_TMP}/$$destname
scp -q tests testfile.txt ${IOS_USER}@${IOS_HOST}:${IOS_TMP}/
scp -q plugin/TestPlugin.bundle \
${IOS_USER}@${IOS_HOST}:${IOS_TMP}/plugin/
echo "Running tests binary on iOS device ${IOS_HOST}..."
ssh ${IOS_USER}@${IOS_HOST} \
'cd ${IOS_TMP} && DYLD_LIBRARY_PATH=. ${WRAPPER} ./tests'
run-on-android: all
echo "Uploading files to Android device..."
if test -f ../src/libobjfw.so; then \
adb push ../src/libobjfw.so \
/data/local/tmp/objfw/libobjfw.so.${OBJFW_LIB_MAJOR}; \
fi
if test -f ../src/runtime/libobjfwrt.so; then \
adb push ../src/runtime/libobjfwrt.so \
/data/local/tmp/objfw/libobjfwrt.so.${OBJFWRT_LIB_MAJOR}; \
fi
adb push tests /data/local/tmp/objfw/tests
adb push testfile.txt /data/local/tmp/objfw/testfile.txt
if test -f plugin/TestPlugin.so; then \
adb push plugin/TestPlugin.so \
/data/local/tmp/objfw/plugin/TestPlugin.so; \
fi
echo "Running tests binary on Android device..."
adb shell 'cd /data/local/tmp/objfw && LD_LIBRARY_PATH=. exec ${WRAPPER} ./tests'
EBOOT.PBP: ${PROG_NOINST}
psp-fixup-imports ${PROG_NOINST}
mksfo "ObjFW Tests" PARAM.SFO
psp-strip ${PROG_NOINST}
|
︙ | | |