提交 9acf5a97 编写于 作者: W wujing 提交者: lifeng68

Fix the bug that events can only filter long id && add testcase for events

Signed-off-by: Nwujing <wujing50@huawei.com>
上级 169eb46a
#!/bin/bash
#
# attributes: isulad daemon events
# concurrent: NA
# spend time: 3
#######################################################################
##- @Copyright (C) Huawei Technologies., Ltd. 2020. All rights reserved.
# - iSulad licensed under the Mulan PSL v2.
# - You can use this software according to the terms and conditions of the Mulan PSL v2.
# - You may obtain a copy of Mulan PSL v2 at:
# - http://license.coscl.org.cn/MulanPSL2
# - THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR
# - IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR
# - PURPOSE.
# - See the Mulan PSL v2 for more details.
##- @Description:CI
##- @Author: WuJing
##- @Create: 2020-07-07
#######################################################################
declare -r curr_path=$(dirname $(readlink -f "$0"))
source ../helpers.bash
function test_events()
{
local ret=0
local image="busybox"
local test="isula events command test => (${FUNCNAME[@]})"
start_time=$(date +"%Y-%m-%dT%H:%M:%S")
isula pull ${image}
[[ $? -ne 0 ]] && msg_err "${FUNCNAME[0]}:${LINENO} - failed to pull image: ${image}" && return ${FAILURE}
msg_info "${test} starting..."
isula images | grep ${image}
[[ $? -ne 0 ]] && msg_err "${FUNCNAME[0]}:${LINENO} - missing list image: ${image}" && ((ret++))
container_name="test"
isula run -itd -n ${container_name} ${image} /bin/sh
[[ $? -ne 0 ]] && msg_err "${FUNCNAME[0]}:${LINENO} - failed to run container with image: ${image}" && ((ret++))
local cmd="ls"
isula exec -it ${container_name} ${cmd}
sleep 1 # To include the end time
end_time=$(date +"%Y-%m-%dT%H:%M:%S")
isula events --since ${start_time} --until ${end_time} | grep "image pull busybox"
[[ $? -ne 0 ]] && msg_err "${FUNCNAME[0]}:${LINENO} - lose image pull event" && ((ret++))
isula events --since ${start_time} --until ${end_time} -n ${container_name} | grep "container create" | grep ${container_name}
[[ $? -ne 0 ]] && msg_err "${FUNCNAME[0]}:${LINENO} - lose container create event" && ((ret++))
isula events --since ${start_time} --until ${end_time} -n ${container_name} | grep "container start" | grep ${container_name}
[[ $? -ne 0 ]] && msg_err "${FUNCNAME[0]}:${LINENO} - lose container start event" && ((ret++))
isula events --since ${start_time} --until ${end_time} -n ${container_name} | \
grep "container exec_create" | grep ${cmd} | grep ${container_name}
[[ $? -ne 0 ]] && msg_err "${FUNCNAME[0]}:${LINENO} - lose container exec_create" && ((ret++))
isula events --since ${start_time} --until ${end_time} -n ${container_name} | \
grep "container exec_start" | grep ${cmd} | grep ${container_name}
[[ $? -ne 0 ]] && msg_err "${FUNCNAME[0]}:${LINENO} - lose container exec_start" && ((ret++))
isula events --since ${start_time} --until ${end_time} -n ${container_name} | \
grep "container exec_die" | grep ${container_name}
[[ $? -ne 0 ]] && msg_err "${FUNCNAME[0]}:${LINENO} - lose container exec_die" && ((ret++))
isula rm -f ${container_name}
[[ $? -ne 0 ]] && msg_err "${FUNCNAME[0]}:${LINENO} - failed to remove container: ${container_name}" && ((ret++))
msg_info "${test} finished with return ${ret}..."
return ${ret}
}
declare -i ans=0
test_events || ((ans++))
show_result ${ans} "${curr_path}/${0}"
......@@ -68,7 +68,7 @@ static int service_events_handler(const struct isulad_events_request *request, c
char *name = NULL;
container_t *container = NULL;
name = request->id;
name = util_strdup_s(request->id);
/* check whether specified container exists */
if (name != NULL) {
......@@ -79,7 +79,8 @@ static int service_events_handler(const struct isulad_events_request *request, c
ret = -1;
goto out;
}
free(name);
name = util_strdup_s(container->common_config->id);
container_unref(container);
}
......@@ -95,7 +96,9 @@ static int service_events_handler(const struct isulad_events_request *request, c
ret = -1;
goto out;
}
out:
free(name);
return ret;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册