Files
bacnet_stack/test/Makefile
T
Steve Karg f641aacddb Bugfix/deprecate decode tag number and value (#481)
* added or updated secure the BACnet primitive value decoders - the core codecs - named bacnet_x_decode(), bacnet_x_application_decode() and bacnet_x_context_decode where x is one of the 13 BACnet primitive value names.  The updated API includes an APDU size to prevent over-reading of an APDU buffer while decoding.  Improved or added unit test code coverage for the BACnet primitive value decoders.

* marked the insecure decoding API as 'deprecated' which is defined in src/bacnet/basic/sys/platform.h and can be disabled during a build. 

* added secure decoders for BACnetTimeValue, BACnetHostNPort, BACnetTimeStamp, BACnetAddress, and Weekly_Schedule and improved unit test code coverage.

* improved test code coverage for BACnet objects and properties.

* secured AtomicReadFile and AtomicWriteFile service decoders and improved unit test code coverage.

* secured BACnet Error service decoder and improved unit test code coverage.

---------

Co-authored-by: Steve Karg <skarg@users.sourceforge.net>
2023-09-08 11:39:27 -05:00

87 lines
2.2 KiB
Makefile

# Main Makefile for BACnet-stack applications, tests, and sample ports
# Export the variables defined here to all subprocesses
# (see http://www.gnu.org/software/automake/manual/make/Special-Targets.html)
.EXPORT_ALL_VARIABLES:
# all: demos router-ipv6 ${DEMO_LINUX}
.PHONY: all
all: test
BUILD_DIR=build
CTEST_OPTIONS := --quiet --output-on-failure
CTEST_OPTIONS += --output-junit test-results.xml
# determine the compile environment name
ifeq ($(OS),Windows_NT)
SYS := $(shell gcc -dumpmachine)
ifneq (, $(findstring mingw, $(SYS)))
UNAME_S := MinGW
else ifneq (, $(findstring cygwin, $(SYS)))
UNAME_S := Cygwin
else
UNAME_S := Windows
endif
else
UNAME_S := $(shell uname -s)
UNAME_S := $(patsubst BSD%,BSD,$(UNAME_S))
endif
# unlimited parallel makefile jobs can
# overwhelm builders with limited resources
# set job limits based on number of core processors
ifeq (${JOBS},)
ifeq ($(UNAME_S),Windows)
JOBS = "-j %NUMBER_OF_PROCESSORS%"
endif
ifeq ($(UNAME_S),Linux)
JOBS = "-j $(shell nproc)"
endif
ifeq ($(UNAME_S),Darwin)
JOBS = "-j $(sysctl -n hw.ncpu)"
endif
ifeq ($(UNAME_S),BSD)
JOBS = "-j $(sysctl -n hw.ncpu)"
endif
ifeq ($(UNAME_S),MinGW)
JOBS = "-j"
endif
endif
.PHONY: test
test:
[ -d $(BUILD_DIR) ] || mkdir -p $(BUILD_DIR)
[ -d $(BUILD_DIR) ] && cd $(BUILD_DIR) && cmake .. && cd ..
[ -d $(BUILD_DIR) ] && cd $(BUILD_DIR) && cmake --build . $(JOBS) --clean-first && cd ..
[ -d $(BUILD_DIR) ] && cd $(BUILD_DIR) && ctest $(CTEST_OPTIONS)
[ -d $(BUILD_DIR) ] && $(MAKE) -C $(BUILD_DIR) lcov
.PHONY: retest
retest:
[ -d $(BUILD_DIR) ] && cd $(BUILD_DIR) && cmake --build . $(JOBS) && cd ..
[ -d $(BUILD_DIR) ] && cd $(BUILD_DIR) && ctest $(CTEST_OPTIONS)
[ -d $(BUILD_DIR) ] && $(MAKE) -C $(BUILD_DIR) lcov
.PHONY: report
report:
[ -d $(BUILD_DIR) ] && cat $(BUILD_DIR)/Testing/Temporary/LastTest*.log
.PHONY: rebuild
rebuild:
[ -d $(BUILD_DIR) ] && cd $(BUILD_DIR) && cmake --build . --clean-first && cd ..
.PHONY: env
env:
@echo "Makefile environment variables"
@echo "UNAME_S=$(UNAME_S)"
@echo "JOBS=$(JOBS)"
@echo "MAKEFLAGS=$(MAKEFLAGS)"
@echo "CTEST_OPTIONS=$(CTEST_OPTIONS)"
@echo "BUILD_DIR=$(BUILD_DIR)"
.PHONY: clean
clean:
-rm -rf $(BUILD_DIR)