Add tests support
This commit is contained in:
		
							
								
								
									
										25
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										25
									
								
								Makefile
									
									
									
									
									
								
							@@ -111,6 +111,10 @@ ENGINE_OBJS := $(addprefix $(BUILD_DIR)/,$(ENGINE_MAKE))
 | 
				
			|||||||
MODULE := $(subst /,,$(subst modules/,,$(dir $(wildcard modules/*/))))
 | 
					MODULE := $(subst /,,$(subst modules/,,$(dir $(wildcard modules/*/))))
 | 
				
			||||||
SAPI := $(subst /,,$(subst sapi/,,$(dir $(wildcard sapi/*/))))
 | 
					SAPI := $(subst /,,$(subst sapi/,,$(dir $(wildcard sapi/*/))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					TEST_DIR := tests
 | 
				
			||||||
 | 
					TEST_EXT := aer
 | 
				
			||||||
 | 
					TESTS := $(subst .$(TEST_EXT),.test,$(wildcard $(TEST_DIR)/*.$(TEST_EXT)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.SUFFIXES:
 | 
					.SUFFIXES:
 | 
				
			||||||
.PHONY: clean debug install release style test
 | 
					.PHONY: clean debug install release style test
 | 
				
			||||||
@@ -149,6 +153,25 @@ $(SAPI):
 | 
				
			|||||||
	$(MAKE) $(SAPI_OBJS)
 | 
						$(MAKE) $(SAPI_OBJS)
 | 
				
			||||||
	$(CC) -o $(BUILD_DIR)/$(SAPI_PROG) $(LDFLAGS) $(LIBFLAGS) $(SAPI_OBJS)
 | 
						$(CC) -o $(BUILD_DIR)/$(SAPI_PROG) $(LDFLAGS) $(LIBFLAGS) $(SAPI_OBJS)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					%.test: %.exp %.$(TEST_EXT)
 | 
				
			||||||
 | 
						@$(MD) ${BUILD_DIR}/${TEST_DIR}
 | 
				
			||||||
 | 
						@echo -n "Executing test: $*.$(TEST_EXT) ... "
 | 
				
			||||||
 | 
						@if [ "x`echo $* | grep args`" != "x" ]; \
 | 
				
			||||||
 | 
						then \
 | 
				
			||||||
 | 
							binary/$(BINARY)$(EXESUFFIX) $*.$(TEST_EXT) - arg1 arg2 arg3 arg4 2>&1 >$(BUILD_DIR)/$*.out; \
 | 
				
			||||||
 | 
						else \
 | 
				
			||||||
 | 
							binary/$(BINARY)$(EXESUFFIX) $*.$(TEST_EXT) 2>&1 >$(BUILD_DIR)/$*.out; \
 | 
				
			||||||
 | 
						fi
 | 
				
			||||||
 | 
						@if [ "x`diff -qbu $*.exp $(BUILD_DIR)/$*.out`" != "x" ]; \
 | 
				
			||||||
 | 
						then \
 | 
				
			||||||
 | 
							echo "ERROR!"; \
 | 
				
			||||||
 | 
							diff -u $*.exp $(BUILD_DIR)/$*.out; \
 | 
				
			||||||
 | 
							rm -f $(BUILD_DIR)/$(TEST_DIR)/*.out \
 | 
				
			||||||
 | 
							exit 1; \
 | 
				
			||||||
 | 
						fi;
 | 
				
			||||||
 | 
						@rm -f $(BUILD_DIR)/$(TEST_DIR)/*.out
 | 
				
			||||||
 | 
						@echo "OK!"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
clean:
 | 
					clean:
 | 
				
			||||||
	$(RM) $(BUILD_DIR)
 | 
						$(RM) $(BUILD_DIR)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -159,3 +182,5 @@ install: engine modules sapi
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
style:
 | 
					style:
 | 
				
			||||||
	astyle $(ASTYLE_FLAGS) --recursive ./*.c,*.h
 | 
						astyle $(ASTYLE_FLAGS) --recursive ./*.c,*.h
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					test: $(TESTS)
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user