mirror of
				https://github.com/eledio-devices/thirdparty-ArduinoJson.git
				synced 2025-10-31 08:42:39 +01:00 
			
		
		
		
	Moved CI from Travis to GitHub Actions (fixes #1493)
This commit is contained in:
		| @@ -1,7 +0,0 @@ | ||||
| #!/bin/sh -ex | ||||
|  | ||||
| export CC="$_CC" | ||||
| export CXX="$_CXX" | ||||
|  | ||||
| cmake -DCMAKE_BUILD_TYPE=Release . | ||||
| cmake --build . | ||||
| @@ -1,9 +0,0 @@ | ||||
| #!/bin/sh -eux | ||||
|  | ||||
| cmake -DCOVERAGE=true . | ||||
| make  | ||||
| make test | ||||
|  | ||||
| pip install --user cpp-coveralls 'requests[security]' | ||||
| pwd | ||||
| coveralls --include 'src' --gcov-options '\-lp' | ||||
| @@ -1,22 +0,0 @@ | ||||
| #!/bin/bash -eux | ||||
|  | ||||
| ROOT_DIR=$(dirname $0)/../../ | ||||
| FUZZING_DIR=${ROOT_DIR}/extras/fuzzing/ | ||||
|  | ||||
| export CC="clang-${CLANG}" | ||||
| export CXX="clang++-${CLANG}" | ||||
| cmake -DCMAKE_BUILD_TYPE=Debug . | ||||
|  | ||||
| FUZZER_TARGET="${FUZZER}_fuzzer" | ||||
| FUZZER_PATH="extras/fuzzing/${FUZZER_TARGET}" | ||||
| CORPUS_DIR="${FUZZING_DIR}/${FUZZER}_corpus" | ||||
| SEED_CORPUS_DIR="${FUZZING_DIR}/${FUZZER}_seed_corpus" | ||||
|  | ||||
| cmake --build . --target $FUZZER_TARGET | ||||
|  | ||||
| export ASAN_OPTIONS="detect_leaks=0" | ||||
| export LLVM_PROFILE_FILE="${FUZZER_TARGET}.profraw" | ||||
| ${FUZZER_PATH} "$CORPUS_DIR" "$SEED_CORPUS_DIR" -max_total_time=60 -timeout=1 | ||||
|  | ||||
| llvm-profdata-${CLANG} merge -sparse ${LLVM_PROFILE_FILE} -o ${FUZZER_TARGET}.profdata | ||||
| llvm-cov-${CLANG} report ./${FUZZER_PATH} -instr-profile=${FUZZER_TARGET}.profdata | ||||
| @@ -1,11 +1,9 @@ | ||||
| #!/bin/sh -ex | ||||
|  | ||||
| BOARD=$1 | ||||
|  | ||||
| cd "$(dirname "$0")/../../" | ||||
|  | ||||
| npm install -g particle-cli | ||||
|  | ||||
| particle login -t "${PARTICLE_TOKEN}" | ||||
|  | ||||
| cp extras/particle/src/smocktest.ino src/ | ||||
| cp extras/particle/project.properties ./ | ||||
|  | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| #!/bin/sh -eux | ||||
|  | ||||
| pip install --user platformio | ||||
| BOARD=$1 | ||||
|  | ||||
| case $BOARD in | ||||
| uno) | ||||
|   | ||||
| @@ -1,8 +0,0 @@ | ||||
| #!/bin/sh -ex | ||||
|  | ||||
| export CC="$_CC" | ||||
| export CXX="$_CXX" | ||||
|  | ||||
| cmake -DCMAKE_BUILD_TYPE=Debug . | ||||
| cmake --build . | ||||
| ctest --output-on-failure . | ||||
| @@ -22,11 +22,8 @@ target_link_libraries(json_reproducer | ||||
| 	ArduinoJson | ||||
| ) | ||||
|  | ||||
| # Infer path of llvm-symbolizer from the path of clang | ||||
| string(REPLACE "clang++" "llvm-symbolizer" LLVM_SYMBOLIZER ${CMAKE_CXX_COMPILER}) | ||||
|  | ||||
| macro(add_fuzzer name mode)	 | ||||
| 	set(FUZZER "${name}_${mode}_fuzzer") | ||||
| macro(add_fuzzer name)	 | ||||
| 	set(FUZZER "${name}_fuzzer") | ||||
| 	set(CORPUS_DIR "${CMAKE_CURRENT_SOURCE_DIR}/${name}_corpus") | ||||
| 	set(SEED_CORPUS_DIR "${CMAKE_CURRENT_SOURCE_DIR}/${name}_seed_corpus") | ||||
| 	add_executable("${FUZZER}" | ||||
| @@ -38,9 +35,9 @@ macro(add_fuzzer name mode) | ||||
| 	set_target_properties("${FUZZER}" | ||||
| 		PROPERTIES  | ||||
| 			COMPILE_FLAGS   | ||||
| 				"-fprofile-instr-generate -fcoverage-mapping -fsanitize=${mode},fuzzer -fno-sanitize-recover=all" | ||||
| 				"-fprofile-instr-generate -fcoverage-mapping -fsanitize=fuzzer -fno-sanitize-recover=all" | ||||
| 			LINK_FLAGS | ||||
| 				"-fprofile-instr-generate -fcoverage-mapping -fsanitize=${mode},fuzzer -fno-sanitize-recover=all" | ||||
| 				"-fprofile-instr-generate -fcoverage-mapping -fsanitize=fuzzer -fno-sanitize-recover=all" | ||||
| 	) | ||||
|  | ||||
| 	add_test( | ||||
| @@ -49,29 +46,9 @@ macro(add_fuzzer name mode) | ||||
| 		COMMAND | ||||
| 			"${FUZZER}" "${CORPUS_DIR}" "${SEED_CORPUS_DIR}" -max_total_time=5 -timeout=1 | ||||
| 	) | ||||
|  | ||||
| 	set_tests_properties("${FUZZER}" | ||||
| 		PROPERTIES | ||||
| 			ENVIRONMENT | ||||
| 				ASAN_SYMBOLIZER_PATH=${LLVM_SYMBOLIZER} | ||||
| 			ENVIRONMENT | ||||
| 				LLVM_SYMBOLIZER_PATH=${LLVM_SYMBOLIZER} | ||||
| 			ENVIRONMENT | ||||
| 				MSAN_SYMBOLIZER_PATH=${LLVM_SYMBOLIZER} | ||||
| 			ENVIRONMENT | ||||
| 				UBSAN_SYMBOLIZER_PATH=${LLVM_SYMBOLIZER} | ||||
| 	) | ||||
| endmacro() | ||||
|  | ||||
| if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 6) | ||||
| 	add_fuzzer(json address) | ||||
| 	add_fuzzer(json undefined) | ||||
| 	add_fuzzer(msgpack address) | ||||
| 	add_fuzzer(msgpack undefined) | ||||
| endif() | ||||
|  | ||||
| if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 7) | ||||
| 	# We're getting false positive with Clang 6 | ||||
| 	add_fuzzer(json memory) | ||||
| 	add_fuzzer(msgpack memory) | ||||
| 	add_fuzzer(json) | ||||
| 	add_fuzzer(msgpack) | ||||
| endif() | ||||
|   | ||||
		Reference in New Issue
	
	Block a user