components/lua/Makefile
changeset 2106 adb848b3a7d4
parent 1948 2d1537e7942d
child 3643 1a4ba329c762
--- a/components/lua/Makefile	Tue Sep 23 01:22:59 2014 -0700
+++ b/components/lua/Makefile	Tue Sep 23 14:48:32 2014 -0700
@@ -63,17 +63,32 @@
 
 ASLR_MODE = $(ASLR_ENABLE)
 
+CLEAN_PATHS +=	$(LUA_TESTS)
+
+LUA_EXE_32 =	$(BUILD_DIR)/$(MACH32)/src/$(COMPONENT_NAME)
+LUA_EXE_64 =	$(BUILD_DIR)/$(MACH64)/src/$(COMPONENT_NAME)
+LUA_EXE =	$(LUA_EXE_$(BITS))
+
+# Unpack and patch the tests once, and work around CR #19661394, which is
+# causing the lua self-tests to fail.
+COMPONENT_PRE_TEST_ACTION = \
+	(if ! test -d $(LUA_TESTS) ; then \
+		$(UNPACK) $(UNPACK_ARGS) $(LUA_TESTS).tar.gz ; \
+		(cd $(LUA_TESTS); $(GPATCH) $(GPATCH_FLAGS) \
+			<$(COMPONENT_DIR)/files/fix-tests.patch) ; \
+	fi)
+
+COMPONENT_TEST_DIR =		$(LUA_TESTS)
+COMPONENT_TEST_CMD =		$(LUA_EXE)
+COMPONENT_TEST_ARGS =		-e"_U=true"
+COMPONENT_TEST_TARGETS =	all.lua
+
 # common targets
 build:		$(BUILD_32_and_64)
-	
+
 install:	$(INSTALL_32_and_64) $(BUILD_DIR)/lua-64.pc
-		
-test: 		install
-		(gzip -dc $(LUA_TESTS).tar.gz | tar xopf -; \
-		cd $(LUA_TESTS); $(ENV) LD_LIBRARY_PATH=$(PROTOUSRLIBDIR) \
-		$(PROTOUSRBINDIR)/$(COMPONENT_NAME) -e"_U=true" all.lua; \
-		$(ENV) LD_LIBRARY_PATH=$(PROTOUSRLIBDIR64) \
-		$(PROTOUSRBINDIR64)/$(COMPONENT_NAME) -e"_U=true" all.lua)
+
+test: 		$(TEST_32_and_64)
 
 BUILD_PKG_DEPENDENCIES =        $(BUILD_TOOLS)