From 9ad5a2da26efc2a1a15564ddbb72059a1142ec85 Mon Sep 17 00:00:00 2001
From: lifeng68 <lifeng68@huawei.com>
Date: Fri, 27 Nov 2020 16:57:00 +0800
Subject: [PATCH 10/17] CI: add testcases for bind /proc and /sys/fs

Signed-off-by: lifeng68 <lifeng68@huawei.com>
---
 .../container_cases/bind_special_dir.sh       | 56 +++++++++++++++++++
 1 file changed, 56 insertions(+)
 create mode 100644 CI/test_cases/container_cases/bind_special_dir.sh

diff --git a/CI/test_cases/container_cases/bind_special_dir.sh b/CI/test_cases/container_cases/bind_special_dir.sh
new file mode 100644
index 00000000..0e61e348
--- /dev/null
+++ b/CI/test_cases/container_cases/bind_special_dir.sh
@@ -0,0 +1,56 @@
+#!/bin/bash
+#
+# attributes: isulad bind special directory
+# concurrent: NA
+# spend time: 5
+
+#######################################################################
+##- @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: lifeng
+##- @Create: 2020-11-27
+#######################################################################
+
+declare -r curr_path=$(dirname $(readlink -f "$0"))
+source ../helpers.sh
+
+function test_bind_special_dir()
+{
+    local ret=0
+    local image="busybox"
+    local test="container bind special directory test => (${FUNCNAME[@]})"
+
+    msg_info "${test} starting..."
+
+    isula pull ${image}
+    [[ $? -ne 0 ]] && msg_err "${FUNCNAME[0]}:${LINENO} - failed to pull image: ${image}" && return ${FAILURE}
+
+    isula images | grep busybox
+    [[ $? -ne 0 ]] && msg_err "${FUNCNAME[0]}:${LINENO} - missing list image: ${image}" && ((ret++))
+
+    c_id=`isula run -itd -v -itd -v /sys/fs:/sys/fs:rw,rshared -v /proc:/proc -v /dev:/dev:ro -v /dev/pts:/dev/pts:rw busybox sh`
+    [[ $? -ne 0 ]] && msg_err "${FUNCNAME[0]}:${LINENO} - failed to run container with image: ${image}" && ((ret++))
+
+    isula exec -it $c_id sh -c "ls -al /sys/fs" | grep "cgroup"
+    [[ $? -ne 0 ]] && msg_err "${FUNCNAME[0]}:${LINENO} - failed to check container with image: ${image}" && ((ret++))
+
+    isula rm -f $c_id
+    [[ $? -ne 0 ]] && msg_err "${FUNCNAME[0]}:${LINENO} - failed to rm container ${c_id}" && ((ret++))
+
+    msg_info "${test} finished with return ${ret}..."
+    return ${ret}
+}
+
+declare -i ans=0
+
+test_bind_special_dir || ((ans++))
+
+show_result ${ans} "${curr_path}/${0}"
-- 
2.25.1

