From 6ffc0089c9bec48d3e7e4d9320eb599d02a5211d Mon Sep 17 00:00:00 2001
From: Laura Nao <laura.nao@collabora.com>
Date: Fri, 29 Sep 2023 14:36:12 +0200
Subject: [PATCH] network: add more domains and update test logic

Add more domains to the network test. Pass the test if at least one
domain is reached correctly, raise an exception otherwise.

Signed-off-by: Laura Nao <laura.nao@collabora.com>
---
 network/network.sh   | 44 ++++++++++++++++++++++++++++++++++++++++++++
 network/network.yaml |  3 +--
 2 files changed, 45 insertions(+), 2 deletions(-)
 create mode 100755 network/network.sh

diff --git a/network/network.sh b/network/network.sh
new file mode 100755
index 0000000..bbd27ee
--- /dev/null
+++ b/network/network.sh
@@ -0,0 +1,44 @@
+#!/bin/sh
+
+set -e
+
+if [ "$LAVA" = "y" ]; then
+    alias test-result='lava-test-case'
+    alias test-exception='lava-test-raise'
+else
+    alias test-result='echo'
+    alias test-exception='echo'
+fi
+
+if ! command -v nc >/dev/null; then
+    echo "nc could not be found"
+    exit 1
+fi
+
+set -- "google.com" \
+    "kernel.org" \
+    "deb.debian.org" \
+    "gitlab.collabora.com" \
+    "gitlab.freedesktop.org" \
+    "images.apertis.org"
+
+count=0
+for domain in "$@"; do
+    if nc -vz -w 1 "$domain" 443; then
+        res=pass
+        count=$((count + 1))
+    else
+        res=fail
+    fi
+    test-result $domain --result "$res"
+done
+
+if [ "$count" -gt 0 ]; then
+    test-result network-test --result pass --measurement "$count" --units domains
+else
+    test-result network-test --result fail --measurement "$count" --units domains
+    test-exception "Network not able to connect; job exit"
+    exit 1
+fi
+
+exit 0
diff --git a/network/network.yaml b/network/network.yaml
index 694eff4..e14e035 100644
--- a/network/network.yaml
+++ b/network/network.yaml
@@ -5,5 +5,4 @@ metadata:
 
 run:
     steps:
-        - lava-test-case network-test-google --shell 'nc -vz -w 1 google.com 443 || lava-test-raise "Network not able to connect; job exit"'
-        - lava-test-case network-test-kernelorg --shell 'nc -vz -w 1 kernel.org 443 || lava-test-raise "Network not able to connect; job exit"'
\ No newline at end of file
+        - LAVA=y /bin/sh network/network.sh
\ No newline at end of file
-- 
GitLab