Introducing make target for precommit testing: 'make precommit' that also supports parallel run: 'make -j precommit'. Introducing set of modifiers for linux target: libc_raw, musl, sanitize, valgrind. For example: 'make debug.linux-libc_raw-sanitize' or 'make release.linux-valgrind'. Removing corresponding flags.
This commit is contained in:
@@ -22,9 +22,12 @@
|
|||||||
# debug_release: - JERRY_NDEBUG; + optimizations; + debug symbols; + -Werror | checked release build
|
# debug_release: - JERRY_NDEBUG; + optimizations; + debug symbols; + -Werror | checked release build
|
||||||
# release: + JERRY_NDEBUG; + optimizations; - debug symbols; + -Werror | release build
|
# release: + JERRY_NDEBUG; + optimizations; - debug symbols; + -Werror | release build
|
||||||
#
|
#
|
||||||
# Target system part (after first dot):
|
# Target system and modifiers part (after first dot):
|
||||||
# linux - target system is linux
|
# linux - target system is linux
|
||||||
# stm32f{4} - target is STM32F{4} board
|
# stm32f{4} - target is STM32F{4} board
|
||||||
|
#
|
||||||
|
# Modifiers can be added after '-' sign.
|
||||||
|
# For list of modifiers for PC target - see TARGET_PC_MODS, for MCU target - TARGET_MCU_MODS.
|
||||||
#
|
#
|
||||||
# Target action part (optional, after second dot):
|
# Target action part (optional, after second dot):
|
||||||
# check - run cppcheck on src folder, unit and other tests
|
# check - run cppcheck on src folder, unit and other tests
|
||||||
@@ -41,12 +44,21 @@
|
|||||||
export TARGET_MODES = debug debug_release release
|
export TARGET_MODES = debug debug_release release
|
||||||
export TARGET_PC_SYSTEMS = linux
|
export TARGET_PC_SYSTEMS = linux
|
||||||
export TARGET_MCU_SYSTEMS = $(addprefix stm32f,4) # now only stm32f4 is supported, to add, for example, to stm32f3, change to $(addprefix stm32f,3 4)
|
export TARGET_MCU_SYSTEMS = $(addprefix stm32f,4) # now only stm32f4 is supported, to add, for example, to stm32f3, change to $(addprefix stm32f,3 4)
|
||||||
export TARGET_SYSTEMS = $(TARGET_PC_SYSTEMS) $(TARGET_MCU_SYSTEMS)
|
|
||||||
|
export TARGET_PC_MODS = libc_raw musl sanitize valgrind \
|
||||||
|
libc_raw-sanitize libc_raw-valgrind \
|
||||||
|
musl-valgrind
|
||||||
|
|
||||||
|
export TARGET_MCU_MODS =
|
||||||
|
|
||||||
|
export TARGET_SYSTEMS = $(TARGET_PC_SYSTEMS) \
|
||||||
|
$(TARGET_MCU_SYSTEMS) \
|
||||||
|
$(foreach __MOD,$(TARGET_PC_MODS),$(foreach __SYSTEM,$(TARGET_PC_SYSTEMS),$(__SYSTEM)-$(__MOD))) \
|
||||||
|
$(foreach __MOD,$(TARGET_MCU_MODS),$(foreach __SYSTEM,$(TARGET_MCU_SYSTEMS),$(__SYSTEM)-$(__MOD)))
|
||||||
|
|
||||||
# Target list
|
# Target list
|
||||||
export JERRY_TARGETS = $(foreach __MODE,$(TARGET_MODES),$(foreach __SYSTEM,$(TARGET_SYSTEMS),$(__MODE).$(__SYSTEM)))
|
export JERRY_TARGETS = $(foreach __MODE,$(TARGET_MODES),$(foreach __SYSTEM,$(TARGET_SYSTEMS),$(__MODE).$(__SYSTEM)))
|
||||||
export TESTS_TARGET = unittests
|
export TESTS_TARGET = unittests
|
||||||
export PARSER_TESTS_TARGET = testparser
|
|
||||||
export CHECK_TARGETS = $(foreach __TARGET,$(JERRY_TARGETS),$(__TARGET).check)
|
export CHECK_TARGETS = $(foreach __TARGET,$(JERRY_TARGETS),$(__TARGET).check)
|
||||||
export FLASH_TARGETS = $(foreach __TARGET,$(foreach __MODE,$(TARGET_MODES),$(foreach __SYSTEM,$(TARGET_MCU_SYSTEMS),$(__MODE).$(__SYSTEM))),$(__TARGET).flash)
|
export FLASH_TARGETS = $(foreach __TARGET,$(foreach __MODE,$(TARGET_MODES),$(foreach __SYSTEM,$(TARGET_MCU_SYSTEMS),$(__MODE).$(__SYSTEM))),$(__TARGET).flash)
|
||||||
|
|
||||||
@@ -60,16 +72,51 @@ export echo
|
|||||||
export todo
|
export todo
|
||||||
export fixme
|
export fixme
|
||||||
export color
|
export color
|
||||||
export sanitize
|
|
||||||
export valgrind
|
|
||||||
export musl
|
|
||||||
export libc_raw
|
|
||||||
|
|
||||||
all: clean $(TESTS_TARGET) $(CHECK_TARGETS)
|
build: clean $(JERRY_TARGETS)
|
||||||
|
|
||||||
$(JERRY_TARGETS) $(TESTS_TARGET) $(PARSER_TESTS_TARGET) $(FLASH_TARGETS) $(CHECK_TARGETS):
|
all: clean $(JERRY_TARGETS) $(TESTS_TARGET) $(CHECK_TARGETS)
|
||||||
@echo $@
|
|
||||||
@$(MAKE) -f Makefile.mk TARGET=$@ $@
|
.SILENT: commit
|
||||||
|
|
||||||
|
GIT_STATUS_NOT_CLEAN_MSG="Git status of current directory is not clean"
|
||||||
|
GIT_STATUS_CONSIDER_CLEAN_MSG="Consider removing all untracked files and locally commiting all changes and running \'make precommit\' again"
|
||||||
|
PRECOMMIT_CHECK_TARGETS_LIST= debug.linux-sanitize.check \
|
||||||
|
debug.linux-valgrind.check \
|
||||||
|
debug_release.linux-sanitize.check \
|
||||||
|
debug_release.linux-valgrind.check \
|
||||||
|
release.linux-sanitize.check \
|
||||||
|
release.linux-musl-valgrind.check \
|
||||||
|
release.linux-libc_raw-valgrind.check
|
||||||
|
|
||||||
|
git_status_pre_test_check:
|
||||||
|
@ clear
|
||||||
|
@ if [ "`git status --porcelain 2>&1 | wc -l`" != "0" ]; \
|
||||||
|
then \
|
||||||
|
echo -e "\n \e[1;90m$(GIT_STATUS_NOT_CLEAN_MSG):\n"; \
|
||||||
|
git status ; \
|
||||||
|
echo -e "\n\n $(GIT_STATUS_CONSIDER_CLEAN_MSG).\e[0m\n"; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
precommit: clean git_status_pre_test_check build
|
||||||
|
@ echo -e "\n================ Build completed successfully. Running precommit tests ================\n"
|
||||||
|
@ echo -e "All targets were built successfully. Starting unit tests' build and run.\n"
|
||||||
|
@ $(MAKE) -s unittests TESTS_OPTS="--silent"
|
||||||
|
@ echo -e "Unit tests completed successfully. Starting parse-only testing.\n"
|
||||||
|
@ $(MAKE) -s $(PRECOMMIT_CHECK_TARGETS_LIST) TESTS_DIR=./tests/jerry TESTS_OPTS="--parse-only" OUTPUT_TO_LOG=enable
|
||||||
|
@ echo -e "\e[0;31mFIXME:\e[0m './benchmarks/jerry parse-only' testing skipped.\n"; # $(MAKE) -s $(PRECOMMIT_CHECK_TARGETS_LIST) TESTS_DIR=./benchmarks/jerry TESTS_OPTS="--parse-only" OUTPUT_TO_LOG=enable
|
||||||
|
@ echo -e "Parse-only testing completed successfully. Starting full tests run.\n"
|
||||||
|
@ echo -e "\e[0;31mFIXME:\e[0m Full testing skipped.\n"; # $(MAKE) -s $(PRECOMMIT_CHECK_TARGETS_LIST) TESTS_DIR=./tests/jerry OUTPUT_TO_LOG=enable
|
||||||
|
@ echo -e "Full testing completed successfully\n\n================\n\n"
|
||||||
|
@ if [ "`git status --porcelain 2>&1 | grep -v -e '^?? out/$' | wc -l`" == "0" ]; \
|
||||||
|
then \
|
||||||
|
echo -e "\e[0;32m OK to push\e[0m"; \
|
||||||
|
else \
|
||||||
|
echo -e "\e[1;33m $(GIT_STATUS_NOT_CLEAN_MSG). $(GIT_STATUS_CONSIDER_CLEAN_MSG).\e[0m\n"; \
|
||||||
|
fi;
|
||||||
|
|
||||||
|
$(JERRY_TARGETS) $(TESTS_TARGET) $(FLASH_TARGETS) $(CHECK_TARGETS):
|
||||||
|
@$(MAKE) -s -f Makefile.mk TARGET=$@ $@
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -rf $(OUT_DIR)
|
@ rm -rf $(OUT_DIR)
|
||||||
|
|||||||
+53
-47
@@ -18,29 +18,33 @@ LNK_SCRIPT_STM32F4 = ./third-party/stm32f4.ld
|
|||||||
|
|
||||||
# Parsing target
|
# Parsing target
|
||||||
# '.' -> ' '
|
# '.' -> ' '
|
||||||
TARGET_SPACED = $(subst ., ,$(TARGET))
|
TARGET_SPACED := $(subst ., ,$(TARGET))
|
||||||
# extract target mode part
|
# extract target mode part
|
||||||
TARGET_MODE = $(word 1,$(TARGET_SPACED))
|
TARGET_MODE := $(word 1,$(TARGET_SPACED))
|
||||||
|
# extract target system part with modifiers
|
||||||
|
TARGET_SYSTEM_AND_MODS := $(word 2,$(TARGET_SPACED))
|
||||||
|
TARGET_SYSTEM_AND_MODS_SPACED := $(subst -, ,$(TARGET_SYSTEM_AND_MODS))
|
||||||
|
|
||||||
# extract target system part
|
# extract target system part
|
||||||
TARGET_SYSTEM = $(word 2,$(TARGET_SPACED))
|
TARGET_SYSTEM := $(word 1,$(TARGET_SYSTEM_AND_MODS_SPACED))
|
||||||
|
|
||||||
|
# extract modifiers
|
||||||
|
TARGET_MODS := $(wordlist 2, $(words $(TARGET_SYSTEM_AND_MODS_SPACED)), $(TARGET_SYSTEM_AND_MODS_SPACED))
|
||||||
|
|
||||||
# extract optional action part
|
# extract optional action part
|
||||||
TARGET_ACTION = $(word 3,$(TARGET_SPACED))
|
TARGET_ACTION := $(word 3,$(TARGET_SPACED))
|
||||||
|
|
||||||
# Target used as dependency of an action (check, flash, etc.)
|
# Target used as dependency of an action (check, flash, etc.)
|
||||||
TARGET_OF_ACTION = $(TARGET_MODE).$(TARGET_SYSTEM)
|
TARGET_OF_ACTION := $(TARGET_MODE).$(TARGET_SYSTEM_AND_MODS)
|
||||||
|
|
||||||
# target folder name in $(OUT_DIR)
|
|
||||||
TARGET_DIR=$(OUT_DIR)/$(TARGET_MODE).$(TARGET_SYSTEM)
|
|
||||||
|
|
||||||
# unittests mode -> linux system
|
# unittests mode -> linux system
|
||||||
ifeq ($(TARGET_MODE),$(TESTS_TARGET))
|
ifeq ($(TARGET_MODE),$(TESTS_TARGET))
|
||||||
TARGET_SYSTEM = linux
|
TARGET_SYSTEM := linux
|
||||||
|
TARGET_SYSTEM_AND_MODS := $(TARGET_SYSTEM)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# parse-only mode -> linux system
|
# target folder name in $(OUT_DIR)
|
||||||
ifeq ($(TARGET_MODE),$(PARSER_TESTS_TARGET))
|
TARGET_DIR=$(OUT_DIR)/$(TARGET_MODE).$(TARGET_SYSTEM_AND_MODS)
|
||||||
TARGET_SYSTEM = linux
|
|
||||||
endif
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Options setup
|
# Options setup
|
||||||
@@ -73,6 +77,13 @@ else
|
|||||||
OPTION_ECHO := disable
|
OPTION_ECHO := disable
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
# -fdiagnostics-color=always
|
||||||
|
ifeq ($(color),1)
|
||||||
|
OPTION_COLOR := enable
|
||||||
|
else
|
||||||
|
OPTION_COLOR := disable
|
||||||
|
endif
|
||||||
|
|
||||||
# JERRY_NDEBUG, debug symbols
|
# JERRY_NDEBUG, debug symbols
|
||||||
ifeq ($(TARGET_MODE),release)
|
ifeq ($(TARGET_MODE),release)
|
||||||
OPTION_NDEBUG = enable
|
OPTION_NDEBUG = enable
|
||||||
@@ -98,13 +109,13 @@ else
|
|||||||
OPTION_MCU = disable
|
OPTION_MCU = disable
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(musl),1)
|
ifeq ($(filter musl,$(TARGET_MODS)), musl)
|
||||||
OPTION_LIBC_MUSL := enable
|
OPTION_LIBC_MUSL := enable
|
||||||
else
|
else
|
||||||
OPTION_LIBC_MUSL := disable
|
OPTION_LIBC_MUSL := disable
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(libc_raw),1)
|
ifeq ($(filter libc_raw,$(TARGET_MODS)), libc_raw)
|
||||||
ifeq ($(OPTION_LIBC_MUSL),enable)
|
ifeq ($(OPTION_LIBC_MUSL),enable)
|
||||||
$(error LIBC_RAW and LIBC_MUSL are mutually exclusive)
|
$(error LIBC_RAW and LIBC_MUSL are mutually exclusive)
|
||||||
endif
|
endif
|
||||||
@@ -114,13 +125,7 @@ else
|
|||||||
OPTION_LIBC_RAW := disable
|
OPTION_LIBC_RAW := disable
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(color),1)
|
ifeq ($(filter sanitize,$(TARGET_MODS)), sanitize)
|
||||||
OPTION_COLOR := enable
|
|
||||||
else
|
|
||||||
OPTION_COLOR := disable
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(sanitize),1)
|
|
||||||
ifeq ($(OPTION_LIBC_MUSL),enable)
|
ifeq ($(OPTION_LIBC_MUSL),enable)
|
||||||
$(error ASAN and LIBC_MUSL are mutually exclusive)
|
$(error ASAN and LIBC_MUSL are mutually exclusive)
|
||||||
endif
|
endif
|
||||||
@@ -130,7 +135,7 @@ else
|
|||||||
OPTION_SANITIZE := disable
|
OPTION_SANITIZE := disable
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(valgrind),1)
|
ifeq ($(filter valgrind,$(TARGET_MODS)), valgrind)
|
||||||
OPTION_VALGRIND := enable
|
OPTION_VALGRIND := enable
|
||||||
|
|
||||||
ifeq ($(OPTION_SANITIZE),enable)
|
ifeq ($(OPTION_SANITIZE),enable)
|
||||||
@@ -306,7 +311,7 @@ ifeq ($(OPTION_FIXME),enable)
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(OPTION_VALGRIND),enable)
|
ifeq ($(OPTION_VALGRIND),enable)
|
||||||
VALGRIND_CMD := "valgrind --track-origins=yes"
|
VALGRIND_CMD := "valgrind --error-exitcode=254 --track-origins=yes"
|
||||||
else
|
else
|
||||||
VALGRIND_CMD :=
|
VALGRIND_CMD :=
|
||||||
DEFINES_JERRY += -DJERRY_NVALGRIND
|
DEFINES_JERRY += -DJERRY_NVALGRIND
|
||||||
@@ -351,11 +356,8 @@ all: clean $(JERRY_TARGETS)
|
|||||||
|
|
||||||
$(JERRY_TARGETS):
|
$(JERRY_TARGETS):
|
||||||
@rm -rf $(TARGET_DIR)
|
@rm -rf $(TARGET_DIR)
|
||||||
@echo "=== Running cppcheck ==="
|
@cppcheck $(DEFINES_JERRY) $(SOURCES_JERRY_C) $(INCLUDES_JERRY) $(INCLUDES_THIRDPARTY) \
|
||||||
@cppcheck $(DEFINES_JERRY) `find $(UNITTESTS_SRC_DIR) -name *.[c]` $(SOURCES_JERRY_C) $(INCLUDES_JERRY) $(INCLUDES_THIRDPARTY) \
|
|
||||||
--error-exitcode=1 --std=c99 --enable=all --suppress=missingIncludeSystem --suppress=unusedFunction 1>/dev/null
|
--error-exitcode=1 --std=c99 --enable=all --suppress=missingIncludeSystem --suppress=unusedFunction 1>/dev/null
|
||||||
@echo Done
|
|
||||||
@echo
|
|
||||||
@mkdir -p $(TARGET_DIR)
|
@mkdir -p $(TARGET_DIR)
|
||||||
@mkdir -p $(TARGET_DIR)/obj
|
@mkdir -p $(TARGET_DIR)/obj
|
||||||
@source_index=0; \
|
@source_index=0; \
|
||||||
@@ -387,6 +389,8 @@ $(TESTS_TARGET):
|
|||||||
@rm -rf $(TARGET_DIR)
|
@rm -rf $(TARGET_DIR)
|
||||||
@mkdir -p $(TARGET_DIR)
|
@mkdir -p $(TARGET_DIR)
|
||||||
@mkdir -p $(TARGET_DIR)/obj
|
@mkdir -p $(TARGET_DIR)/obj
|
||||||
|
@cppcheck $(DEFINES_JERRY) `find $(UNITTESTS_SRC_DIR) -name *.[c]` $(SOURCES_JERRY_C) $(INCLUDES_JERRY) $(INCLUDES_THIRDPARTY) \
|
||||||
|
--error-exitcode=1 --std=c99 --enable=all --suppress=missingIncludeSystem --suppress=unusedFunction 1>/dev/null
|
||||||
@source_index=0; \
|
@source_index=0; \
|
||||||
for jerry_src in $(SOURCES_JERRY); \
|
for jerry_src in $(SOURCES_JERRY); \
|
||||||
do \
|
do \
|
||||||
@@ -406,28 +410,30 @@ $(TESTS_TARGET):
|
|||||||
if [ $$? -ne 0 ]; then echo Failed "'$$cmd'"; exit 1; fi; \
|
if [ $$? -ne 0 ]; then echo Failed "'$$cmd'"; exit 1; fi; \
|
||||||
done
|
done
|
||||||
@ rm -rf $(TARGET_DIR)/obj
|
@ rm -rf $(TARGET_DIR)/obj
|
||||||
@ echo "=== Running unit tests ==="
|
@ VALGRIND=$(VALGRIND_CMD) ./tools/jerry_unittest.sh $(TARGET_DIR) $(TESTS_OPTS)
|
||||||
@ VALGRIND=$(VALGRIND_CMD) ./tools/jerry_unittest.sh $(TARGET_DIR)
|
|
||||||
@ echo Done
|
|
||||||
@ echo
|
|
||||||
|
|
||||||
$(PARSER_TESTS_TARGET): debug_release.$(TARGET_SYSTEM)
|
$(CHECK_TARGETS):
|
||||||
|
@ if [ ! -f $(TARGET_DIR)/$(ENGINE_NAME) ]; then echo $(TARGET_OF_ACTION) is not built yet; exit 1; fi;
|
||||||
|
@ if [ ! -d "$(TESTS_DIR)" ]; then echo \"$(TESTS_DIR)\" is not a directory; exit 1; fi;
|
||||||
|
@ rm -rf $(TARGET_DIR)/check
|
||||||
@ mkdir -p $(TARGET_DIR)/check
|
@ mkdir -p $(TARGET_DIR)/check
|
||||||
@ echo "=== Running parser tests ==="
|
@ if [ "$(OUTPUT_TO_LOG)" = "enable" ]; \
|
||||||
@ if [ -f $(TARGET_DIR)/$(ENGINE_NAME) ]; then \
|
then \
|
||||||
VALGRIND=$(VALGRIND_CMD) ./tools/jerry_test.sh $(TARGET_DIR)/$(ENGINE_NAME) $(TARGET_DIR)/check --parse-only; \
|
ADD_OPTS="--output-to-log"; \
|
||||||
fi
|
fi; \
|
||||||
|
VALGRIND=$(VALGRIND_CMD) ./tools/jerry_test.sh $(TARGET_DIR)/$(ENGINE_NAME) $(TARGET_DIR)/check $(TESTS_DIR) $(TESTS_OPTS) $$ADD_OPTS; \
|
||||||
|
status_code=$$?; \
|
||||||
|
if [ $$status_code -ne 0 ]; \
|
||||||
|
then \
|
||||||
|
echo $(TARGET) failed; \
|
||||||
|
if [ "$(OUTPUT_TO_LOG)" = "enable" ]; \
|
||||||
|
then \
|
||||||
|
echo See log in $(TARGET_DIR)/check directory for details.; \
|
||||||
|
fi; \
|
||||||
|
\
|
||||||
|
exit $$status_code; \
|
||||||
|
fi;
|
||||||
|
|
||||||
$(CHECK_TARGETS): $(TARGET_OF_ACTION)
|
|
||||||
@ make unittests testparser
|
|
||||||
@ mkdir -p $(TARGET_DIR)/check
|
|
||||||
@ echo "=== Running js tests ==="
|
|
||||||
@ if [ -f $(TARGET_DIR)/$(ENGINE_NAME) ]; then \
|
|
||||||
VALGRIND=$(VALGRIND_CMD) ./tools/jerry_test.sh $(TARGET_DIR)/$(ENGINE_NAME) $(TARGET_DIR)/check; \
|
|
||||||
fi
|
|
||||||
|
|
||||||
@echo Done
|
|
||||||
@echo
|
|
||||||
|
|
||||||
$(FLASH_TARGETS): $(TARGET_OF_ACTION)
|
$(FLASH_TARGETS): $(TARGET_OF_ACTION)
|
||||||
st-flash write $(OUT_DIR)/$(TARGET_OF_ACTION)/jerry.bin 0x08000000 || exit $$?
|
st-flash write $(OUT_DIR)/$(TARGET_OF_ACTION)/jerry.bin 0x08000000 || exit $$?
|
||||||
|
|||||||
+15
-3
@@ -15,6 +15,18 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
DIR="$1"
|
DIR="$1"
|
||||||
|
shift
|
||||||
|
|
||||||
|
OPTION_SILENT=disable
|
||||||
|
while (( "$#" ))
|
||||||
|
do
|
||||||
|
if [ "$1" = "--silent" ]
|
||||||
|
then
|
||||||
|
OPTION_SILENT=enable
|
||||||
|
fi
|
||||||
|
|
||||||
|
shift
|
||||||
|
done
|
||||||
|
|
||||||
rm -f $DIR/unit_tests_run.log
|
rm -f $DIR/unit_tests_run.log
|
||||||
|
|
||||||
@@ -22,7 +34,7 @@ UNITTESTS=$(ls $DIR)
|
|||||||
|
|
||||||
for unit_test in $UNITTESTS;
|
for unit_test in $UNITTESTS;
|
||||||
do
|
do
|
||||||
echo -n "Running $unit_test... ";
|
[ $OPTION_SILENT = "enable" ] || echo -n "Running $unit_test... ";
|
||||||
|
|
||||||
$VALGRIND $DIR/$unit_test >&$DIR/unit_tests_run.log.tmp;
|
$VALGRIND $DIR/$unit_test >&$DIR/unit_tests_run.log.tmp;
|
||||||
status_code=$?
|
status_code=$?
|
||||||
@@ -31,9 +43,9 @@ do
|
|||||||
|
|
||||||
if [ $status_code -eq 0 ];
|
if [ $status_code -eq 0 ];
|
||||||
then
|
then
|
||||||
echo OK;
|
[ $OPTION_SILENT = "enable" ] || echo OK;
|
||||||
else
|
else
|
||||||
echo FAILED;
|
[ $OPTION_SILENT = "enable" ] || echo FAILED;
|
||||||
exit 1;
|
exit 1;
|
||||||
fi;
|
fi;
|
||||||
done
|
done
|
||||||
|
|||||||
Reference in New Issue
Block a user