aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGareth Rees2013-03-08 10:17:08 +0000
committerGareth Rees2013-03-08 10:17:08 +0000
commit163e9ad484fccff28d2d05596f074bbd1822686b (patch)
tree48f1e41dd9f3db3f13a7c93ec1191b13882c2521
parent139a4daa9daac8b578b0d017b769b375faaac0d4 (diff)
downloademacs-163e9ad484fccff28d2d05596f074bbd1822686b.tar.gz
emacs-163e9ad484fccff28d2d05596f074bbd1822686b.zip
Test suite runs on os x:
* New Xcode target "testrun" runs all the (runnable) test cases. * Makefile provides separate targets test-make-build and test-xcode-build for running test suite on different platforms. * configure selects the appropriate test target. Copied from Perforce Change: 181085 ServerID: perforce.ravenbrook.com
-rw-r--r--mps/Makefile.in17
-rw-r--r--mps/code/mps.xcodeproj/project.pbxproj78
-rwxr-xr-xmps/configure5
-rw-r--r--mps/configure.ac4
4 files changed, 98 insertions, 6 deletions
diff --git a/mps/Makefile.in b/mps/Makefile.in
index 155d45d898c..b31d1fa4092 100644
--- a/mps/Makefile.in
+++ b/mps/Makefile.in
@@ -18,6 +18,7 @@ EXTRA_TARGETS=@EXTRA_TARGETS@
18export EXTRA_TARGETS 18export EXTRA_TARGETS
19prefix=$(DESTDIR)@prefix@ 19prefix=$(DESTDIR)@prefix@
20MAKE_FOR_TARGET=$(MAKE) -C code -f $(MPS_TARGET_NAME).gmk 20MAKE_FOR_TARGET=$(MAKE) -C code -f $(MPS_TARGET_NAME).gmk
21XCODEBUILD=xcodebuild -project code/mps.xcodeproj
21 22
22all: @BUILD_TARGET@ 23all: @BUILD_TARGET@
23 24
@@ -34,12 +35,12 @@ install-make-build: make-install-dirs build-via-make
34 for PROGRAM in $(EXTRA_TARGETS); do $(INSTALL_PROGRAM) code/$(MPS_TARGET_NAME)/hot/$$PROGRAM $(prefix)/bin/$$PROGRAM; done 35 for PROGRAM in $(EXTRA_TARGETS); do $(INSTALL_PROGRAM) code/$(MPS_TARGET_NAME)/hot/$$PROGRAM $(prefix)/bin/$$PROGRAM; done
35 36
36build-via-xcode: 37build-via-xcode:
37 xcodebuild -project code/mps.xcodeproj -config Release 38 $(XCODEBUILD) -config Release
38 xcodebuild -project code/mps.xcodeproj -config Debug 39 $(XCODEBUILD) -config Debug
39 40
40clean-xcode-build: 41clean-xcode-build:
41 xcodebuild -project code/mps.xcodeproj -config Release clean 42 $(XCODEBUILD) -config Release clean
42 xcodebuild -project code/mps.xcodeproj -config Debug clean 43 $(XCODEBUILD) -config Debug clean
43 44
44install-xcode-build: make-install-dirs build-via-xcode 45install-xcode-build: make-install-dirs build-via-xcode
45 $(INSTALL_DATA) code/mps*.h $(prefix)/include/ 46 $(INSTALL_DATA) code/mps*.h $(prefix)/include/
@@ -67,6 +68,12 @@ make-install-dirs:
67 68
68install: @INSTALL_TARGET@ 69install: @INSTALL_TARGET@
69 70
70test: @BUILD_TARGET@ 71test-make-build: @BUILD_TARGET@
71 $(MAKE_FOR_TARGET) VARIETY=cool testrun 72 $(MAKE_FOR_TARGET) VARIETY=cool testrun
72 $(MAKE_FOR_TARGET) VARIETY=hot testrun 73 $(MAKE_FOR_TARGET) VARIETY=hot testrun
74
75test-xcode-build:
76 $(XCODEBUILD) -config Release -target testrun
77 $(XCODEBUILD) -config Debug -target testrun
78
79test: @TEST_TARGET@
diff --git a/mps/code/mps.xcodeproj/project.pbxproj b/mps/code/mps.xcodeproj/project.pbxproj
index e238cc981e8..375124a990f 100644
--- a/mps/code/mps.xcodeproj/project.pbxproj
+++ b/mps/code/mps.xcodeproj/project.pbxproj
@@ -7,6 +7,18 @@
7 objects = { 7 objects = {
8 8
9/* Begin PBXAggregateTarget section */ 9/* Begin PBXAggregateTarget section */
10 22CDE8EF16E9E97D00366D0A /* testrun */ = {
11 isa = PBXAggregateTarget;
12 buildConfigurationList = 22CDE8F016E9E97E00366D0A /* Build configuration list for PBXAggregateTarget "testrun" */;
13 buildPhases = (
14 22CDE8F416E9E9D400366D0A /* ShellScript */,
15 );
16 dependencies = (
17 22CDE92E16E9EB9300366D0A /* PBXTargetDependency */,
18 );
19 name = testrun;
20 productName = testrun;
21 };
10 3104AFF1156D37A0000A585A /* all */ = { 22 3104AFF1156D37A0000A585A /* all */ = {
11 isa = PBXAggregateTarget; 23 isa = PBXAggregateTarget;
12 buildConfigurationList = 3104AFF2156D37A0000A585A /* Build configuration list for PBXAggregateTarget "all" */; 24 buildConfigurationList = 3104AFF2156D37A0000A585A /* Build configuration list for PBXAggregateTarget "all" */;
@@ -217,6 +229,13 @@
217 remoteGlobalIDString = 2D604B9B16514B1A003AAF46; 229 remoteGlobalIDString = 2D604B9B16514B1A003AAF46;
218 remoteInfo = mpseventtxt; 230 remoteInfo = mpseventtxt;
219 }; 231 };
232 22CDE92D16E9EB9300366D0A /* PBXContainerItemProxy */ = {
233 isa = PBXContainerItemProxy;
234 containerPortal = 31EEABDA156AAE9E00714D05 /* Project object */;
235 proxyType = 1;
236 remoteGlobalIDString = 3104AFF1156D37A0000A585A;
237 remoteInfo = all;
238 };
220 22FA176616E8D6FC0098B23F /* PBXContainerItemProxy */ = { 239 22FA176616E8D6FC0098B23F /* PBXContainerItemProxy */ = {
221 isa = PBXContainerItemProxy; 240 isa = PBXContainerItemProxy;
222 containerPortal = 31EEABDA156AAE9E00714D05 /* Project object */; 241 containerPortal = 31EEABDA156AAE9E00714D05 /* Project object */;
@@ -2253,7 +2272,7 @@
2253 31EEABDA156AAE9E00714D05 /* Project object */ = { 2272 31EEABDA156AAE9E00714D05 /* Project object */ = {
2254 isa = PBXProject; 2273 isa = PBXProject;
2255 attributes = { 2274 attributes = {
2256 LastUpgradeCheck = 0440; 2275 LastUpgradeCheck = 0460;
2257 }; 2276 };
2258 buildConfigurationList = 31EEABDD156AAE9E00714D05 /* Build configuration list for PBXProject "mps" */; 2277 buildConfigurationList = 31EEABDD156AAE9E00714D05 /* Build configuration list for PBXProject "mps" */;
2259 compatibilityVersion = "Xcode 3.2"; 2278 compatibilityVersion = "Xcode 3.2";
@@ -2302,10 +2321,28 @@
2302 3114A6C5156E9815001E0AA3 /* mpseventcnv */, 2321 3114A6C5156E9815001E0AA3 /* mpseventcnv */,
2303 2D07B9701636FC9900DB751B /* mpseventsql */, 2322 2D07B9701636FC9900DB751B /* mpseventsql */,
2304 2D604B9B16514B1A003AAF46 /* mpseventtxt */, 2323 2D604B9B16514B1A003AAF46 /* mpseventtxt */,
2324 22CDE8EF16E9E97D00366D0A /* testrun */,
2305 ); 2325 );
2306 }; 2326 };
2307/* End PBXProject section */ 2327/* End PBXProject section */
2308 2328
2329/* Begin PBXShellScriptBuildPhase section */
2330 22CDE8F416E9E9D400366D0A /* ShellScript */ = {
2331 isa = PBXShellScriptBuildPhase;
2332 buildActionMask = 2147483647;
2333 files = (
2334 );
2335 inputPaths = (
2336 );
2337 outputPaths = (
2338 );
2339 runOnlyForDeploymentPostprocessing = 0;
2340 shellPath = /bin/sh;
2341 shellScript = "# bttest & teletest cannot be run unattended\n# mv2test cannot be run because MV2 is broken\n# amcssth doesn't work on OS X (job001621)\nTESTCASES=\"abqtest amcss amcsshe amsss amssshe apss arenacv awlut \\\n awluthe btcv cbstest finalcv finaltest lockcov locv \\\n messtest mpmss mpsicv poolncv qs sacss segsmss steptest \\\n walkt0\"\nOUTPUT=$(mktemp /tmp/mps.log.XXXXXX)\necho \"Logging test output to $OUTPUT\"\nfor TEST in $TESTCASES; do\n TESTCASE=$TARGET_BUILD_DIR/$TEST\n printf \"\\n\\n-- Running $TESTCASE at $(date) --\\n\" >> $OUTPUT\n echo \"Running $TESTCASE\"\n $TESTCASE >> $OUTPUT || exit 1\ndone";
2342 showEnvVarsInLog = 0;
2343 };
2344/* End PBXShellScriptBuildPhase section */
2345
2309/* Begin PBXSourcesBuildPhase section */ 2346/* Begin PBXSourcesBuildPhase section */
2310 22FA176716E8D6FC0098B23F /* Sources */ = { 2347 22FA176716E8D6FC0098B23F /* Sources */ = {
2311 isa = PBXSourcesBuildPhase; 2348 isa = PBXSourcesBuildPhase;
@@ -2673,6 +2710,11 @@
2673 target = 2D604B9B16514B1A003AAF46 /* mpseventtxt */; 2710 target = 2D604B9B16514B1A003AAF46 /* mpseventtxt */;
2674 targetProxy = 2275798816C5422900B662B0 /* PBXContainerItemProxy */; 2711 targetProxy = 2275798816C5422900B662B0 /* PBXContainerItemProxy */;
2675 }; 2712 };
2713 22CDE92E16E9EB9300366D0A /* PBXTargetDependency */ = {
2714 isa = PBXTargetDependency;
2715 target = 3104AFF1156D37A0000A585A /* all */;
2716 targetProxy = 22CDE92D16E9EB9300366D0A /* PBXContainerItemProxy */;
2717 };
2676 22FA176516E8D6FC0098B23F /* PBXTargetDependency */ = { 2718 22FA176516E8D6FC0098B23F /* PBXTargetDependency */ = {
2677 isa = PBXTargetDependency; 2719 isa = PBXTargetDependency;
2678 target = 31EEABFA156AAF9D00714D05 /* mps */; 2720 target = 31EEABFA156AAF9D00714D05 /* mps */;
@@ -2996,6 +3038,27 @@
2996/* End PBXTargetDependency section */ 3038/* End PBXTargetDependency section */
2997 3039
2998/* Begin XCBuildConfiguration section */ 3040/* Begin XCBuildConfiguration section */
3041 22CDE8F116E9E97E00366D0A /* Debug */ = {
3042 isa = XCBuildConfiguration;
3043 buildSettings = {
3044 PRODUCT_NAME = "$(TARGET_NAME)";
3045 };
3046 name = Debug;
3047 };
3048 22CDE8F216E9E97E00366D0A /* Release */ = {
3049 isa = XCBuildConfiguration;
3050 buildSettings = {
3051 PRODUCT_NAME = "$(TARGET_NAME)";
3052 };
3053 name = Release;
3054 };
3055 22CDE8F316E9E97E00366D0A /* WE */ = {
3056 isa = XCBuildConfiguration;
3057 buildSettings = {
3058 PRODUCT_NAME = "$(TARGET_NAME)";
3059 };
3060 name = WE;
3061 };
2999 22FA177216E8D6FC0098B23F /* Debug */ = { 3062 22FA177216E8D6FC0098B23F /* Debug */ = {
3000 isa = XCBuildConfiguration; 3063 isa = XCBuildConfiguration;
3001 buildSettings = { 3064 buildSettings = {
@@ -3406,6 +3469,7 @@
3406 ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; 3469 ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
3407 CLANG_WARN_IMPLICIT_SIGN_CONVERSION = YES; 3470 CLANG_WARN_IMPLICIT_SIGN_CONVERSION = YES;
3408 CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION = YES; 3471 CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION = YES;
3472 CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
3409 DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; 3473 DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
3410 GCC_C_LANGUAGE_STANDARD = ansi; 3474 GCC_C_LANGUAGE_STANDARD = ansi;
3411 GCC_OPTIMIZATION_LEVEL = 2; 3475 GCC_OPTIMIZATION_LEVEL = 2;
@@ -3771,6 +3835,7 @@
3771 ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; 3835 ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
3772 CLANG_WARN_IMPLICIT_SIGN_CONVERSION = YES; 3836 CLANG_WARN_IMPLICIT_SIGN_CONVERSION = YES;
3773 CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION = YES; 3837 CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION = YES;
3838 CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
3774 COPY_PHASE_STRIP = NO; 3839 COPY_PHASE_STRIP = NO;
3775 GCC_C_LANGUAGE_STANDARD = ansi; 3840 GCC_C_LANGUAGE_STANDARD = ansi;
3776 GCC_OPTIMIZATION_LEVEL = 0; 3841 GCC_OPTIMIZATION_LEVEL = 0;
@@ -3825,6 +3890,7 @@
3825 ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; 3890 ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
3826 CLANG_WARN_IMPLICIT_SIGN_CONVERSION = YES; 3891 CLANG_WARN_IMPLICIT_SIGN_CONVERSION = YES;
3827 CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION = YES; 3892 CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION = YES;
3893 CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
3828 DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; 3894 DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
3829 GCC_C_LANGUAGE_STANDARD = ansi; 3895 GCC_C_LANGUAGE_STANDARD = ansi;
3830 GCC_OPTIMIZATION_LEVEL = 2; 3896 GCC_OPTIMIZATION_LEVEL = 2;
@@ -3909,6 +3975,16 @@
3909/* End XCBuildConfiguration section */ 3975/* End XCBuildConfiguration section */
3910 3976
3911/* Begin XCConfigurationList section */ 3977/* Begin XCConfigurationList section */
3978 22CDE8F016E9E97E00366D0A /* Build configuration list for PBXAggregateTarget "testrun" */ = {
3979 isa = XCConfigurationList;
3980 buildConfigurations = (
3981 22CDE8F116E9E97E00366D0A /* Debug */,
3982 22CDE8F216E9E97E00366D0A /* Release */,
3983 22CDE8F316E9E97E00366D0A /* WE */,
3984 );
3985 defaultConfigurationIsVisible = 0;
3986 defaultConfigurationName = Release;
3987 };
3912 22FA177116E8D6FC0098B23F /* Build configuration list for PBXNativeTarget "amcssth" */ = { 3988 22FA177116E8D6FC0098B23F /* Build configuration list for PBXNativeTarget "amcssth" */ = {
3913 isa = XCConfigurationList; 3989 isa = XCConfigurationList;
3914 buildConfigurations = ( 3990 buildConfigurations = (
diff --git a/mps/configure b/mps/configure
index f65c620f8e0..37bc1f842af 100755
--- a/mps/configure
+++ b/mps/configure
@@ -625,6 +625,7 @@ ac_includes_default="\
625ac_subst_vars='LTLIBOBJS 625ac_subst_vars='LTLIBOBJS
626LIBOBJS 626LIBOBJS
627EXTRA_TARGETS 627EXTRA_TARGETS
628TEST_TARGET
628INSTALL_TARGET 629INSTALL_TARGET
629CLEAN_TARGET 630CLEAN_TARGET
630BUILD_TARGET 631BUILD_TARGET
@@ -3404,6 +3405,7 @@ $as_echo_n "checking target platform... " >&6; }
3404BUILD_TARGET=build-via-make 3405BUILD_TARGET=build-via-make
3405CLEAN_TARGET=clean-make-build 3406CLEAN_TARGET=clean-make-build
3406INSTALL_TARGET=install-make-build 3407INSTALL_TARGET=install-make-build
3408TEST_TARGET=test-make-build
3407case $host in 3409case $host in
3408 i*86-*-linux*) 3410 i*86-*-linux*)
3409 { $as_echo "$as_me:${as_lineno-$LINENO}: result: Linux x86" >&5 3411 { $as_echo "$as_me:${as_lineno-$LINENO}: result: Linux x86" >&5
@@ -3424,6 +3426,7 @@ $as_echo "Mac OS X x86" >&6; }
3424 BUILD_TARGET=build-via-xcode 3426 BUILD_TARGET=build-via-xcode
3425 CLEAN_TARGET=clean-xcode-build 3427 CLEAN_TARGET=clean-xcode-build
3426 INSTALL_TARGET=install-xcode-build 3428 INSTALL_TARGET=install-xcode-build
3429 TEST_TARGET=test-xcode-build
3427 CFLAGS="$CFLAGS_LL" 3430 CFLAGS="$CFLAGS_LL"
3428 ;; 3431 ;;
3429 x86_64-apple-darwin*) 3432 x86_64-apple-darwin*)
@@ -3433,6 +3436,7 @@ $as_echo "Mac OS X x86_64" >&6; }
3433 BUILD_TARGET=build-via-xcode 3436 BUILD_TARGET=build-via-xcode
3434 CLEAN_TARGET=clean-xcode-build 3437 CLEAN_TARGET=clean-xcode-build
3435 INSTALL_TARGET=install-xcode-build 3438 INSTALL_TARGET=install-xcode-build
3439 TEST_TARGET=test-xcode-build
3436 CFLAGS="$CFLAGS_LL" 3440 CFLAGS="$CFLAGS_LL"
3437 ;; 3441 ;;
3438 i*86-*-freebsd*) 3442 i*86-*-freebsd*)
@@ -3506,6 +3510,7 @@ fi
3506 3510
3507 3511
3508 3512
3513
3509ac_config_files="$ac_config_files Makefile example/scheme/Makefile" 3514ac_config_files="$ac_config_files Makefile example/scheme/Makefile"
3510 3515
3511 3516
diff --git a/mps/configure.ac b/mps/configure.ac
index 8c339a0a74f..a502abe9232 100644
--- a/mps/configure.ac
+++ b/mps/configure.ac
@@ -45,6 +45,7 @@ AC_MSG_CHECKING([target platform])
45BUILD_TARGET=build-via-make 45BUILD_TARGET=build-via-make
46CLEAN_TARGET=clean-make-build 46CLEAN_TARGET=clean-make-build
47INSTALL_TARGET=install-make-build 47INSTALL_TARGET=install-make-build
48TEST_TARGET=test-make-build
48case $host in 49case $host in
49 i*86-*-linux*) 50 i*86-*-linux*)
50 AC_MSG_RESULT([Linux x86]) 51 AC_MSG_RESULT([Linux x86])
@@ -62,6 +63,7 @@ case $host in
62 BUILD_TARGET=build-via-xcode 63 BUILD_TARGET=build-via-xcode
63 CLEAN_TARGET=clean-xcode-build 64 CLEAN_TARGET=clean-xcode-build
64 INSTALL_TARGET=install-xcode-build 65 INSTALL_TARGET=install-xcode-build
66 TEST_TARGET=test-xcode-build
65 CFLAGS="$CFLAGS_LL" 67 CFLAGS="$CFLAGS_LL"
66 ;; 68 ;;
67 x86_64-apple-darwin*) 69 x86_64-apple-darwin*)
@@ -70,6 +72,7 @@ case $host in
70 BUILD_TARGET=build-via-xcode 72 BUILD_TARGET=build-via-xcode
71 CLEAN_TARGET=clean-xcode-build 73 CLEAN_TARGET=clean-xcode-build
72 INSTALL_TARGET=install-xcode-build 74 INSTALL_TARGET=install-xcode-build
75 TEST_TARGET=test-xcode-build
73 CFLAGS="$CFLAGS_LL" 76 CFLAGS="$CFLAGS_LL"
74 ;; 77 ;;
75 i*86-*-freebsd*) 78 i*86-*-freebsd*)
@@ -95,6 +98,7 @@ AC_SUBST(MPS_TARGET_NAME)
95AC_SUBST(BUILD_TARGET) 98AC_SUBST(BUILD_TARGET)
96AC_SUBST(CLEAN_TARGET) 99AC_SUBST(CLEAN_TARGET)
97AC_SUBST(INSTALL_TARGET) 100AC_SUBST(INSTALL_TARGET)
101AC_SUBST(TEST_TARGET)
98AC_SUBST(EXTRA_TARGETS) 102AC_SUBST(EXTRA_TARGETS)
99AC_SUBST(CFLAGS) 103AC_SUBST(CFLAGS)
100AC_SUBST(LDFLAGS) 104AC_SUBST(LDFLAGS)