Merge pull request #141 from rafalste/update_promo_pol_tests

Add promotion policy smoke tests
This commit is contained in:
Michał Mielewczyk 2019-10-01 16:28:30 +02:00 committed by GitHub
commit 294659771c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 292 additions and 10 deletions

View File

@ -531,6 +531,55 @@ get_cleaning_policy() {
clear_options clear_options
} }
set_promotion_policy() {
check_options ${FUNCNAME[0]}
local COMMAND="$CAS --set-param --name promotion --cache-id $CACHE_ID_OPTION \
--policy $PROMO_POL_OPTION"
run_cmd $COMMAND
clear_options
}
check_promotion_policy() {
check_options ${FUNCNAME[0]}
local COMMAND="$CAS --get-param --name promotion --cache-id $CACHE_ID_OPTION \
--output-format csv"
echo -n "$(date +%Y-%m-%d_%H:%M:%S) "
echo -n "Checking if promotion policy type set to '$PROMO_POL_OPTION'. "
PROMO_POL_VALUE=$($COMMAND | grep -i type | cut -d ',' -f2)
if [ -n "$NEGATIVE_TEST_OPTION" ] && [ "$NEGATIVE_TEST_OPTION" -ne 0 ] ; then
echo -n "(negative test) "
if [[ "$PROMO_POL_OPTION" != "$PROMO_POL_VALUE" ]] ; then
success
else
error
echo "Promotion policy type set to inadmissible value '$PROMO_POL_VALUE'!"
if [ -z $DONT_FAIL_ON_ERROR_OPTION ]; then
end_test 1
fi
return 1
fi
else
if [[ "$PROMO_POL_OPTION" == "$PROMO_POL_VALUE" ]] ; then
success
else
error
echo "Promotion policy type do not match!"
if [ -z $DONT_FAIL_ON_ERROR_OPTION ]; then
end_test 1
fi
return 1
fi
fi
clear_options
}
set_flush_params() { set_flush_params() {
check_options ${FUNCNAME[0]} check_options ${FUNCNAME[0]}
@ -563,6 +612,81 @@ get_flush_params() {
clear_options clear_options
} }
set_promotion_params() {
check_options ${FUNCNAME[0]}
local COMMAND="$CAS --set-param --name $PROMO_POL_NS_OPTION --cache-id $CACHE_ID_OPTION"
if [ -n "$THRESHOLD_OPTION" ] ; then
COMMAND="$COMMAND --threshold $THRESHOLD_OPTION"
fi
if [ -n "$TRIGGER_OPTION" ] ; then
COMMAND="$COMMAND --trigger $TRIGGER_OPTION"
fi
run_cmd $COMMAND
clear_options
}
check_promotion_params() {
check_options ${FUNCNAME[0]}
local COMMAND="$CAS --get-param --name $PROMO_POL_NS_OPTION \
--cache-id $CACHE_ID_OPTION --output-format csv"
echo -n "$(date +%Y-%m-%d_%H:%M:%S) "
echo -n "Checking threshold and/or trigger values. "
if [ -z "$THRESHOLD_OPTION" ] && [ -z "$TRIGGER_OPTION" ] ; then
error
echo "No defined promotion policy option to check! "
if [ -z $DONT_FAIL_ON_ERROR_OPTION ]; then
end_test 1
fi
return 1
fi
if [ -n "$THRESHOLD_OPTION" ] ; then
echo -n "THRESHOLD value = '$THRESHOLD_OPTION' "
THRESHOLD_VALUE=$($COMMAND | grep -i threshold | cut -d ',' -f2)
if [ "$THRESHOLD_OPTION" -ne "$THRESHOLD_VALUE" ] ; then
THRESHOLD_VALUE_ERROR="Threshold value do not match!"
fi
fi
if [ -n "$TRIGGER_OPTION" ] ; then
echo -n "TRIGGER value = '$TRIGGER_OPTION' "
TRIGGER_VALUE=$($COMMAND | grep -i trigger | cut -d ',' -f2)
if [ "$TRIGGER_OPTION" -ne "$TRIGGER_VALUE" ] ; then
TRIGGER_VALUE_ERROR="Trigger value do not match!"
fi
fi
if [ -n "$NEGATIVE_TEST_OPTION" ] && [ "$NEGATIVE_TEST_OPTION" -ne 0 ] ; then
echo -n "(negative test) "
if [ -n "$THRESHOLD_VALUE_ERROR" ] || [ -n "$TRIGGER_VALUE_ERROR" ] ; then
success
else
error
echo "Given values match!"
if [ -z $DONT_FAIL_ON_ERROR_OPTION ]; then
end_test 1
fi
return 1
fi
else
if [ -z "$THRESHOLD_VALUE_ERROR" ] && [ -z "$TRIGGER_VALUE_ERROR" ] ; then
success
else
error
echo -e "$THRESHOLD_VALUE_ERROR\n$TRIGGER_VALUE_ERROR"
if [ -z $DONT_FAIL_ON_ERROR_OPTION ]; then
end_test 1
fi
return 1
fi
fi
clear_options
}
dirty_stop() { dirty_stop() {
check_options ${FUNCNAME[0]} check_options ${FUNCNAME[0]}
local L_CACHE_DEVICE_OPTION = $CACHE_DEVICE_OPTION local L_CACHE_DEVICE_OPTION = $CACHE_DEVICE_OPTION
@ -603,6 +727,10 @@ export -f set_flush_params
export -f get_flush_params export -f get_flush_params
export -f set_cleaning_policy export -f set_cleaning_policy
export -f get_cleaning_policy export -f get_cleaning_policy
export -f set_promotion_params
export -f check_promotion_params
export -f set_promotion_policy
export -f check_promotion_policy
export -f dirty_stop export -f dirty_stop
export -f check_no_cache_running export -f check_no_cache_running

View File

@ -201,7 +201,7 @@ warning() {
# code against NEGATIVE_TEST_OPTION. If the NEGATIVE_TEST_OPTION is set, then # code against NEGATIVE_TEST_OPTION. If the NEGATIVE_TEST_OPTION is set, then
# we assume the command should fail - otherwise the command should succeed. # we assume the command should fail - otherwise the command should succeed.
# If the output is correct, the command is printed and the test continues; # If the output is correct, the command is printed and the test continues;
# if not, we print an error message and end the test immiedately. # if not, we print an error message and end the test immediately.
run_cmd() { run_cmd() {
export RUN_CMD_OUTPUT="" export RUN_CMD_OUTPUT=""
local L_RUN_CMD_START=$SECONDS local L_RUN_CMD_START=$SECONDS
@ -214,7 +214,7 @@ run_cmd() {
export RUN_CMD_OUTPUT="${OUTPUT}" export RUN_CMD_OUTPUT="${OUTPUT}"
export RUN_CMD_TIME=$(( $SECONDS - $L_RUN_CMD_START )) export RUN_CMD_TIME=$(( $SECONDS - $L_RUN_CMD_START ))
if [ -z "$SILENT_COMMAND_OPTION" ] ; then if [ -z "$SILENT_COMMAND_OPTION" ] ; then
if [ -n "$NEGATIVE_TEST_OPTION" ] ; then if [ -n "$NEGATIVE_TEST_OPTION" ] && [ "$NEGATIVE_TEST_OPTION" -ne 0 ] ; then
echo -n "(negative test) " echo -n "(negative test) "
if [ $STATUS -ne 0 ] ; then if [ $STATUS -ne 0 ] ; then
success success
@ -222,10 +222,10 @@ run_cmd() {
error error
echo "--- Command output:" echo "--- Command output:"
echo "$OUTPUT" echo "$OUTPUT"
if [ -z $DONT_FAIL_ON_ERROR_OPTION ]; then if [ -z $DONT_FAIL_ON_ERROR_OPTION ]; then
end_test 1 end_test 1
fi fi
return 1 return 1
fi fi
else else
if [ $STATUS -eq 0 ] ; then if [ $STATUS -eq 0 ] ; then
@ -235,9 +235,9 @@ run_cmd() {
echo "--- Command output:" echo "--- Command output:"
echo "$OUTPUT" echo "$OUTPUT"
if [ -z $DONT_FAIL_ON_ERROR_OPTION ]; then if [ -z $DONT_FAIL_ON_ERROR_OPTION ]; then
end_test 1 end_test 1
fi fi
return 1 return 1
fi fi
fi fi
fi fi

View File

@ -17,6 +17,7 @@ export ALL_OPTIONS="
CACHE_ID_OPTION CORE_ID_OPTION MOUNTPOINT_ID_OPTION CACHE_ID_OPTION CORE_ID_OPTION MOUNTPOINT_ID_OPTION
TARGET_DEVICE_OPTION PARTITION_IDS_OPTION PARTITION_SIZE_OPTION PARTITION_ID_OPTION PARTITIONS_AMOUNT_OPTION TARGET_DEVICE_OPTION PARTITION_IDS_OPTION PARTITION_SIZE_OPTION PARTITION_ID_OPTION PARTITIONS_AMOUNT_OPTION
CLEAN_POL_NS_OPTION WAKE_UP_OPTION STALE_TIME_OPTION FLUSH_BUFFERS_OPTION ACTIVITY_THRESH_OPTION CLEAN_POL_NS_OPTION WAKE_UP_OPTION STALE_TIME_OPTION FLUSH_BUFFERS_OPTION ACTIVITY_THRESH_OPTION
PROMO_POL_NS_OPTION PROMO_POL_VALUE THRESHOLD_OPTION TRIGGER_OPTION THRESHOLD_VALUE TRIGGER_VALUE THRESHOLD_VALUE_ERROR TRIGGER_VALUE_ERROR
TARGET_DEVICE_OPTION FILESYSTEM_TYPE TARGET_DEVICE_OPTION FILESYSTEM_TYPE
IO_CLASS_ID IO_CLASS_PRIORITY IO_CLASS_SIZE_MIN IO_CLASS_SIZE_MAX IO_CLASS_NAME IO_CLASS_CACHE_MODE IO_CLASS_ID IO_CLASS_PRIORITY IO_CLASS_SIZE_MIN IO_CLASS_SIZE_MAX IO_CLASS_NAME IO_CLASS_CACHE_MODE
FORMAT_NVME_REQUIRED_OPTIONS CHECK_IS_NVME_ATOMIC TURN_OFF_NVME_DEVICE TURN_ON_NVME_DEVICE FORMAT_NVME_REQUIRED_OPTIONS CHECK_IS_NVME_ATOMIC TURN_OFF_NVME_DEVICE TURN_ON_NVME_DEVICE
@ -24,6 +25,7 @@ export ALL_OPTIONS="
STAT_UNIT_OPTION STAT_NAME_OPTION STAT_UNIT_OPTION STAT_NAME_OPTION
STORE_CONFIG_OPTION STORE_CONFIG_OPTION
CLEAN_POL_OPTION CLEAN_POL_OPTION
PROMO_POL_OPTION
KERNEL_VER_OPTION KERNEL_MAJOR_OPTION KERNEL_VER_OPTION KERNEL_MAJOR_OPTION
FIO_MAJOR_OPTION FIO_MINOR_OPTION FIO_MAJOR_OPTION FIO_MINOR_OPTION
" "
@ -42,8 +44,12 @@ export FLUSH_CACHE_REQUIRED_OPTIONS="CACHE_ID_OPTION"
export FLUSH_CORE_REQUIRED_OPTIONS="CACHE_ID_OPTION CORE_ID_OPTION" export FLUSH_CORE_REQUIRED_OPTIONS="CACHE_ID_OPTION CORE_ID_OPTION"
export SET_CLEANING_POLICY_REQUIRED_OPTIONS="CACHE_ID_OPTION CLEAN_POL_OPTION" export SET_CLEANING_POLICY_REQUIRED_OPTIONS="CACHE_ID_OPTION CLEAN_POL_OPTION"
export GET_CLEANING_POLICY_REQUIRED_OPTIONS="CACHE_ID_OPTION" export GET_CLEANING_POLICY_REQUIRED_OPTIONS="CACHE_ID_OPTION"
export SET_PROMOTION_POLICY_REQUIRED_OPTIONS="CACHE_ID_OPTION PROMO_POL_OPTION"
export CHECK_PROMOTION_POLICY_REQUIRED_OPTIONS="CACHE_ID_OPTION PROMO_POL_OPTION"
export SET_FLUSH_PARAMS_REQUIRED_OPTIONS="CACHE_ID_OPTION CLEAN_POL_NS_OPTION" export SET_FLUSH_PARAMS_REQUIRED_OPTIONS="CACHE_ID_OPTION CLEAN_POL_NS_OPTION"
export GET_FLUSH_PARAMS_REQUIRED_OPTIONS="CACHE_ID_OPTION CLEAN_POL_NS_OPTION" export GET_FLUSH_PARAMS_REQUIRED_OPTIONS="CACHE_ID_OPTION CLEAN_POL_NS_OPTION"
export SET_PROMOTION_PARAMS_REQUIRED_OPTIONS="CACHE_ID_OPTION PROMO_POL_NS_OPTION"
export CHECK_PROMOTION_PARAMS_REQUIRED_OPTIONS="CACHE_ID_OPTION PROMO_POL_NS_OPTION"
export FORMAT_NVME_REQUIRED_OPTIONS="NVME_FORMAT_MODE_OPTION DEVICE_OPTION" export FORMAT_NVME_REQUIRED_OPTIONS="NVME_FORMAT_MODE_OPTION DEVICE_OPTION"
export CHECK_IS_NVME_ATOMIC_REQUIRED_OPTIONS="DEVICE_OPTION" export CHECK_IS_NVME_ATOMIC_REQUIRED_OPTIONS="DEVICE_OPTION"
@ -298,11 +304,41 @@ FLUSH_BUFFERS_OPTION=""
ACTIVITY_THRESH_OPTION="" ACTIVITY_THRESH_OPTION=""
############################################################ ############################################################
# SET_FLUSH_PARAMS # # GET_FLUSH_PARAMS #
############################################################ ############################################################
DEVICE_ID_OPTION="" DEVICE_ID_OPTION=""
CLEAN_POLICY_NS_OPTION="" CLEAN_POLICY_NS_OPTION=""
############################################################
# SET_PROMOTION_POLICY #
############################################################
DEVICE_ID_OPTION=""
PROMO_POL_OPTION=""
############################################################
# CHECK_PROMOTION_POLICY #
############################################################
DEVICE_ID_OPTION=""
PROMO_POL_OPTION=""
############################################################
# SET_PROMOTION_PARAMS #
############################################################
DEVICE_ID_OPTION=""
PROMO_POL_NS_OPTION=""
#Optional
THRESHOLD_OPTION=""
TRIGGER_OPTION=""
############################################################
# CHECK_PROMOTION_PARAMS #
############################################################
DEVICE_ID_OPTION=""
PROMO_POL_NS_OPTION=""
#Optional
THRESHOLD_OPTION=""
TRIGGER_OPTION=""
############################################################ ############################################################
# CHECK KERNEL VER # # CHECK KERNEL VER #
############################################################ ############################################################

118
test/smoke_test/promotion/01 Executable file
View File

@ -0,0 +1,118 @@
#!/bin/bash
#
# Copyright(c) 2012-2019 Intel Corporation
# SPDX-License-Identifier: BSD-3-Clause-Clear
#
#DESCRIPTION --set-param and --get-param option fuzzing.
# This tests checks whether CLI accepts correct data and rejects incorrect
# data for different promotion policy options. It tries to invoke CLI using different
# combinations of required options and checks the return code.
# Run this test if tests are running in 'nightly' mode.
# USE_IN_NIGHTLY
TESTS_DIR="$(dirname $0)/../"
. $TESTS_DIR/cas_lib
start_test $*
# remove all partitions from cache and core
TARGET_DEVICE_OPTION="$CACHE_DEVICE" remove_partitions
TARGET_DEVICE_OPTION="$CORE_DEVICE" remove_partitions
# Create 1 primary partition on CACHE_DEVICE of 2000M size
TARGET_DEVICE_OPTION="$CACHE_DEVICE" PARTITION_SIZE_OPTION="2000M" PARTITION_IDS_OPTION="1" make_primary_partitions
# create cache in WT mode and try to change promotion parameters
CACHE_MODE_OPTION="wt" CACHE_ID_OPTION="1" CACHE_DEVICE_OPTION="${CACHE_DEVICE}1" CACHE_FORCE_OPTION="1" start_cache
# changing promotion parameters should not be prohibited while core is added to cache
CACHE_ID_OPTION="1" CORE_DEVICE_OPTION="$CORE_DEVICE" add_core
CACHE_ID_OPTION="1" PROMO_POL_NS_OPTION="promotion-nhit" THRESHOLD_OPTION="50" TRIGGER_OPTION="15" set_promotion_params
printf "\n============Running negative tests============\n"
# test for inadmissible promotion policy type
CACHE_ID_OPTION="1" PROMO_POL_OPTION="olweys" NEGATIVE_TEST_OPTION="1" set_promotion_policy
CACHE_ID_OPTION="1" PROMO_POL_OPTION="always" check_promotion_policy
CACHE_ID_OPTION="1" PROMO_POL_OPTION="promotion-always" NEGATIVE_TEST_OPTION="1" set_promotion_policy
CACHE_ID_OPTION="1" PROMO_POL_OPTION="always" check_promotion_policy
# test for negative numeric options and check if they didn't overwrite previously set values
CACHE_ID_OPTION="1" PROMO_POL_NS_OPTION="promotion-nhit" THRESHOLD_OPTION="-1" NEGATIVE_TEST_OPTION="1" set_promotion_params
CACHE_ID_OPTION="1" PROMO_POL_NS_OPTION="promotion-nhit" THRESHOLD_OPTION="50" TRIGGER_OPTION="15" check_promotion_params
CACHE_ID_OPTION="1" PROMO_POL_NS_OPTION="promotion-nhit" TRIGGER_OPTION="-1" NEGATIVE_TEST_OPTION="1" set_promotion_params
CACHE_ID_OPTION="1" PROMO_POL_NS_OPTION="promotion-nhit" THRESHOLD_OPTION="50" TRIGGER_OPTION="15" check_promotion_params
# test for 0 and 1 threshold
CACHE_ID_OPTION="1" PROMO_POL_NS_OPTION="promotion-nhit" THRESHOLD_OPTION="0" NEGATIVE_TEST_OPTION="1" set_promotion_params
CACHE_ID_OPTION="1" PROMO_POL_NS_OPTION="promotion-nhit" THRESHOLD_OPTION="50" TRIGGER_OPTION="15" check_promotion_params
CACHE_ID_OPTION="1" PROMO_POL_NS_OPTION="promotion-nhit" THRESHOLD_OPTION="1" NEGATIVE_TEST_OPTION="1" set_promotion_params
CACHE_ID_OPTION="1" PROMO_POL_NS_OPTION="promotion-nhit" THRESHOLD_OPTION="50" TRIGGER_OPTION="15" check_promotion_params
#test for out of range options
CACHE_ID_OPTION="1" PROMO_POL_NS_OPTION="promotion-nhit" THRESHOLD_OPTION="1385" NEGATIVE_TEST_OPTION="1" set_promotion_params
CACHE_ID_OPTION="1" PROMO_POL_NS_OPTION="promotion-nhit" THRESHOLD_OPTION="50" TRIGGER_OPTION="15" check_promotion_params
CACHE_ID_OPTION="1" PROMO_POL_NS_OPTION="promotion-nhit" TRIGGER_OPTION="154" NEGATIVE_TEST_OPTION="1" set_promotion_params
CACHE_ID_OPTION="1" PROMO_POL_NS_OPTION="promotion-nhit" THRESHOLD_OPTION="50" TRIGGER_OPTION="15" check_promotion_params
printf "\n============Running positive tests============\n"
# positive test
# test various policy names
CACHE_ID_OPTION="1" PROMO_POL_OPTION="always" set_promotion_policy
CACHE_ID_OPTION="1" PROMO_POL_OPTION="always" check_promotion_policy
CACHE_ID_OPTION="1" PROMO_POL_OPTION="nhit" set_promotion_policy
CACHE_ID_OPTION="1" PROMO_POL_OPTION="nhit" check_promotion_policy
# test various parameters
CACHE_ID_OPTION="1" PROMO_POL_NS_OPTION="promotion-nhit" THRESHOLD_OPTION="2" TRIGGER_OPTION="0" set_promotion_params
CACHE_ID_OPTION="1" PROMO_POL_NS_OPTION="promotion-nhit" THRESHOLD_OPTION="2" TRIGGER_OPTION="0" check_promotion_params
CACHE_ID_OPTION="1" PROMO_POL_NS_OPTION="promotion-nhit" THRESHOLD_OPTION="2" TRIGGER_OPTION="100" set_promotion_params
CACHE_ID_OPTION="1" PROMO_POL_NS_OPTION="promotion-nhit" THRESHOLD_OPTION="2" TRIGGER_OPTION="100" check_promotion_params
CACHE_ID_OPTION="1" PROMO_POL_NS_OPTION="promotion-nhit" THRESHOLD_OPTION="2" TRIGGER_OPTION="54" set_promotion_params
CACHE_ID_OPTION="1" PROMO_POL_NS_OPTION="promotion-nhit" THRESHOLD_OPTION="2" TRIGGER_OPTION="54" check_promotion_params
CACHE_ID_OPTION="1" PROMO_POL_NS_OPTION="promotion-nhit" THRESHOLD_OPTION="1000" TRIGGER_OPTION="0" set_promotion_params
CACHE_ID_OPTION="1" PROMO_POL_NS_OPTION="promotion-nhit" THRESHOLD_OPTION="1000" TRIGGER_OPTION="0" check_promotion_params
CACHE_ID_OPTION="1" PROMO_POL_NS_OPTION="promotion-nhit" THRESHOLD_OPTION="1000" TRIGGER_OPTION="100" set_promotion_params
CACHE_ID_OPTION="1" PROMO_POL_NS_OPTION="promotion-nhit" THRESHOLD_OPTION="1000" TRIGGER_OPTION="100" check_promotion_params
CACHE_ID_OPTION="1" PROMO_POL_NS_OPTION="promotion-nhit" THRESHOLD_OPTION="1000" TRIGGER_OPTION="54" set_promotion_params
CACHE_ID_OPTION="1" PROMO_POL_NS_OPTION="promotion-nhit" THRESHOLD_OPTION="1000" TRIGGER_OPTION="54" check_promotion_params
CACHE_ID_OPTION="1" PROMO_POL_NS_OPTION="promotion-nhit" THRESHOLD_OPTION="638" TRIGGER_OPTION="0" set_promotion_params
CACHE_ID_OPTION="1" PROMO_POL_NS_OPTION="promotion-nhit" THRESHOLD_OPTION="638" TRIGGER_OPTION="0" check_promotion_params
CACHE_ID_OPTION="1" PROMO_POL_NS_OPTION="promotion-nhit" THRESHOLD_OPTION="638" TRIGGER_OPTION="100" set_promotion_params
CACHE_ID_OPTION="1" PROMO_POL_NS_OPTION="promotion-nhit" THRESHOLD_OPTION="638" TRIGGER_OPTION="100" check_promotion_params
CACHE_ID_OPTION="1" PROMO_POL_NS_OPTION="promotion-nhit" THRESHOLD_OPTION="638" TRIGGER_OPTION="54" set_promotion_params
CACHE_ID_OPTION="1" PROMO_POL_NS_OPTION="promotion-nhit" THRESHOLD_OPTION="638" TRIGGER_OPTION="54" check_promotion_params
printf "\n============Running parameters constancy tests============\n"
# test for setting promotion-nhit parameters while running on promotion type 'always'
CACHE_ID_OPTION="1" PROMO_POL_OPTION="always" set_promotion_policy
CACHE_ID_OPTION="1" PROMO_POL_OPTION="always" check_promotion_policy
CACHE_ID_OPTION="1" PROMO_POL_NS_OPTION="promotion-nhit" THRESHOLD_OPTION="451" TRIGGER_OPTION="63" set_promotion_params
CACHE_ID_OPTION="1" PROMO_POL_OPTION="always" check_promotion_policy
CACHE_ID_OPTION="1" PROMO_POL_NS_OPTION="promotion-nhit" THRESHOLD_OPTION="451" TRIGGER_OPTION="63" check_promotion_params
# test if policy type and promotion-nhit values preserve after stopping and loading previous cache metadata
CACHE_ID_OPTION="1" PROMO_POL_NS_OPTION="promotion-nhit" THRESHOLD_OPTION="812" TRIGGER_OPTION="49" set_promotion_params
CACHE_ID_OPTION="1" PROMO_POL_OPTION="nhit" set_promotion_policy
CACHE_ID_OPTION="1" stop_cache
CACHE_MODE_OPTION="wt" CACHE_ID_OPTION="1" CACHE_DEVICE_OPTION="${CACHE_DEVICE}1" CACHE_FORCE_OPTION="1" CACHE_LOAD_METADATA_OPTION="1" start_cache
CACHE_ID_OPTION="1" PROMO_POL_OPTION="nhit" check_promotion_policy
CACHE_ID_OPTION="1" PROMO_POL_NS_OPTION="promotion-nhit" THRESHOLD_OPTION="812" TRIGGER_OPTION="49" check_promotion_params
# stop cache now
CACHE_ID_OPTION="1" stop_cache
end_test 0