reason: 1. support save/load separated image
2. add relative test cases and bugfixes
Signed-off-by: DCCooper <1866858@gmail.com>
125 lines
3.0 KiB
Diff
125 lines
3.0 KiB
Diff
From 08ebd389b5e3bb5104035c36891f8add75e18f57 Mon Sep 17 00:00:00 2001
|
|
From: DCCooper <1866858@gmail.com>
|
|
Date: Mon, 1 Nov 2021 23:37:56 +0800
|
|
Subject: [PATCH 15/16] test: add common function for testing separated image
|
|
|
|
Signed-off-by: DCCooper <1866858@gmail.com>
|
|
---
|
|
tests/lib/separator.sh | 104 +++++++++++++++++++++++++++++++++++++++++
|
|
1 file changed, 104 insertions(+)
|
|
create mode 100644 tests/lib/separator.sh
|
|
|
|
diff --git a/tests/lib/separator.sh b/tests/lib/separator.sh
|
|
new file mode 100644
|
|
index 00000000..ad05eb55
|
|
--- /dev/null
|
|
+++ b/tests/lib/separator.sh
|
|
@@ -0,0 +1,104 @@
|
|
+#!/bin/bash
|
|
+
|
|
+# Copyright (c) Huawei Technologies Co., Ltd. 2020. All rights reserved.
|
|
+# isula-build 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.
|
|
+# Author: Xiang Li
|
|
+# Create: 2021-11-01
|
|
+# Description: common function for save/load separated image
|
|
+
|
|
+exit_flag=0
|
|
+
|
|
+# $1: from image name
|
|
+# $2: build image name
|
|
+# $3: layers number
|
|
+# $4: Dockerfile path
|
|
+function touch_dockerfile() {
|
|
+ cat > "$4" << EOF
|
|
+FROM $1
|
|
+MAINTAINER DCCooper
|
|
+EOF
|
|
+ for i in $(seq "$3"); do
|
|
+ echo "RUN echo \"This is $2 layer ${i}: ${RANDOM}\" > line.${i}" >> "$4"
|
|
+ done
|
|
+}
|
|
+
|
|
+# $1: from image name
|
|
+# $2: build image name
|
|
+# $3: layers number
|
|
+# $4: Dockerfile path
|
|
+function touch_bad_dockerfile() {
|
|
+ cat > "$4" << EOF
|
|
+FROM $1
|
|
+MAINTAINER DCCooper
|
|
+EOF
|
|
+ for i in $(seq "$3"); do
|
|
+ echo "RUN echo \"This is $2 layer ${i}: ${RANDOM}\"" >> "$4"
|
|
+ done
|
|
+}
|
|
+
|
|
+# $1: image name
|
|
+# $2: context dir
|
|
+function build_image() {
|
|
+ isula-build ctr-img build -t "$1" "$2"
|
|
+}
|
|
+
|
|
+function touch_rename_json() {
|
|
+ cat > "$1" << EOF
|
|
+[
|
|
+ {
|
|
+ "name": "app1_latest_app_image.tar.gz",
|
|
+ "rename": "app1.tar.gz"
|
|
+ },
|
|
+ {
|
|
+ "name": "app2_latest_app_image.tar.gz",
|
|
+ "rename": "app2.tar.gz"
|
|
+ },
|
|
+ {
|
|
+ "name": "app1_latest_base_image.tar.gz",
|
|
+ "rename": "base1.tar.gz"
|
|
+ },
|
|
+ {
|
|
+ "name": "app2_latest_base_image.tar.gz",
|
|
+ "rename": "base2.tar.gz"
|
|
+ },
|
|
+ {
|
|
+ "name": "app1_latest_lib_image.tar.gz",
|
|
+ "rename": "lib1.tar.gz"
|
|
+ },
|
|
+ {
|
|
+ "name": "app2_latest_lib_image.tar.gz",
|
|
+ "rename": "lib2.tar.gz"
|
|
+ }
|
|
+]
|
|
+EOF
|
|
+}
|
|
+
|
|
+function touch_bad_rename_json() {
|
|
+ touch_rename_json "$1"
|
|
+ sed -i '2d' "$1"
|
|
+}
|
|
+
|
|
+function check_result_equal() {
|
|
+ if [[ $1 -eq $2 ]]; then
|
|
+ return 0
|
|
+ else
|
|
+ ((exit_flag++))
|
|
+ return 1
|
|
+ fi
|
|
+}
|
|
+
|
|
+function check_result_not_equal() {
|
|
+ if [[ $1 -ne $2 ]]; then
|
|
+ return 0
|
|
+ else
|
|
+ ((exit_flag++))
|
|
+ return 1
|
|
+ fi
|
|
+}
|
|
--
|
|
2.27.0
|
|
|