All of lore.kernel.org
 help / color / mirror / Atom feed
* [Fuego] [PATCH] bind: bugfix for tests of service named.
@ 2018-10-16  7:16 Wang Mingyu
  2018-10-16  7:16 ` [Fuego] [PATCH] Add a core function: assert_has_program() Wang Mingyu
  0 siblings, 1 reply; 5+ messages in thread
From: Wang Mingyu @ 2018-10-16  7:16 UTC (permalink / raw)
  To: fuego

    1. remove certain addr from db file
    2. restore named to the original status
    3. restore file to the original status

Signed-off-by: Wang Mingyu <wangmy@cn.fujitsu.com>
---
 .../data/bind9/246.168.192.in-addr.arpa.db         | 10 ----
 .../{0.168.192.in-addr.arpa.db => addr.arpa.db}    |  0
 ...{20.24.10.in-addr.arpa.db => linux_test.com.db} |  2 +-
 .../data/bind9/linux_test.com.db_ARMV8             | 10 ----
 .../data/bind9/linux_test.com.db_MPC               | 10 ----
 .../data/bind9/linux_test.com.db_fedora            | 10 ----
 .../data/bind9/linux_test.com.db_p1020             | 10 ----
 .../data/bind9/linux_test.com.db_p2020             | 10 ----
 .../data/bind9/linux_test.com.db_p4080             | 10 ----
 .../data/bind9/linux_test.com.db_pandaboard        | 10 ----
 .../data/bind9/linux_test.com.db_x86               | 10 ----
 .../data/bind9/linux_test.com.db_x86_64            | 10 ----
 .../data/bind9/linux_test.com.db_zunq              | 10 ----
 .../tests/Functional.bind/data/linux_test.com.db   | 10 ----
 .../Functional.bind/data/linux_test.com.db_24      | 10 ----
 .../Functional.bind/data/linux_test.com.db_27      | 10 ----
 .../Functional.bind/data/linux_test.com.db_29      | 10 ----
 .../Functional.bind/data/linux_test.com.db_30      | 10 ----
 .../Functional.bind/data/linux_test.com.db_31      | 10 ----
 .../Functional.bind/data/linux_test.com.db_34      | 10 ----
 .../Functional.bind/data/linux_test.com.db_36      | 10 ----
 .../Functional.bind/data/linux_test.com.db_38      | 10 ----
 .../tests/Functional.bind/data/linux_test.com.db_8 | 10 ----
 engine/tests/Functional.bind/fuego_test.sh         |  6 +-
 .../Functional.bind/tests/bind_chroot_chkconf.sh   | 40 ++++---------
 .../Functional.bind/tests/bind_chroot_dig1.sh      | 64 ++++++++++----------
 .../Functional.bind/tests/bind_chroot_dig2.sh      | 65 ++++++++++----------
 .../Functional.bind/tests/bind_chroot_lport.sh     | 68 ++++++++++-----------
 .../tests/Functional.bind/tests/bind_chroot_pid.sh | 70 ++++++++++------------
 .../tests/Functional.bind/tests/bind_chroot_ps.sh  | 42 +++++++------
 .../tests/bind_chroot_rndc-confgen.sh              | 45 +++++++-------
 .../Functional.bind/tests/bind_chroot_syslog-ng.sh | 52 ++++++++--------
 .../Functional.bind/tests/bind_named_chkconf.sh    | 11 ++++
 .../Functional.bind/tests/bind_named_chkzone1.sh   | 18 +++++-
 .../Functional.bind/tests/bind_named_chkzone2.sh   | 18 +++++-
 .../tests/Functional.bind/tests/bind_named_dig1.sh | 31 ++++++++--
 .../tests/Functional.bind/tests/bind_named_dig2.sh | 28 +++++++--
 .../Functional.bind/tests/bind_named_lport.sh      | 16 ++++-
 .../Functional.bind/tests/bind_named_pidfile.sh    | 18 +++++-
 .../tests/Functional.bind/tests/bind_named_ps.sh   | 17 +++++-
 .../Functional.bind/tests/bind_named_syslog.sh     | 14 ++++-
 .../Functional.bind/tests/bind_rndc-confgen.sh     | 11 ++++
 42 files changed, 379 insertions(+), 467 deletions(-)
 delete mode 100644 engine/tests/Functional.bind/data/bind9/246.168.192.in-addr.arpa.db
 rename engine/tests/Functional.bind/data/bind9/{0.168.192.in-addr.arpa.db => addr.arpa.db} (100%)
 rename engine/tests/Functional.bind/data/bind9/{20.24.10.in-addr.arpa.db => linux_test.com.db} (94%)
 delete mode 100644 engine/tests/Functional.bind/data/bind9/linux_test.com.db_ARMV8
 delete mode 100644 engine/tests/Functional.bind/data/bind9/linux_test.com.db_MPC
 delete mode 100644 engine/tests/Functional.bind/data/bind9/linux_test.com.db_fedora
 delete mode 100644 engine/tests/Functional.bind/data/bind9/linux_test.com.db_p1020
 delete mode 100644 engine/tests/Functional.bind/data/bind9/linux_test.com.db_p2020
 delete mode 100644 engine/tests/Functional.bind/data/bind9/linux_test.com.db_p4080
 delete mode 100644 engine/tests/Functional.bind/data/bind9/linux_test.com.db_pandaboard
 delete mode 100644 engine/tests/Functional.bind/data/bind9/linux_test.com.db_x86
 delete mode 100644 engine/tests/Functional.bind/data/bind9/linux_test.com.db_x86_64
 delete mode 100644 engine/tests/Functional.bind/data/bind9/linux_test.com.db_zunq
 delete mode 100644 engine/tests/Functional.bind/data/linux_test.com.db
 delete mode 100644 engine/tests/Functional.bind/data/linux_test.com.db_24
 delete mode 100644 engine/tests/Functional.bind/data/linux_test.com.db_27
 delete mode 100644 engine/tests/Functional.bind/data/linux_test.com.db_29
 delete mode 100644 engine/tests/Functional.bind/data/linux_test.com.db_30
 delete mode 100644 engine/tests/Functional.bind/data/linux_test.com.db_31
 delete mode 100644 engine/tests/Functional.bind/data/linux_test.com.db_34
 delete mode 100644 engine/tests/Functional.bind/data/linux_test.com.db_36
 delete mode 100644 engine/tests/Functional.bind/data/linux_test.com.db_38
 delete mode 100644 engine/tests/Functional.bind/data/linux_test.com.db_8

diff --git a/engine/tests/Functional.bind/data/bind9/246.168.192.in-addr.arpa.db b/engine/tests/Functional.bind/data/bind9/246.168.192.in-addr.arpa.db
deleted file mode 100644
index 3100047..0000000
--- a/engine/tests/Functional.bind/data/bind9/246.168.192.in-addr.arpa.db
+++ /dev/null
@@ -1,10 +0,0 @@
-$TTL    86400
-@               IN SOA  linux-test.com. root.linux-test.com. (
-                                        42              ; serial (d. adams)
-                                        3H              ; refresh
-                                        15M             ; retry
-                                        1W              ; expiry
-                                        1D )            ; minimum
-                IN NS           linux-test.com.
-		IN MX 10	linux-test.com.
-1		IN PTR		linux-test.com.
diff --git a/engine/tests/Functional.bind/data/bind9/0.168.192.in-addr.arpa.db b/engine/tests/Functional.bind/data/bind9/addr.arpa.db
similarity index 100%
rename from engine/tests/Functional.bind/data/bind9/0.168.192.in-addr.arpa.db
rename to engine/tests/Functional.bind/data/bind9/addr.arpa.db
diff --git a/engine/tests/Functional.bind/data/bind9/20.24.10.in-addr.arpa.db b/engine/tests/Functional.bind/data/bind9/linux_test.com.db
similarity index 94%
rename from engine/tests/Functional.bind/data/bind9/20.24.10.in-addr.arpa.db
rename to engine/tests/Functional.bind/data/bind9/linux_test.com.db
index 3100047..6a163c3 100644
--- a/engine/tests/Functional.bind/data/bind9/20.24.10.in-addr.arpa.db
+++ b/engine/tests/Functional.bind/data/bind9/linux_test.com.db
@@ -7,4 +7,4 @@ $TTL    86400
                                         1D )            ; minimum
                 IN NS           linux-test.com.
 		IN MX 10	linux-test.com.
-1		IN PTR		linux-test.com.
+@		IN A	        remotehost
diff --git a/engine/tests/Functional.bind/data/bind9/linux_test.com.db_ARMV8 b/engine/tests/Functional.bind/data/bind9/linux_test.com.db_ARMV8
deleted file mode 100644
index 880166b..0000000
--- a/engine/tests/Functional.bind/data/bind9/linux_test.com.db_ARMV8
+++ /dev/null
@@ -1,10 +0,0 @@
-$TTL    86400
-@               IN SOA  linux-test.com. root.linux-test.com. (
-                                        42              ; serial (d. adams)
-                                        3H              ; refresh
-                                        15M             ; retry
-                                        1W              ; expiry
-                                        1D )            ; minimum
-                IN NS           linux-test.com.
-		IN MX 10	linux-test.com.
-@		IN A	        192.168.246.59
diff --git a/engine/tests/Functional.bind/data/bind9/linux_test.com.db_MPC b/engine/tests/Functional.bind/data/bind9/linux_test.com.db_MPC
deleted file mode 100644
index 02b6086..0000000
--- a/engine/tests/Functional.bind/data/bind9/linux_test.com.db_MPC
+++ /dev/null
@@ -1,10 +0,0 @@
-$TTL    86400
-@               IN SOA  linux-test.com. root.linux-test.com. (
-                                        42              ; serial (d. adams)
-                                        3H              ; refresh
-                                        15M             ; retry
-                                        1W              ; expiry
-                                        1D )            ; minimum
-                IN NS           linux-test.com.
-		IN MX 10	linux-test.com.
-@		IN A	        192.168.246.87
diff --git a/engine/tests/Functional.bind/data/bind9/linux_test.com.db_fedora b/engine/tests/Functional.bind/data/bind9/linux_test.com.db_fedora
deleted file mode 100644
index 7846fd5..0000000
--- a/engine/tests/Functional.bind/data/bind9/linux_test.com.db_fedora
+++ /dev/null
@@ -1,10 +0,0 @@
-$TTL    86400
-@               IN SOA  linux-test.com. root.linux-test.com. (
-                                        42              ; serial (d. adams)
-                                        3H              ; refresh
-                                        15M             ; retry
-                                        1W              ; expiry
-                                        1D )            ; minimum
-                IN NS           linux-test.com.
-		IN MX 10	linux-test.com.
-@		IN A	        192.168.246.41
diff --git a/engine/tests/Functional.bind/data/bind9/linux_test.com.db_p1020 b/engine/tests/Functional.bind/data/bind9/linux_test.com.db_p1020
deleted file mode 100644
index f39f5fb..0000000
--- a/engine/tests/Functional.bind/data/bind9/linux_test.com.db_p1020
+++ /dev/null
@@ -1,10 +0,0 @@
-$TTL    86400
-@               IN SOA  linux-test.com. root.linux-test.com. (
-                                        42              ; serial (d. adams)
-                                        3H              ; refresh
-                                        15M             ; retry
-                                        1W              ; expiry
-                                        1D )            ; minimum
-                IN NS           linux-test.com.
-		IN MX 10	linux-test.com.
-@		IN A	        192.168.246.85
diff --git a/engine/tests/Functional.bind/data/bind9/linux_test.com.db_p2020 b/engine/tests/Functional.bind/data/bind9/linux_test.com.db_p2020
deleted file mode 100644
index f4a8377..0000000
--- a/engine/tests/Functional.bind/data/bind9/linux_test.com.db_p2020
+++ /dev/null
@@ -1,10 +0,0 @@
-$TTL    86400
-@               IN SOA  linux-test.com. root.linux-test.com. (
-                                        42              ; serial (d. adams)
-                                        3H              ; refresh
-                                        15M             ; retry
-                                        1W              ; expiry
-                                        1D )            ; minimum
-                IN NS           linux-test.com.
-		IN MX 10	linux-test.com.
-@		IN A	        192.168.246.86
diff --git a/engine/tests/Functional.bind/data/bind9/linux_test.com.db_p4080 b/engine/tests/Functional.bind/data/bind9/linux_test.com.db_p4080
deleted file mode 100644
index 9f942f2..0000000
--- a/engine/tests/Functional.bind/data/bind9/linux_test.com.db_p4080
+++ /dev/null
@@ -1,10 +0,0 @@
-$TTL    86400
-@               IN SOA  linux-test.com. root.linux-test.com. (
-                                        42              ; serial (d. adams)
-                                        3H              ; refresh
-                                        15M             ; retry
-                                        1W              ; expiry
-                                        1D )            ; minimum
-                IN NS           linux-test.com.
-		IN MX 10	linux-test.com.
-@		IN A	        192.168.246.90
diff --git a/engine/tests/Functional.bind/data/bind9/linux_test.com.db_pandaboard b/engine/tests/Functional.bind/data/bind9/linux_test.com.db_pandaboard
deleted file mode 100644
index dc373bb..0000000
--- a/engine/tests/Functional.bind/data/bind9/linux_test.com.db_pandaboard
+++ /dev/null
@@ -1,10 +0,0 @@
-$TTL    86400
-@               IN SOA  linux-test.com. root.linux-test.com. (
-                                        42              ; serial (d. adams)
-                                        3H              ; refresh
-                                        15M             ; retry
-                                        1W              ; expiry
-                                        1D )            ; minimum
-                IN NS           linux-test.com.
-		IN MX 10	linux-test.com.
-@		IN A	        192.168.246.129
diff --git a/engine/tests/Functional.bind/data/bind9/linux_test.com.db_x86 b/engine/tests/Functional.bind/data/bind9/linux_test.com.db_x86
deleted file mode 100644
index 7846fd5..0000000
--- a/engine/tests/Functional.bind/data/bind9/linux_test.com.db_x86
+++ /dev/null
@@ -1,10 +0,0 @@
-$TTL    86400
-@               IN SOA  linux-test.com. root.linux-test.com. (
-                                        42              ; serial (d. adams)
-                                        3H              ; refresh
-                                        15M             ; retry
-                                        1W              ; expiry
-                                        1D )            ; minimum
-                IN NS           linux-test.com.
-		IN MX 10	linux-test.com.
-@		IN A	        192.168.246.41
diff --git a/engine/tests/Functional.bind/data/bind9/linux_test.com.db_x86_64 b/engine/tests/Functional.bind/data/bind9/linux_test.com.db_x86_64
deleted file mode 100644
index ca836b5..0000000
--- a/engine/tests/Functional.bind/data/bind9/linux_test.com.db_x86_64
+++ /dev/null
@@ -1,10 +0,0 @@
-$TTL    86400
-@               IN SOA  linux-test.com. root.linux-test.com. (
-                                        42              ; serial (d. adams)
-                                        3H              ; refresh
-                                        15M             ; retry
-                                        1W              ; expiry
-                                        1D )            ; minimum
-                IN NS           linux-test.com.
-		IN MX 10	linux-test.com.
-@		IN A	        192.168.246.61
diff --git a/engine/tests/Functional.bind/data/bind9/linux_test.com.db_zunq b/engine/tests/Functional.bind/data/bind9/linux_test.com.db_zunq
deleted file mode 100644
index d24501f..0000000
--- a/engine/tests/Functional.bind/data/bind9/linux_test.com.db_zunq
+++ /dev/null
@@ -1,10 +0,0 @@
-$TTL    86400
-@               IN SOA  linux-test.com. root.linux-test.com. (
-                                        42              ; serial (d. adams)
-                                        3H              ; refresh
-                                        15M             ; retry
-                                        1W              ; expiry
-                                        1D )            ; minimum
-                IN NS           linux-test.com.
-		IN MX 10	linux-test.com.
-@		IN A	        192.168.246.136
diff --git a/engine/tests/Functional.bind/data/linux_test.com.db b/engine/tests/Functional.bind/data/linux_test.com.db
deleted file mode 100644
index 7846fd5..0000000
--- a/engine/tests/Functional.bind/data/linux_test.com.db
+++ /dev/null
@@ -1,10 +0,0 @@
-$TTL    86400
-@               IN SOA  linux-test.com. root.linux-test.com. (
-                                        42              ; serial (d. adams)
-                                        3H              ; refresh
-                                        15M             ; retry
-                                        1W              ; expiry
-                                        1D )            ; minimum
-                IN NS           linux-test.com.
-		IN MX 10	linux-test.com.
-@		IN A	        192.168.246.41
diff --git a/engine/tests/Functional.bind/data/linux_test.com.db_24 b/engine/tests/Functional.bind/data/linux_test.com.db_24
deleted file mode 100644
index 02b6086..0000000
--- a/engine/tests/Functional.bind/data/linux_test.com.db_24
+++ /dev/null
@@ -1,10 +0,0 @@
-$TTL    86400
-@               IN SOA  linux-test.com. root.linux-test.com. (
-                                        42              ; serial (d. adams)
-                                        3H              ; refresh
-                                        15M             ; retry
-                                        1W              ; expiry
-                                        1D )            ; minimum
-                IN NS           linux-test.com.
-		IN MX 10	linux-test.com.
-@		IN A	        192.168.246.87
diff --git a/engine/tests/Functional.bind/data/linux_test.com.db_27 b/engine/tests/Functional.bind/data/linux_test.com.db_27
deleted file mode 100644
index ca836b5..0000000
--- a/engine/tests/Functional.bind/data/linux_test.com.db_27
+++ /dev/null
@@ -1,10 +0,0 @@
-$TTL    86400
-@               IN SOA  linux-test.com. root.linux-test.com. (
-                                        42              ; serial (d. adams)
-                                        3H              ; refresh
-                                        15M             ; retry
-                                        1W              ; expiry
-                                        1D )            ; minimum
-                IN NS           linux-test.com.
-		IN MX 10	linux-test.com.
-@		IN A	        192.168.246.61
diff --git a/engine/tests/Functional.bind/data/linux_test.com.db_29 b/engine/tests/Functional.bind/data/linux_test.com.db_29
deleted file mode 100644
index f4a8377..0000000
--- a/engine/tests/Functional.bind/data/linux_test.com.db_29
+++ /dev/null
@@ -1,10 +0,0 @@
-$TTL    86400
-@               IN SOA  linux-test.com. root.linux-test.com. (
-                                        42              ; serial (d. adams)
-                                        3H              ; refresh
-                                        15M             ; retry
-                                        1W              ; expiry
-                                        1D )            ; minimum
-                IN NS           linux-test.com.
-		IN MX 10	linux-test.com.
-@		IN A	        192.168.246.86
diff --git a/engine/tests/Functional.bind/data/linux_test.com.db_30 b/engine/tests/Functional.bind/data/linux_test.com.db_30
deleted file mode 100644
index dc373bb..0000000
--- a/engine/tests/Functional.bind/data/linux_test.com.db_30
+++ /dev/null
@@ -1,10 +0,0 @@
-$TTL    86400
-@               IN SOA  linux-test.com. root.linux-test.com. (
-                                        42              ; serial (d. adams)
-                                        3H              ; refresh
-                                        15M             ; retry
-                                        1W              ; expiry
-                                        1D )            ; minimum
-                IN NS           linux-test.com.
-		IN MX 10	linux-test.com.
-@		IN A	        192.168.246.129
diff --git a/engine/tests/Functional.bind/data/linux_test.com.db_31 b/engine/tests/Functional.bind/data/linux_test.com.db_31
deleted file mode 100644
index f39f5fb..0000000
--- a/engine/tests/Functional.bind/data/linux_test.com.db_31
+++ /dev/null
@@ -1,10 +0,0 @@
-$TTL    86400
-@               IN SOA  linux-test.com. root.linux-test.com. (
-                                        42              ; serial (d. adams)
-                                        3H              ; refresh
-                                        15M             ; retry
-                                        1W              ; expiry
-                                        1D )            ; minimum
-                IN NS           linux-test.com.
-		IN MX 10	linux-test.com.
-@		IN A	        192.168.246.85
diff --git a/engine/tests/Functional.bind/data/linux_test.com.db_34 b/engine/tests/Functional.bind/data/linux_test.com.db_34
deleted file mode 100644
index 9f942f2..0000000
--- a/engine/tests/Functional.bind/data/linux_test.com.db_34
+++ /dev/null
@@ -1,10 +0,0 @@
-$TTL    86400
-@               IN SOA  linux-test.com. root.linux-test.com. (
-                                        42              ; serial (d. adams)
-                                        3H              ; refresh
-                                        15M             ; retry
-                                        1W              ; expiry
-                                        1D )            ; minimum
-                IN NS           linux-test.com.
-		IN MX 10	linux-test.com.
-@		IN A	        192.168.246.90
diff --git a/engine/tests/Functional.bind/data/linux_test.com.db_36 b/engine/tests/Functional.bind/data/linux_test.com.db_36
deleted file mode 100644
index d24501f..0000000
--- a/engine/tests/Functional.bind/data/linux_test.com.db_36
+++ /dev/null
@@ -1,10 +0,0 @@
-$TTL    86400
-@               IN SOA  linux-test.com. root.linux-test.com. (
-                                        42              ; serial (d. adams)
-                                        3H              ; refresh
-                                        15M             ; retry
-                                        1W              ; expiry
-                                        1D )            ; minimum
-                IN NS           linux-test.com.
-		IN MX 10	linux-test.com.
-@		IN A	        192.168.246.136
diff --git a/engine/tests/Functional.bind/data/linux_test.com.db_38 b/engine/tests/Functional.bind/data/linux_test.com.db_38
deleted file mode 100644
index 880166b..0000000
--- a/engine/tests/Functional.bind/data/linux_test.com.db_38
+++ /dev/null
@@ -1,10 +0,0 @@
-$TTL    86400
-@               IN SOA  linux-test.com. root.linux-test.com. (
-                                        42              ; serial (d. adams)
-                                        3H              ; refresh
-                                        15M             ; retry
-                                        1W              ; expiry
-                                        1D )            ; minimum
-                IN NS           linux-test.com.
-		IN MX 10	linux-test.com.
-@		IN A	        192.168.246.59
diff --git a/engine/tests/Functional.bind/data/linux_test.com.db_8 b/engine/tests/Functional.bind/data/linux_test.com.db_8
deleted file mode 100644
index 7846fd5..0000000
--- a/engine/tests/Functional.bind/data/linux_test.com.db_8
+++ /dev/null
@@ -1,10 +0,0 @@
-$TTL    86400
-@               IN SOA  linux-test.com. root.linux-test.com. (
-                                        42              ; serial (d. adams)
-                                        3H              ; refresh
-                                        15M             ; retry
-                                        1W              ; expiry
-                                        1D )            ; minimum
-                IN NS           linux-test.com.
-		IN MX 10	linux-test.com.
-@		IN A	        192.168.246.41
diff --git a/engine/tests/Functional.bind/fuego_test.sh b/engine/tests/Functional.bind/fuego_test.sh
index 7e4fa2d..82e29b7 100644
--- a/engine/tests/Functional.bind/fuego_test.sh
+++ b/engine/tests/Functional.bind/fuego_test.sh
@@ -1,3 +1,5 @@
+NEED_ROOT=1
+
 function test_pre_check {
     is_on_target_path named-checkconf PROGRAM_CHECKCONF
     assert_define PROGRAM_CHECKCONF "Missing 'bind' program on target board"
@@ -22,8 +24,8 @@ function test_deploy {
 
 function test_run {
     report "cd $BOARD_TESTDIR/fuego.$TESTDIR;\
-    export tst_bind_file=246.168.192.in-addr.arpa.db;\
-    export test_target_conf=x86_64;\
+    export tst_bind_file=$ADDR.in-addr.arpa.db;\
+    export test_target_conf=$TARGET_ARCH;\
     export remotehost=$IPADDR;\
     ./bind_test.sh"
 }
diff --git a/engine/tests/Functional.bind/tests/bind_chroot_chkconf.sh b/engine/tests/Functional.bind/tests/bind_chroot_chkconf.sh
index 5a6fbb7..e69ce30 100644
--- a/engine/tests/Functional.bind/tests/bind_chroot_chkconf.sh
+++ b/engine/tests/Functional.bind/tests/bind_chroot_chkconf.sh
@@ -4,40 +4,20 @@
 
 test="chroot_chkconf"
 
-kill -9 $(pgrep named)
-
-if [ ! -d /var/named/chroot/etc/bind ]
+if [ -d /var/named/ ]
 then
-    mkdir -p /var/named/chroot/etc/bind
-fi
-
-if [ ! $(ls /var/named/chroot/etc/bind/) ]
-then
-    cp -f /etc/bind/* /var/named/chroot/etc/bind/
-fi
-
-if [ ! -d /var/named/chroot/var/named ]
-then
-    mkdir -p /var/named/chroot/var/named
-fi
-
-if [ ! -d /var/named/chroot/var/cache/bind ]
-then
-    mkdir -p /var/named/chroot/var/cache/bind
-fi
-
-if [ ! -d /var/named/chroot/var/run/named ]
-then
-    mkdir -p /var/named/chroot/var/run/named
+    mv /var/named/ /var/named_bak
 fi
 
+mkdir -p /var/named/chroot/etc/bind
+cp -f /etc/bind/* /var/named/chroot/etc/bind/
+mkdir -p /var/named/chroot/var/named
+mkdir -p /var/named/chroot/var/cache/bind
+mkdir -p /var/named/chroot/var/run/named
 cp /etc/sysconfig/named /etc/sysconfig/named_bak
 cp data/bind9/sysconfig/named /etc/sysconfig/named
 
-if [ ! -f /var/named/chroot/etc/bind/named.conf ]
-then
-    touch /var/named/chroot/etc/bind/named.conf
-fi
+touch /var/named/chroot/etc/bind/named.conf
 
 cp data/bind9/named.conf /var/named/chroot/etc/bind/named.conf
 
@@ -49,4 +29,8 @@ else
 fi
 
 rm -rf /var/named
+if [ -d /var/named_bak ]
+then
+    mv /var/named_bak /var/named
+fi
 mv /etc/sysconfig/named_bak /etc/sysconfig/named
diff --git a/engine/tests/Functional.bind/tests/bind_chroot_dig1.sh b/engine/tests/Functional.bind/tests/bind_chroot_dig1.sh
index ccd261d..c8916ae 100644
--- a/engine/tests/Functional.bind/tests/bind_chroot_dig1.sh
+++ b/engine/tests/Functional.bind/tests/bind_chroot_dig1.sh
@@ -4,32 +4,28 @@
 
 test="chroot_dig1"
 
-kill -9 $(pgrep named)
+. ./fuego_board_function_lib.sh
 
-if [ ! -d /var/named/chroot/etc/bind ]
-then
-    mkdir -p /var/named/chroot/etc/bind
-fi
+set_init_manager
 
-if [ ! $(ls /var/named/chroot/etc/bind/) ]
+named_status=0
+if exec_service_on_target named status | grep "running"
 then
-    cp -f /etc/bind/* /var/named/chroot/etc/bind/
+    named_status=1
 fi
 
-if [ ! -d /var/named/chroot/var/named ]
-then
-    mkdir -p /var/named/chroot/var/named
-fi
+killall -9 named
 
-if [ ! -d /var/named/chroot/var/cache/bind ]
+if [ -d /var/named/ ]
 then
-    mkdir -p /var/named/chroot/var/cache/bind
+    mv /var/named /var/named_bak
 fi
 
-if [ ! -d /var/named/chroot/var/run/named ]
-then
-    mkdir -p /var/named/chroot/var/run/named
-fi
+mkdir -p /var/named/chroot/etc/bind
+cp -f /etc/bind/* /var/named/chroot/etc/bind/
+mkdir -p /var/named/chroot/var/named
+mkdir -p /var/named/chroot/var/cache/bind
+mkdir -p /var/named/chroot/var/run/named
 
 if [ ! -f /etc/resolv.conf ]
 then
@@ -39,11 +35,7 @@ fi
 cp /etc/resolv.conf /etc/resolv.conf_bak
 cp data/bind9/resolv.conf /etc/resolv.conf
 
-if [ ! -f /var/named/chroot/etc/bind/named.conf ]
-then
-    touch /var/named/chroot/etc/bind/named.conf
-fi
-
+touch /var/named/chroot/etc/bind/named.conf
 cp data/bind9/named.conf /var/named/chroot/etc/bind/named.conf
 
 if [ ! -f /etc/bind/named.conf ]
@@ -53,10 +45,7 @@ fi
 mv /etc/bind/named.conf /etc/bind/named.conf_bak
 ln -s /var/named/chroot/etc/bind/named.conf /etc/bind/named.conf
 
-if [ ! -f /var/named/chroot/etc/bind/rndc.conf ]
-then
-    touch /var/named/chroot/etc/bind/rndc.conf
-fi
+touch /var/named/chroot/etc/bind/rndc.conf
 cp data/bind9/rndc.conf /var/named/chroot/etc/bind/rndc.conf
 
 if [ ! -f /etc/bind/rndc.conf ]
@@ -66,10 +55,7 @@ fi
 mv /etc/bind/rndc.conf /etc/bind/rndc.conf_bak
 ln -s /var/named/chroot/etc/bind/rndc.conf /etc/bind/rndc.conf
 
-if [ ! -f /var/named/chroot/etc/bind/rndc.key ]
-then
-    touch /var/named/chroot/etc/bind/rndc.key
-fi
+touch /var/named/chroot/etc/bind/rndc.key
 cp data/bind9/rndc.key /var/named/chroot/etc/bind/rndc.key
 
 if [ ! -f /etc/bind/rndc.key ]
@@ -79,8 +65,10 @@ fi
 mv /etc/bind/rndc.key /etc/bind/rndc.key_bak
 ln -s /var/named/chroot/etc/bind/rndc.key /etc/bind/rndc.key
 
-cp data/bind9/$tst_bind_file /var/named/chroot/var/named/$tst_bind_file
-cp data/bind9/linux_test.com.db_$test_target_conf /var/named/chroot/var/named/linux_test.com.db
+cp data/bind9/addr.arpa.db /var/named/chroot/var/named/$tst_bind_file
+cp data/bind9/linux_test.com.db data/bind9/linux_test.com.db_bak
+sed -i 's/remotehost/'"$remotehost"'/g' data/bind9/linux_test.com.db
+cp data/bind9/linux_test.com.db /var/named/chroot/var/named/linux_test.com.db
 if [ ! -f /etc/hosts ]
 then
     touch /etc/hosts
@@ -90,6 +78,10 @@ cp data/bind9/hosts /etc/hosts
 
 restore_target() {
     rm -rf /var/named
+    if [ -d /var/named_bak ]
+    then
+        mv /var/named_bak /var/named
+    fi
     mv /etc/resolv.conf_bak /etc/resolv.conf
     mv /etc/hosts_bak /etc/hosts
     mv /etc/bind/named.conf_bak /etc/bind/named.conf
@@ -97,6 +89,7 @@ restore_target() {
     mv /etc/bind/rndc.key_bak /etc/bind/rndc.key
     chown root.named /etc/bind/rndc.key /etc/bind/rndc.conf  /etc/bind/named.conf
     chmod 644 /etc/bind/rndc.key /etc/bind/rndc.conf  /etc/bind/named.conf
+    mv data/bind9/linux_test.com.db_bak data/bind9/linux_test.com.db
 }
 
 named -t /var/named/chroot
@@ -108,5 +101,10 @@ else
     echo " -> $test: TEST-FAIL"
 fi
 
-kill -9 $(pgrep named)
+killall -9 named
 restore_target
+
+if named_status=1
+then
+    exec_service_on_target named start
+fi
diff --git a/engine/tests/Functional.bind/tests/bind_chroot_dig2.sh b/engine/tests/Functional.bind/tests/bind_chroot_dig2.sh
index bbeb981..686d91a 100644
--- a/engine/tests/Functional.bind/tests/bind_chroot_dig2.sh
+++ b/engine/tests/Functional.bind/tests/bind_chroot_dig2.sh
@@ -4,33 +4,30 @@
 
 test="chroot_dig2"
 
-kill -9 $(pgrep named)
+. ./fuego_board_function_lib.sh
 
-if [ ! -d /var/named/chroot/etc/bind ]
-then
-    mkdir -p /var/named/chroot/etc/bind
-fi
+set_init_manager
 
-if [ ! $(ls /var/named/chroot/etc/bind/) ]
-then
-    cp -f /etc/bind/* /var/named/chroot/etc/bind/
-fi
+named_status=0
 
-if [ ! -d /var/named/chroot/var/named ]
+if exec_service_on_target named status | grep "running"
 then
-    mkdir -p /var/named/chroot/var/named
+    named_status=1
 fi
 
-if [ ! -d /var/named/chroot/var/cache/bind ]
-then
-    mkdir -p /var/named/chroot/var/cache/bind
-fi
+killall -9 named
 
-if [ ! -d /var/named/chroot/var/run/named ]
+if [ -d /var/named/ ]
 then
-    mkdir -p /var/named/chroot/var/run/named
+    mv /var/named /var/named_bak
 fi
 
+mkdir -p /var/named/chroot/etc/bind
+cp -f /etc/bind/* /var/named/chroot/etc/bind/
+mkdir -p /var/named/chroot/var/named
+mkdir -p /var/named/chroot/var/cache/bind
+mkdir -p /var/named/chroot/var/run/named
+
 cp /etc/sysconfig/named /etc/sysconfig/named_bak
 cp data/bind9/sysconfig/named /etc/sysconfig/named
 
@@ -42,11 +39,7 @@ fi
 cp /etc/resolv.conf /etc/resolv.conf_bak
 cp data/bind9/resolv.conf /etc/resolv.conf
 
-if [ ! -f /var/named/chroot/etc/bind/named.conf ]
-then
-    touch /var/named/chroot/etc/bind/named.conf
-fi
-
+touch /var/named/chroot/etc/bind/named.conf
 cp data/bind9/named.conf /var/named/chroot/etc/bind/named.conf
 
 if [ ! -f /etc/bind/named.conf ]
@@ -56,10 +49,7 @@ fi
 mv /etc/bind/named.conf /etc/bind/named.conf_bak
 ln -s /var/named/chroot/etc/bind/named.conf /etc/bind/named.conf
 
-if [ ! -f /var/named/chroot/etc/bind/rndc.conf ]
-then
-    touch /var/named/chroot/etc/bind/rndc.conf
-fi
+touch /var/named/chroot/etc/bind/rndc.conf
 cp data/bind9/rndc.conf /var/named/chroot/etc/bind/rndc.conf
 
 if [ ! -f /etc/bind/rndc.conf ]
@@ -69,10 +59,7 @@ fi
 mv /etc/bind/rndc.conf /etc/bind/rndc.conf_bak
 ln -s /var/named/chroot/etc/bind/rndc.conf /etc/bind/rndc.conf
 
-if [ ! -f /var/named/chroot/etc/bind/rndc.key ]
-then
-    touch /var/named/chroot/etc/bind/rndc.key
-fi
+touch /var/named/chroot/etc/bind/rndc.key
 cp data/bind9/rndc.key /var/named/chroot/etc/bind/rndc.key
 
 if [ ! -f /etc/bind/rndc.key ]
@@ -82,8 +69,10 @@ fi
 mv /etc/bind/rndc.key /etc/bind/rndc.key_bak
 ln -s /var/named/chroot/etc/bind/rndc.key /etc/bind/rndc.key
 
-cp data/bind9/$tst_bind_file /var/named/chroot/var/named/$tst_bind_file
-cp data/bind9/linux_test.com.db_$test_target_conf /var/named/chroot/var/named/linux_test.com.db
+cp data/bind9/addr.arpa.db /var/named/chroot/var/named/$tst_bind_file
+cp data/bind9/linux_test.com.db data/bind9/linux_test.com.db_bak
+sed -i 's/remotehost/'"$remotehost"'/g' data/bind9/linux_test.com.db
+cp data/bind9/linux_test.com.db /var/named/chroot/var/named/linux_test.com.db
 if [ ! -f /etc/hosts ]
 then
     touch /etc/hosts
@@ -93,6 +82,10 @@ cp data/bind9/hosts /etc/hosts
 
 restore_target() {
     rm -rf /var/named
+    if [ -d /var/named_bak ]
+    then
+        mv /var/named_bak /var/named
+    fi
     mv /etc/sysconfig/named_bak /etc/sysconfig/named
     mv /etc/resolv.conf_bak /etc/resolv.conf
     mv /etc/hosts_bak /etc/hosts
@@ -101,6 +94,7 @@ restore_target() {
     mv /etc/bind/rndc.key_bak /etc/bind/rndc.key
     chown root.named /etc/bind/rndc.key /etc/bind/rndc.conf  /etc/bind/named.conf
     chmod 644 /etc/bind/rndc.key /etc/bind/rndc.conf  /etc/bind/named.conf
+    mv data/bind9/linux_test.com.db_bak data/bind9/linux_test.com.db
 }
 
 named -t /var/named/chroot
@@ -114,5 +108,10 @@ else
     echo " -> $test: TEST-FAIL"
 fi
 
-kill -9 $(pgrep named)
+killall -9 named
 restore_target
+
+if named_status=1
+then
+    exec_service_on_target named start
+fi
diff --git a/engine/tests/Functional.bind/tests/bind_chroot_lport.sh b/engine/tests/Functional.bind/tests/bind_chroot_lport.sh
index 88456c0..e8a1c9e 100644
--- a/engine/tests/Functional.bind/tests/bind_chroot_lport.sh
+++ b/engine/tests/Functional.bind/tests/bind_chroot_lport.sh
@@ -4,32 +4,27 @@
 
 test="chroot_lport"
 
-kill -9 $(pgrep named)
+. ./fuego_board_function_lib.sh
 
-if [ ! -d /var/named/chroot/etc/bind ]
+set_init_manager
+named_status=0
+if exec_service_on_target named status | grep "running"
 then
-    mkdir -p /var/named/chroot/etc/bind
+    named_status=1
 fi
 
-if [ ! $(ls /var/named/chroot/etc/bind/) ]
-then
-    cp -f /etc/bind/* /var/named/chroot/etc/bind/
-fi
+killall -9 named
 
-if [ ! -d /var/named/chroot/var/named ]
+if [ -d /var/named/ ]
 then
-    mkdir -p /var/named/chroot/var/named
+    mv /var/named /var/named_bak
 fi
 
-if [ ! -d /var/named/chroot/var/cache/bind ]
-then
-    mkdir -p /var/named/chroot/var/cache/bind
-fi
-
-if [ ! -d /var/named/chroot/var/run/named ]
-then
-    mkdir -p /var/named/chroot/var/run/named
-fi
+mkdir -p /var/named/chroot/etc/bind
+cp -f /etc/bind/* /var/named/chroot/etc/bind/
+mkdir -p /var/named/chroot/var/named
+mkdir -p /var/named/chroot/var/cache/bind
+mkdir -p /var/named/chroot/var/run/named
 
 cp /etc/sysconfig/named /etc/sysconfig/named_bak
 cp data/bind9/sysconfig/named /etc/sysconfig/named
@@ -42,11 +37,7 @@ fi
 cp /etc/resolv.conf /etc/resolv.conf_bak
 cp data/bind9/resolv.conf /etc/resolv.conf
 
-if [ ! -f /var/named/chroot/etc/bind/named.conf ]
-then
-    touch /var/named/chroot/etc/bind/named.conf
-fi
-
+touch /var/named/chroot/etc/bind/named.conf
 cp /var/named/chroot/etc/bind/named.conf /var/named/chroot/etc/bind/named.conf_bak
 cp data/bind9/named.conf /var/named/chroot/etc/bind/named.conf
 
@@ -57,10 +48,7 @@ fi
 mv /etc/bind/named.conf /etc/bind/named.conf_bak
 ln -s /var/named/chroot/etc/bind/named.conf /etc/bind/named.conf
 
-if [ ! -f /var/named/chroot/etc/bind/rndc.conf ]
-then
-    touch /var/named/chroot/etc/bind/rndc.conf
-fi
+touch /var/named/chroot/etc/bind/rndc.conf
 cp /var/named/chroot/etc/bind/rndc.conf /var/named/chroot/etc/bind/rndc.conf_bak
 cp data/bind9/rndc.conf /var/named/chroot/etc/bind/rndc.conf
 
@@ -71,10 +59,7 @@ fi
 mv /etc/bind/rndc.conf /etc/bind/rndc.conf_bak
 ln -s /var/named/chroot/etc/bind/rndc.conf /etc/bind/rndc.conf
 
-if [ ! -f /var/named/chroot/etc/bind/rndc.key ]
-then
-    touch /var/named/chroot/etc/bind/rndc.key
-fi
+touch /var/named/chroot/etc/bind/rndc.key
 cp /var/named/chroot/etc/bind/rndc.key /var/named/chroot/etc/bind/rndc.key_bak
 cp data/bind9/rndc.key /var/named/chroot/etc/bind/rndc.key
 
@@ -85,8 +70,10 @@ fi
 mv /etc/bind/rndc.key /etc/bind/rndc.key_bak
 ln -s /var/named/chroot/etc/bind/rndc.key /etc/bind/rndc.key
 
-cp data/bind9/$tst_bind_file /var/named/chroot/var/named/$tst_bind_file
-cp data/bind9/linux_test.com.db_$test_target_conf /var/named/chroot/var/named/linux_test.com.db
+cp data/bind9/addr.arpa.db /var/named/chroot/var/named/$tst_bind_file
+cp data/bind9/linux_test.com.db data/bind9/linux_test.com.db_bak
+sed -i 's/remotehost/'"$remotehost"'/g' data/bind9/linux_test.com.db
+cp data/bind9/linux_test.com.db /var/named/chroot/var/named/linux_test.com.db
 if [ ! -f /etc/hosts ]
 then
     touch /etc/hosts
@@ -96,6 +83,10 @@ cp data/bind9/hosts /etc/hosts
 
 restore_target() {
     rm -rf /var/named
+    if [ -d /var/named_bak ]
+    then
+        mv /var/named_bak /var/named
+    fi
     mv /etc/sysconfig/named_bak /etc/sysconfig/named
     mv /etc/resolv.conf_bak /etc/resolv.conf
     mv /etc/hosts_bak /etc/hosts
@@ -104,6 +95,7 @@ restore_target() {
     mv /etc/bind/rndc.key_bak /etc/bind/rndc.key
     chown root.named /etc/bind/rndc.key /etc/bind/rndc.conf  /etc/bind/named.conf
     chmod 644 /etc/bind/rndc.key /etc/bind/rndc.conf  /etc/bind/named.conf
+    mv data/bind9/linux_test.com.db_bak data/bind9/linux_test.com.db
 }
 
 named -t /var/named/chroot
@@ -114,7 +106,7 @@ then
 else
     echo " -> port 53 is not active."
     echo " -> $test: TEST-FAIL"
-    kill -9 $(pgrep named)
+    killall -9 named
     restore_target
     exit
 fi
@@ -126,5 +118,11 @@ else
     echo " -> $test: TEST-FAIL"
 fi
 
-kill -9 $(pgrep named)
+killall -9 named
 restore_target
+
+if named_status=1
+then
+    exec_service_on_target named start
+fi
+
diff --git a/engine/tests/Functional.bind/tests/bind_chroot_pid.sh b/engine/tests/Functional.bind/tests/bind_chroot_pid.sh
index 70f872b..0d9dbef 100644
--- a/engine/tests/Functional.bind/tests/bind_chroot_pid.sh
+++ b/engine/tests/Functional.bind/tests/bind_chroot_pid.sh
@@ -4,37 +4,28 @@
 
 test="chroot_pid"
 
-killall named
-
-if [ ! -d /var/named/chroot/etc/bind ]
-then
-    mkdir -p /var/named/chroot/etc/bind
-fi
+. ./fuego_board_function_lib.sh
 
-if [ ! $(ls /var/named/chroot/etc/bind/) ]
+set_init_manager
+named_status=0
+if exec_service_on_target named status | grep "running"
 then
-    cp -f /etc/bind/* /var/named/chroot/etc/bind/
+    named_status=1
 fi
 
-if [ ! -d /var/named/chroot/var/named ]
-then
-    mkdir -p /var/named/chroot/var/named
-fi
+killall named
 
-if [ ! -d /var/named/chroot/var/cache/bind ]
+if [ -d /var/named/ ]
 then
-    mkdir -p /var/named/chroot/var/cache/bind
+    mv /var/named /var/named_bak
 fi
 
-if [ ! -d /var/named/chroot/var/run/named ]
-then
-    mkdir -p /var/named/chroot/var/run/named
-fi
-
-if [ -f /var/named/chroot/var/run/named/named.pid ]
-then
-    rm -f /var/named/chroot/var/run/named/named.pid
-fi
+mkdir -p /var/named/chroot/etc/bind
+cp -f /etc/bind/* /var/named/chroot/etc/bind/
+mkdir -p /var/named/chroot/var/named
+mkdir -p /var/named/chroot/var/cache/bind
+mkdir -p /var/named/chroot/var/run/named
+rm -f /var/named/chroot/var/run/named/named.pid
 
 cp /etc/sysconfig/named /etc/sysconfig/named_bak
 cp data/bind9/sysconfig/named /etc/sysconfig/named
@@ -47,11 +38,7 @@ fi
 cp /etc/resolv.conf /etc/resolv.conf_bak
 cp data/bind9/resolv.conf /etc/resolv.conf
 
-if [ ! -f /var/named/chroot/etc/bind/named.conf ]
-then
-    touch /var/named/chroot/etc/bind/named.conf
-fi
-
+touch /var/named/chroot/etc/bind/named.conf
 cp /var/named/chroot/etc/bind/named.conf /var/named/chroot/etc/bind/named.conf_bak
 cp data/bind9/named.conf /var/named/chroot/etc/bind/named.conf
 
@@ -62,10 +49,7 @@ fi
 mv /etc/bind/named.conf /etc/bind/named.conf_bak
 ln -s /var/named/chroot/etc/bind/named.conf /etc/bind/named.conf
 
-if [ ! -f /var/named/chroot/etc/bind/rndc.conf ]
-then
-    touch /var/named/chroot/etc/bind/rndc.conf
-fi
+touch /var/named/chroot/etc/bind/rndc.conf
 cp /var/named/chroot/etc/bind/rndc.conf /var/named/chroot/etc/bind/rndc.conf_bak
 cp data/bind9/rndc.conf /var/named/chroot/etc/bind/rndc.conf
 
@@ -76,10 +60,7 @@ fi
 mv /etc/bind/rndc.conf /etc/bind/rndc.conf_bak
 ln -s /var/named/chroot/etc/bind/rndc.conf /etc/bind/rndc.conf
 
-if [ ! -f /var/named/chroot/etc/bind/rndc.key ]
-then
-    touch /var/named/chroot/etc/bind/rndc.key
-fi
+touch /var/named/chroot/etc/bind/rndc.key
 cp /var/named/chroot/etc/bind/rndc.key /var/named/chroot/etc/bind/rndc.key_bak
 cp data/bind9/rndc.key /var/named/chroot/etc/bind/rndc.key
 
@@ -90,8 +71,10 @@ fi
 mv /etc/bind/rndc.key /etc/bind/rndc.key_bak
 ln -s /var/named/chroot/etc/bind/rndc.key /etc/bind/rndc.key
 
-cp data/bind9/$tst_bind_file /var/named/chroot/var/named/$tst_bind_file
-cp data/bind9/linux_test.com.db_$test_target_conf /var/named/chroot/var/named/linux_test.com.db
+cp data/bind9/addr.arpa.db /var/named/chroot/var/named/$tst_bind_file
+cp data/bind9/linux_test.com.db data/bind9/linux_test.com.db_bak
+sed -i 's/remotehost/'"$remotehost"'/g' data/bind9/linux_test.com.db
+cp data/bind9/linux_test.com.db /var/named/chroot/var/named/linux_test.com.db
 if [ ! -f /etc/hosts ]
 then
     touch /etc/hosts
@@ -101,6 +84,10 @@ cp data/bind9/hosts /etc/hosts
 
 restore_target() {
     rm -rf /var/named
+    if [ -d /var/named_bak ]
+    then
+        mv /var/named_bak /var/named
+    fi
     mv /etc/sysconfig/named_bak /etc/sysconfig/named
     mv /etc/resolv.conf_bak /etc/resolv.conf
     mv /etc/hosts_bak /etc/hosts
@@ -109,6 +96,7 @@ restore_target() {
     mv /etc/bind/rndc.key_bak /etc/bind/rndc.key
     chown root.named /etc/bind/rndc.key /etc/bind/rndc.conf  /etc/bind/named.conf
     chmod 644 /etc/bind/rndc.key /etc/bind/rndc.conf  /etc/bind/named.conf
+    mv data/bind9/linux_test.com.db_bak data/bind9/linux_test.com.db
 }
 
 named -t /var/named/chroot
@@ -119,7 +107,7 @@ then
 else
     echo " -> pid file is not exist."
     echo " -> $test: TEST-FAIL"
-    killall named
+    killall -9 named
     restore_target
     exit
 fi
@@ -135,3 +123,7 @@ else
     echo " -> $test: TEST-PASS"
 fi
 restore_target
+if named_status=1
+then
+    exec_service_on_target named start
+fi
diff --git a/engine/tests/Functional.bind/tests/bind_chroot_ps.sh b/engine/tests/Functional.bind/tests/bind_chroot_ps.sh
index d99c3cb..dbe56a6 100644
--- a/engine/tests/Functional.bind/tests/bind_chroot_ps.sh
+++ b/engine/tests/Functional.bind/tests/bind_chroot_ps.sh
@@ -4,32 +4,27 @@
 
 test="chroot_ps"
 
-kill -9 $(pgrep named)
+. ./fuego_board_function_lib.sh
 
-if [ ! -d /var/named/chroot/etc/bind ]
+set_init_manager
+named_status=0
+if exec_service_on_target named status | grep "running"
 then
-    mkdir -p /var/named/chroot/etc/bind
+    named_status=1
 fi
 
-if [ ! $(ls /var/named/chroot/etc/bind/) ]
-then
-    cp -f /etc/bind/* /var/named/chroot/etc/bind/
-fi
-
-if [ ! -d /var/named/chroot/var/named ]
-then
-    mkdir -p /var/named/chroot/var/named
-fi
+killall -9 named
 
-if [ ! -d /var/named/chroot/var/cache/bind ]
+if [ -d /var/named/ ]
 then
-    mkdir -p /var/named/chroot/var/cache/bind
+    mv /var/named /var/named_bak
 fi
 
-if [ ! -d /var/named/chroot/var/run/named ]
-then
-    mkdir -p /var/named/chroot/var/run/named
-fi
+mkdir -p /var/named/chroot/etc/bind
+cp -f /etc/bind/* /var/named/chroot/etc/bind/
+mkdir -p /var/named/chroot/var/named
+mkdir -p /var/named/chroot/var/cache/bind
+mkdir -p /var/named/chroot/var/run/named
 
 named -t /var/named/chroot
 
@@ -41,5 +36,14 @@ else
     echo " -> can't get the process of named."
     echo " -> $test: TEST-FAIL"
 fi
-kill -9 $(pgrep named)
+killall -9 named
 rm -rf /var/named
+if [ -d /var/named_bak ]
+then
+    mv /var/named_bak /var/named
+fi
+
+if named_status=1
+then
+    exec_service_on_target named start
+fi
diff --git a/engine/tests/Functional.bind/tests/bind_chroot_rndc-confgen.sh b/engine/tests/Functional.bind/tests/bind_chroot_rndc-confgen.sh
index be1919d..6ec4c39 100644
--- a/engine/tests/Functional.bind/tests/bind_chroot_rndc-confgen.sh
+++ b/engine/tests/Functional.bind/tests/bind_chroot_rndc-confgen.sh
@@ -4,32 +4,27 @@
 
 test="chroot_rndc-confgen"
 
-kill -9 $(pgrep named)
+. ./fuego_board_function_lib.sh
 
-if [ ! -d /var/named/chroot/etc/bind ]
+set_init_manager
+named_status=0
+if exec_service_on_target named status | grep "running"
 then
-    mkdir -p /var/named/chroot/etc/bind
+    named_status=1
 fi
 
-if [ ! $(ls /var/named/chroot/etc/bind/) ]
-then
-    cp -f /etc/bind/* /var/named/chroot/etc/bind/
-fi
-
-if [ ! -d /var/named/chroot/var/named ]
-then
-    mkdir -p /var/named/chroot/var/named
-fi
+killall -9 named
 
-if [ ! -d /var/named/chroot/var/cache/bind ]
+if [ -d /var/named/ ]
 then
-    mkdir -p /var/named/chroot/var/cache/bind
+    mv /var/named /var/named_bak
 fi
 
-if [ ! -d /var/named/chroot/var/run/named ]
-then
-    mkdir -p /var/named/chroot/var/run/named
-fi
+mkdir -p /var/named/chroot/etc/bind
+cp -f /etc/bind/* /var/named/chroot/etc/bind/
+mkdir -p /var/named/chroot/var/named
+mkdir -p /var/named/chroot/var/cache/bind
+mkdir -p /var/named/chroot/var/run/named
 
 cp /etc/sysconfig/named /etc/sysconfig/named_bak
 cp data/bind9/sysconfig/named /etc/sysconfig/named
@@ -39,11 +34,6 @@ then
     mv /etc/bind/rndc.key /etc/bind/rndc.key_bak
 fi
 
-if [ -f /var/named/chroot/etc/bind/rndc.key ]
-then
-    rm /var/named/chroot/etc/bind/rndc.key
-fi
-
 rndc-confgen -a -k rndckey -t /var/named/chroot
 if ls /var/named/chroot/etc/bind/rndc.key
 then
@@ -53,5 +43,14 @@ else
 fi
 
 rm -rf /var/named
+if [ -d /var/named_bak ]
+then
+    mv /var/named_bak /var/named
+fi
 mv /etc/sysconfig/named_bak /etc/sysconfig/named
 mv /etc/bind/rndc.key_bak /etc/bind/rndc.key
+
+if named_status=1
+then
+    exec_service_on_target named start
+fi
diff --git a/engine/tests/Functional.bind/tests/bind_chroot_syslog-ng.sh b/engine/tests/Functional.bind/tests/bind_chroot_syslog-ng.sh
index 195410f..de72a80 100644
--- a/engine/tests/Functional.bind/tests/bind_chroot_syslog-ng.sh
+++ b/engine/tests/Functional.bind/tests/bind_chroot_syslog-ng.sh
@@ -4,44 +4,39 @@
 
 test="chroot_syslog-ng"
 
-kill -9 $(pgrep named)
-
 . ./fuego_board_function_lib.sh
 
 set_init_manager
-
-exec_service_on_target syslog-ng stop
-
-if [ -f /var/log/syslog ]
+named_status=0
+if exec_service_on_target named status | grep "running"
 then
-    mv /var/log/syslog /var/log/syslog_bak
+    named_status=1
 fi
 
-if [ ! -d /var/named/chroot/etc/bind ]
-then
-    mkdir -p /var/named/chroot/etc/bind
-fi
+killall -9 named
 
-if [ ! $(ls /var/named/chroot/etc/bind/) ]
-then
-    cp -f /etc/bind/* /var/named/chroot/etc/bind/
-fi
+. ./fuego_board_function_lib.sh
 
-if [ ! -d /var/named/chroot/var/named ]
-then
-    mkdir -p /var/named/chroot/var/named
-fi
+set_init_manager
 
-if [ ! -d /var/named/chroot/var/cache/bind ]
+if [ -d /var/named/ ]
 then
-    mkdir -p /var/named/chroot/var/cache/bind
+    mv /var/named /var/named_bak
 fi
 
-if [ ! -d /var/named/chroot/var/run/named ]
+exec_service_on_target syslog-ng stop
+
+if [ -f /var/log/syslog ]
 then
-    mkdir -p /var/named/chroot/var/run/named
+    mv /var/log/syslog /var/log/syslog_bak
 fi
 
+mkdir -p /var/named/chroot/etc/bind
+cp -f /etc/bind/* /var/named/chroot/etc/bind/
+mkdir -p /var/named/chroot/var/named
+mkdir -p /var/named/chroot/var/cache/bind
+mkdir -p /var/named/chroot/var/run/named
+
 exec_service_on_target syslog-ng restart
 
 named -t /var/named/chroot
@@ -52,5 +47,14 @@ then
 else
     echo " -> $test: TEST-FAIL"
 fi
-kill -9 $(pgrep named)
+killall -9 named
 rm -rf /var/named
+if [ -d /var/named_bak ]
+then
+    mv /var/named_bak /var/named
+fi
+
+if named_status=1
+then
+    exec_service_on_target named start
+fi
diff --git a/engine/tests/Functional.bind/tests/bind_named_chkconf.sh b/engine/tests/Functional.bind/tests/bind_named_chkconf.sh
index 7914e0d..38d28e8 100644
--- a/engine/tests/Functional.bind/tests/bind_named_chkconf.sh
+++ b/engine/tests/Functional.bind/tests/bind_named_chkconf.sh
@@ -8,6 +8,12 @@ test="named_chkconf"
 
 set_init_manager
 
+named_status=0
+if exec_service_on_target named status | grep "running"
+then
+    named_status=1
+fi
+
 exec_service_on_target named stop
 
 if [ -f /etc/bind/named.conf ]
@@ -28,3 +34,8 @@ if [ -f /etc/bind/named.conf_bak ]
 then
     mv /etc/bind/named.conf_bak /etc/bind/named.conf
 fi
+
+if named_status=1
+then
+    exec_service_on_target named start
+fi
diff --git a/engine/tests/Functional.bind/tests/bind_named_chkzone1.sh b/engine/tests/Functional.bind/tests/bind_named_chkzone1.sh
index 40a6387..637d4bd 100644
--- a/engine/tests/Functional.bind/tests/bind_named_chkzone1.sh
+++ b/engine/tests/Functional.bind/tests/bind_named_chkzone1.sh
@@ -8,6 +8,12 @@ test="named_chkzone1"
 
 set_init_manager
 
+named_status=0
+if exec_service_on_target named status | grep "running"
+then
+    named_status=1
+fi
+
 exec_service_on_target named stop
 
 if [ ! -d /var/named ]
@@ -15,8 +21,10 @@ then
     mkdir -p /var/named
 fi
 
-cp data/bind9/$tst_bind_file /var/named/$tst_bind_file
-cp data/bind9/linux_test.com.db_$test_target_conf /var/named/linux_test.com.db
+cp data/bind9/addr.arpa.db /var/named/$tst_bind_file
+cp data/bind9/linux_test.com.db data/bind9/linux_test.com.db_bak
+sed -i 's/remotehost/'"$remotehost"'/g' data/bind9/linux_test.com.db
+cp data/bind9/linux_test.com.db /var/named/linux_test.com.db
 
 if named-checkzone linux-test.com /var/named/linux_test.com.db
 then
@@ -26,3 +34,9 @@ else
 fi
 
 rm -f /var/named/$tst_bind_file /var/named/linux_test.com.db
+mv data/bind9/linux_test.com.db_bak data/bind9/linux_test.com.db
+
+if named_status=1
+then
+    exec_service_on_target named start
+fi
diff --git a/engine/tests/Functional.bind/tests/bind_named_chkzone2.sh b/engine/tests/Functional.bind/tests/bind_named_chkzone2.sh
index 6a3da22..3b14b3b 100644
--- a/engine/tests/Functional.bind/tests/bind_named_chkzone2.sh
+++ b/engine/tests/Functional.bind/tests/bind_named_chkzone2.sh
@@ -8,6 +8,12 @@ test="named_chkzone2"
 
 set_init_manager
 
+named_status=0
+if exec_service_on_target named status | grep "running"
+then
+    named_status=1
+fi
+
 exec_service_on_target named stop
 
 if [ ! -d /var/named ]
@@ -15,8 +21,10 @@ then
     mkdir -p /var/named
 fi
 
-cp data/bind9/$tst_bind_file /var/named/$tst_bind_file
-cp data/bind9/linux_test.com.db_$test_target_conf /var/named/linux_test.com.db
+cp data/bind9/addr.arpa.db /var/named/$tst_bind_file
+cp data/bind9/linux_test.com.db data/bind9/linux_test.com.db_bak
+sed -i 's/remotehost/'"$remotehost"'/g' data/bind9/linux_test.com.db
+cp data/bind9/linux_test.com.db /var/named/linux_test.com.db
 
 if named-checkzone 192.168.0.0 /var/named/$tst_bind_file
 then
@@ -26,3 +34,9 @@ else
 fi
 
 rm -f /var/named/$tst_bind_file /var/named/linux_test.com.db
+mv data/bind9/linux_test.com.db_bak data/bind9/linux_test.com.db
+
+if named_status=1
+then
+    exec_service_on_target named start
+fi
diff --git a/engine/tests/Functional.bind/tests/bind_named_dig1.sh b/engine/tests/Functional.bind/tests/bind_named_dig1.sh
index 8cbbdb1..c4c8a15 100644
--- a/engine/tests/Functional.bind/tests/bind_named_dig1.sh
+++ b/engine/tests/Functional.bind/tests/bind_named_dig1.sh
@@ -2,13 +2,18 @@
 
 # Start the named on target.
 # Check the IP address.
-
 test="named_dig1"
 
 . ./fuego_board_function_lib.sh
 
 set_init_manager
 
+named_status=0
+if exec_service_on_target named status | grep "running"
+then
+    named_status=1
+fi
+
 exec_service_on_target named stop
 
 if [ ! -f /etc/bind/named.conf ]
@@ -36,13 +41,17 @@ cp data/bind9/named.conf /etc/bind/named.conf
 mv /etc/bind/rndc.conf /etc/bind/rndc.conf_bak
 cp data/bind9/rndc.conf /etc/bind/rndc.conf
 
-if [ ! -d /var/named ]
+if [ -d /var/named/ ]
 then
-    mkdir -p /var/named
+    mv /var/named /var/named_bak
 fi
 
-cp data/bind9/$tst_bind_file /var/named/$tst_bind_file
-cp data/bind9/linux_test.com.db_$test_target_conf /var/named/linux_test.com.db
+mkdir -p /var/named
+
+cp data/bind9/addr.arpa.db /var/named/$tst_bind_file
+cp data/bind9/linux_test.com.db data/bind9/linux_test.com.db_bak
+sed -i 's/remotehost/'"$remotehost"'/g' data/bind9/linux_test.com.db
+cp data/bind9/linux_test.com.db /var/named/linux_test.com.db
 if [ ! -f /etc/hosts ]
 then
     touch /etc/hosts
@@ -50,6 +59,8 @@ fi
 mv /etc/hosts /etc/hosts_bak
 cp data/bind9/hosts /etc/hosts
 
+sleep 10
+
 exec_service_on_target named start
 
 if dig linux-test.com | grep $remotehost
@@ -64,5 +75,15 @@ exec_service_on_target named stop
 mv /etc/resolv.conf_bak /etc/resolv.conf
 mv /etc/bind/named.conf_bak /etc/bind/named.conf
 mv /etc/bind/rndc.conf_bak /etc/bind/rndc.conf
+mv data/bind9/linux_test.com.db_bak data/bind9/linux_test.com.db
 rm -fr /var/named
+if [ -d /var/named_bak ]
+then
+    mv /var/named_bak /var/named
+fi
 mv /etc/hosts_bak /etc/hosts
+
+if named_status=1
+then
+    exec_service_on_target named start
+fi
diff --git a/engine/tests/Functional.bind/tests/bind_named_dig2.sh b/engine/tests/Functional.bind/tests/bind_named_dig2.sh
index 1259f3e..bbca187 100644
--- a/engine/tests/Functional.bind/tests/bind_named_dig2.sh
+++ b/engine/tests/Functional.bind/tests/bind_named_dig2.sh
@@ -9,6 +9,12 @@ test="named_dig2"
 
 set_init_manager
 
+named_status=0
+if exec_service_on_target named status | grep "running"
+then
+    named_status=1
+fi
+
 exec_service_on_target named stop
 
 if [ ! -f /etc/bind/named.conf ]
@@ -49,13 +55,17 @@ fi
 mv /etc/bind/rndc.key /etc/bind/rndc.key_bak
 cp data/bind9/rndc.key /etc/bind/rndc.key
 
-if [ ! -d /var/named ]
+if [ -d /var/named/ ]
 then
-    mkdir -p /var/named
+    mv /var/named /var/named_bak
 fi
 
-cp data/bind9/$tst_bind_file /var/named/$tst_bind_file
-cp data/bind9/linux_test.com.db_$test_target_conf /var/named/linux_test.com.db
+mkdir -p /var/named
+
+cp data/bind9/addr.arpa.db /var/named/$tst_bind_file
+cp data/bind9/linux_test.com.db data/bind9/linux_test.com.db_bak
+sed -i 's/remotehost/'"$remotehost"'/g' data/bind9/linux_test.com.db
+cp data/bind9/linux_test.com.db /var/named/linux_test.com.db
 if [ ! -f /etc/hosts ]
 then
     touch /etc/hosts
@@ -80,6 +90,16 @@ mv /etc/resolv.conf_bak /etc/resolv.conf
 mv /etc/bind/named.conf_bak /etc/bind/named.conf
 mv /etc/bind/rndc.conf_bak /etc/bind/rndc.conf
 mv /etc/bind/rndc.key_bak /etc/bind/rndc.key
+mv data/bind9/linux_test.com.db_bak data/bind9/linux_test.com.db
 
 rm -fr /var/named
+if [ -d /var/named_bak ]
+then
+    mv /var/named_bak /var/named
+fi
 mv /etc/hosts_bak /etc/hosts
+
+if named_status=1
+then
+    exec_service_on_target named start
+fi
diff --git a/engine/tests/Functional.bind/tests/bind_named_lport.sh b/engine/tests/Functional.bind/tests/bind_named_lport.sh
index 0a171a6..bb40608 100644
--- a/engine/tests/Functional.bind/tests/bind_named_lport.sh
+++ b/engine/tests/Functional.bind/tests/bind_named_lport.sh
@@ -9,6 +9,12 @@ test="named_lport"
 
 set_init_manager
 
+named_status=0
+if exec_service_on_target named status | grep "running"
+then
+    named_status=1
+fi
+
 if [ -f /etc/bind/rndc.key ]
 then
     rm -f /etc/bind/rndc.key
@@ -31,7 +37,10 @@ then
 else
     echo " -> port 53 is not exist."
     echo " -> $test: TEST-FAIL"
-    exec_service_on_target named stop
+    if named_status=0
+    then
+        exec_service_on_target named stop
+    fi
     exit
 fi
 
@@ -43,4 +52,7 @@ else
     echo " -> $test: TEST-FAIL"
 fi
 
-exec_service_on_target named stop
+if named_status=0
+then
+    exec_service_on_target named stop
+fi
diff --git a/engine/tests/Functional.bind/tests/bind_named_pidfile.sh b/engine/tests/Functional.bind/tests/bind_named_pidfile.sh
index be2fc89..c92f3d5 100644
--- a/engine/tests/Functional.bind/tests/bind_named_pidfile.sh
+++ b/engine/tests/Functional.bind/tests/bind_named_pidfile.sh
@@ -9,6 +9,12 @@ test="named_pidfile"
 
 set_init_manager
 
+named_status=0
+if exec_service_on_target named status | grep "running"
+then
+    named_status=1
+fi
+
 if [ -f /etc/bind/rndc.key ]
 then
     rm -f /etc/bind/rndc.key
@@ -16,6 +22,8 @@ fi
 
 exec_service_on_target named stop
 
+sleep 5
+
 if exec_service_on_target named start
 then
     echo " -> start of named succeeded."
@@ -31,7 +39,10 @@ then
 else
     echo " -> pid file of named is not exist."
     echo " -> $test: TEST-FAIL"
-    exec_service_on_target named stop
+    if named_status=0
+    then
+        exec_service_on_target named stop
+    fi
     exit
 fi
 
@@ -50,3 +61,8 @@ then
 else
     echo " -> $test: TEST-FAIL"
 fi
+
+if named_status=1
+then
+    exec_service_on_target named start
+fi
diff --git a/engine/tests/Functional.bind/tests/bind_named_ps.sh b/engine/tests/Functional.bind/tests/bind_named_ps.sh
index cd5fcc0..b6abc02 100644
--- a/engine/tests/Functional.bind/tests/bind_named_ps.sh
+++ b/engine/tests/Functional.bind/tests/bind_named_ps.sh
@@ -8,8 +8,16 @@ test="named_ps"
 
 set_init_manager
 
+named_status=0
+if exec_service_on_target named status | grep "running"
+then
+    named_status=1
+fi
+
 exec_service_on_target named stop
 
+sleep 5
+
 if exec_service_on_target named start
 then
     echo " -> start of named succeeded."
@@ -27,7 +35,10 @@ then
 else
     echo " -> can't get the process of named."
     echo " -> $test: TEST-FAIL"
-    exec_service_on_target named stop
+    if named_status=0
+    then
+        exec_service_on_target named stop
+    fi
     exit
 fi
 
@@ -39,3 +50,7 @@ then
 else
     echo " -> $test: TEST-PASS"
 fi
+if named_status=1
+then
+    exec_service_on_target named start
+fi
diff --git a/engine/tests/Functional.bind/tests/bind_named_syslog.sh b/engine/tests/Functional.bind/tests/bind_named_syslog.sh
index 0b7c690..50cd931 100644
--- a/engine/tests/Functional.bind/tests/bind_named_syslog.sh
+++ b/engine/tests/Functional.bind/tests/bind_named_syslog.sh
@@ -10,6 +10,12 @@ test="named_syslog"
 set_init_manager
 logger_service=$(detect_logger_service)
 
+named_status=0
+if exec_service_on_target named status | grep "running"
+then
+    named_status=1
+fi
+
 if [ -f /etc/bind/rndc.key ]
 then
     rm -f /etc/bind/rndc.key
@@ -33,7 +39,6 @@ then
 else
     echo " -> start of named failed."
     echo " -> $test: TEST-FAIL"
-    exec_service_on_target named stop
     if [ -f /var/log/syslog_bak ]
     then
         mv /var/log/syslog_bak /var/log/syslog
@@ -49,9 +54,12 @@ else
     echo " -> $test: TEST-FAIL"
 fi
 
-exec_service_on_target named stop
+if named_status=0
+then
+    exec_service_on_target named stop
+fi
+
 if [ -f /var/log/syslog_bak ]
 then
     mv /var/log/syslog_bak /var/log/syslog
 fi
-
diff --git a/engine/tests/Functional.bind/tests/bind_rndc-confgen.sh b/engine/tests/Functional.bind/tests/bind_rndc-confgen.sh
index adc38ca..da3e8a7 100644
--- a/engine/tests/Functional.bind/tests/bind_rndc-confgen.sh
+++ b/engine/tests/Functional.bind/tests/bind_rndc-confgen.sh
@@ -8,6 +8,12 @@ test="rndc-confgen"
 
 set_init_manager
 
+named_status=0
+if exec_service_on_target named status | grep "running"
+then
+    named_status=1
+fi
+
 exec_service_on_target named stop
 
 if [ -f /etc/bind/rndc.key ]
@@ -33,3 +39,8 @@ then
 else
     rm -f /etc/bind/rndc.key
 fi
+
+if named_status=1
+then
+    exec_service_on_target named start
+fi
-- 
1.8.3.1




^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [Fuego] [PATCH] Add a core function: assert_has_program().
  2018-10-16  7:16 [Fuego] [PATCH] bind: bugfix for tests of service named Wang Mingyu
@ 2018-10-16  7:16 ` Wang Mingyu
  2018-10-17 21:30   ` Tim.Bird
  0 siblings, 1 reply; 5+ messages in thread
From: Wang Mingyu @ 2018-10-16  7:16 UTC (permalink / raw)
  To: fuego

This function is used to combine the code that check whether a program or file exists, from 2 lines into a single function call.
Called like so:
assert_has_program expect

Signed-off-by: Wang Mingyu <wangmy@cn.fujitsu.com>
---
 engine/scripts/functions.sh | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/engine/scripts/functions.sh b/engine/scripts/functions.sh
index ff7b272..fe236c4 100644
--- a/engine/scripts/functions.sh
+++ b/engine/scripts/functions.sh
@@ -961,3 +961,28 @@ function is_on_sdk {
     export $2=$LOCATION
     rm -f $tmpfile
 }
+
+# check for a program or file on the target, and send message if the program or file is missing
+# $1 - file, dir or program on target
+function assert_has_program {
+    # FIXTHIS: race condition
+    tmpfile=$(mktemp /tmp/found_loc.XXXXXX)
+    cmd "touch $tmpfile"
+    if [ -z "$PATH" ] ; then
+        safe_cmd "find / -name \"$1\" | head -n 1 >$tmpfile"
+    else
+        # split search path on colon
+        for d in $(echo "$PATH" | tr ":" "\n") ; do
+            # execute a command on the target to detect $d/$1
+            cmd "if [ -z \"\$(cat $tmpfile)\" -a -e \"$d/$1\" ] ; then echo \"$d/$1\" >$tmpfile ; fi"
+        done
+    fi
+    get $tmpfile $tmpfile
+    varname=$(cat $tmpfile)
+    cmd "rm $tmpfile"
+    rm -f $tmpfile # -f for tests running on the host
+    if [ -z "$varname" ]
+    then
+        abort_job "$1 is not defined. Missing '$1' program on target board"
+    fi
+}
-- 
1.8.3.1




^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [Fuego] [PATCH] Add a core function: assert_has_program().
  2018-10-16  7:16 ` [Fuego] [PATCH] Add a core function: assert_has_program() Wang Mingyu
@ 2018-10-17 21:30   ` Tim.Bird
  2018-10-18  1:55     ` Wang, Mingyu
  0 siblings, 1 reply; 5+ messages in thread
From: Tim.Bird @ 2018-10-17 21:30 UTC (permalink / raw)
  To: wangmy, fuego

Thanks for working on this.

This was a bit more complicated of an solution that I expected.

Some feedback below...

> -----Original Message-----
> From: Wang Mingyu
> 
> This function is used to combine the code that check whether a program or
> file exists, from 2 lines into a single function call.
> Called like so:
> assert_has_program expect
> 
> Signed-off-by: Wang Mingyu <wangmy@cn.fujitsu.com>
> ---
>  engine/scripts/functions.sh | 25 +++++++++++++++++++++++++
>  1 file changed, 25 insertions(+)
> 
> diff --git a/engine/scripts/functions.sh b/engine/scripts/functions.sh
> index ff7b272..fe236c4 100644
> --- a/engine/scripts/functions.sh
> +++ b/engine/scripts/functions.sh
> @@ -961,3 +961,28 @@ function is_on_sdk {
>      export $2=$LOCATION
>      rm -f $tmpfile
>  }
> +
> +# check for a program or file on the target, and send message if the
> program or file is missing
> +# $1 - file, dir or program on target
It looks like what you've done is copied is_on_target, (which is OK), but
it would have been better, IMHO to just re-use is_on_target_path (without copying it).

> +function assert_has_program {
> +    # FIXTHIS: race condition
> +    tmpfile=$(mktemp /tmp/found_loc.XXXXXX)
> +    cmd "touch $tmpfile"
> +    if [ -z "$PATH" ] ; then
$PATH is the path on the host, not on the board.
> +        safe_cmd "find / -name \"$1\" | head -n 1 >$tmpfile"
> +    else
> +        # split search path on colon
> +        for d in $(echo "$PATH" | tr ":" "\n") ; do
> +            # execute a command on the target to detect $d/$1
> +            cmd "if [ -z \"\$(cat $tmpfile)\" -a -e \"$d/$1\" ] ; then echo \"$d/$1\"
> >$tmpfile ; fi"
> +        done
> +    fi
> +    get $tmpfile $tmpfile
> +    varname=$(cat $tmpfile)
> +    cmd "rm $tmpfile"
> +    rm -f $tmpfile # -f for tests running on the host
> +    if [ -z "$varname" ]
> +    then
> +        abort_job "$1 is not defined. Missing '$1' program on target board"
> +    fi
> +}
> --
> 1.8.3.1

I think this can be simplified to something like this:
I haven't tested this.

#$1 has the program that is required on the target board
# this has the side effect of defining PROGRAM_$1 (uppercased)
# with the value as the directory where $1 is found on the board.
function assert_has_program {
   upName="$(echo "$1" | tr '.' '_')"
   progVar="PROGRAM_${upName}"
   is_on_target_path $1 ${!progVAR}
   assert_define ${!progVar} "Missing '$1' program on target board"
}

Can you try this approach and let me know if it works?
  -- Tim


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Fuego] [PATCH] Add a core function: assert_has_program().
  2018-10-17 21:30   ` Tim.Bird
@ 2018-10-18  1:55     ` Wang, Mingyu
  2018-10-18  5:04       ` Tim.Bird
  0 siblings, 1 reply; 5+ messages in thread
From: Wang, Mingyu @ 2018-10-18  1:55 UTC (permalink / raw)
  To: Tim.Bird, fuego

Hi Tim

Some modifications to the code have been made as follows:

function assert_has_program {
   upName="$(echo "$1" | tr '.' '_')"
   progVar_orig="PROGRAM_${upName}"
   progVar=${progVar_orig//-/_}                                
                              ================> The export variable name cannot contain '-', so it has been
                                                                             replaced. I'm not sure if this is a good solution.
   is_on_target_path $1 ${progVar}
   assert_define ${progVar} "Missing '$1' program on target board"
}

by Wangmy

-----Original Message-----
From: Tim.Bird@sony.com [mailto:Tim.Bird@sony.com] 
Sent: Thursday, October 18, 2018 5:31 AM
To: Wang, Mingyu/王 鸣瑜 <wangmy@cn.fujitsu.com>; fuego@lists.linuxfoundation.org
Subject: RE: [Fuego] [PATCH] Add a core function: assert_has_program().

Thanks for working on this.

This was a bit more complicated of an solution that I expected.

Some feedback below...

> -----Original Message-----
> From: Wang Mingyu
> 
> This function is used to combine the code that check whether a program 
> or file exists, from 2 lines into a single function call.
> Called like so:
> assert_has_program expect
> 
> Signed-off-by: Wang Mingyu <wangmy@cn.fujitsu.com>
> ---
>  engine/scripts/functions.sh | 25 +++++++++++++++++++++++++
>  1 file changed, 25 insertions(+)
> 
> diff --git a/engine/scripts/functions.sh b/engine/scripts/functions.sh 
> index ff7b272..fe236c4 100644
> --- a/engine/scripts/functions.sh
> +++ b/engine/scripts/functions.sh
> @@ -961,3 +961,28 @@ function is_on_sdk {
>      export $2=$LOCATION
>      rm -f $tmpfile
>  }
> +
> +# check for a program or file on the target, and send message if the
> program or file is missing
> +# $1 - file, dir or program on target
It looks like what you've done is copied is_on_target, (which is OK), but it would have been better, IMHO to just re-use is_on_target_path (without copying it).

> +function assert_has_program {
> +    # FIXTHIS: race condition
> +    tmpfile=$(mktemp /tmp/found_loc.XXXXXX)
> +    cmd "touch $tmpfile"
> +    if [ -z "$PATH" ] ; then
$PATH is the path on the host, not on the board.
> +        safe_cmd "find / -name \"$1\" | head -n 1 >$tmpfile"
> +    else
> +        # split search path on colon
> +        for d in $(echo "$PATH" | tr ":" "\n") ; do
> +            # execute a command on the target to detect $d/$1
> +            cmd "if [ -z \"\$(cat $tmpfile)\" -a -e \"$d/$1\" ] ; then echo \"$d/$1\"
> >$tmpfile ; fi"
> +        done
> +    fi
> +    get $tmpfile $tmpfile
> +    varname=$(cat $tmpfile)
> +    cmd "rm $tmpfile"
> +    rm -f $tmpfile # -f for tests running on the host
> +    if [ -z "$varname" ]
> +    then
> +        abort_job "$1 is not defined. Missing '$1' program on target board"
> +    fi
> +}
> --
> 1.8.3.1

I think this can be simplified to something like this:
I haven't tested this.

#$1 has the program that is required on the target board # this has the side effect of defining PROGRAM_$1 (uppercased) # with the value as the directory where $1 is found on the board.
function assert_has_program {
   upName="$(echo "$1" | tr '.' '_')"
   progVar="PROGRAM_${upName}"
   is_on_target_path $1 ${!progVAR}
   assert_define ${!progVar} "Missing '$1' program on target board"
}

Can you try this approach and let me know if it works?
  -- Tim






^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Fuego] [PATCH] Add a core function: assert_has_program().
  2018-10-18  1:55     ` Wang, Mingyu
@ 2018-10-18  5:04       ` Tim.Bird
  0 siblings, 0 replies; 5+ messages in thread
From: Tim.Bird @ 2018-10-18  5:04 UTC (permalink / raw)
  To: wangmy, fuego



> -----Original Message-----
> From: Wang, Mingyu 
> 
> Hi Tim
> 
> Some modifications to the code have been made as follows:
> 
> function assert_has_program {
>    upName="$(echo "$1" | tr '.' '_')"
>    progVar_orig="PROGRAM_${upName}"
>    progVar=${progVar_orig//-/_}
>                               ================> The export variable name cannot
> contain '-', so it has been
>                                                                              replaced. I'm not sure if this is a good
> solution.

Looks good to me.  This shell substitution looks
more efficient than the 'echo | tr' that I used, so we
should use it there also:
upName=${1//./_}

>    is_on_target_path $1 ${progVar}
>    assert_define ${progVar} "Missing '$1' program on target board"
> }

Nice catch on the variables here.  They shouldn't have been ${!progVar},
but ${progVar} as you have them.

Can you re-submit the patch with the changes?

Thanks,
 -- Tim

 
> by Wangmy
> 
> -----Original Message-----
> From: Tim.Bird@sony.com [mailto:Tim.Bird@sony.com]
> Sent: Thursday, October 18, 2018 5:31 AM
> To: Wang, Mingyu/王 鸣瑜 <wangmy@cn.fujitsu.com>;
> fuego@lists.linuxfoundation.org
> Subject: RE: [Fuego] [PATCH] Add a core function: assert_has_program().
> 
> Thanks for working on this.
> 
> This was a bit more complicated of an solution that I expected.
> 
> Some feedback below...
> 
> > -----Original Message-----
> > From: Wang Mingyu
> >
> > This function is used to combine the code that check whether a program
> > or file exists, from 2 lines into a single function call.
> > Called like so:
> > assert_has_program expect
> >
> > Signed-off-by: Wang Mingyu <wangmy@cn.fujitsu.com>
> > ---
> >  engine/scripts/functions.sh | 25 +++++++++++++++++++++++++
> >  1 file changed, 25 insertions(+)
> >
> > diff --git a/engine/scripts/functions.sh b/engine/scripts/functions.sh
> > index ff7b272..fe236c4 100644
> > --- a/engine/scripts/functions.sh
> > +++ b/engine/scripts/functions.sh
> > @@ -961,3 +961,28 @@ function is_on_sdk {
> >      export $2=$LOCATION
> >      rm -f $tmpfile
> >  }
> > +
> > +# check for a program or file on the target, and send message if the
> > program or file is missing
> > +# $1 - file, dir or program on target
> It looks like what you've done is copied is_on_target, (which is OK), but it
> would have been better, IMHO to just re-use is_on_target_path (without
> copying it).
> 
> > +function assert_has_program {
> > +    # FIXTHIS: race condition
> > +    tmpfile=$(mktemp /tmp/found_loc.XXXXXX)
> > +    cmd "touch $tmpfile"
> > +    if [ -z "$PATH" ] ; then
> $PATH is the path on the host, not on the board.
> > +        safe_cmd "find / -name \"$1\" | head -n 1 >$tmpfile"
> > +    else
> > +        # split search path on colon
> > +        for d in $(echo "$PATH" | tr ":" "\n") ; do
> > +            # execute a command on the target to detect $d/$1
> > +            cmd "if [ -z \"\$(cat $tmpfile)\" -a -e \"$d/$1\" ] ; then echo
> \"$d/$1\"
> > >$tmpfile ; fi"
> > +        done
> > +    fi
> > +    get $tmpfile $tmpfile
> > +    varname=$(cat $tmpfile)
> > +    cmd "rm $tmpfile"
> > +    rm -f $tmpfile # -f for tests running on the host
> > +    if [ -z "$varname" ]
> > +    then
> > +        abort_job "$1 is not defined. Missing '$1' program on target board"
> > +    fi
> > +}
> > --
> > 1.8.3.1
> 
> I think this can be simplified to something like this:
> I haven't tested this.
> 
> #$1 has the program that is required on the target board # this has the side
> effect of defining PROGRAM_$1 (uppercased) # with the value as the
> directory where $1 is found on the board.
> function assert_has_program {
>    upName="$(echo "$1" | tr '.' '_')"
>    progVar="PROGRAM_${upName}"
>    is_on_target_path $1 ${!progVAR}
>    assert_define ${!progVar} "Missing '$1' program on target board"
> }
> 
> Can you try this approach and let me know if it works?
>   -- Tim
> 
> 
> 
> 


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2018-10-18  5:04 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-10-16  7:16 [Fuego] [PATCH] bind: bugfix for tests of service named Wang Mingyu
2018-10-16  7:16 ` [Fuego] [PATCH] Add a core function: assert_has_program() Wang Mingyu
2018-10-17 21:30   ` Tim.Bird
2018-10-18  1:55     ` Wang, Mingyu
2018-10-18  5:04       ` Tim.Bird

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.