gnuboot-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH v1 18/18] website-build: check.sh: start adding tests for site/.


From: Denis 'GNUtoo' Carikli
Subject: [PATCH v1 18/18] website-build: check.sh: start adding tests for site/.
Date: Sat, 25 May 2024 20:25:53 +0200

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
---
 website-build/Makefile.am | 17 ++++++++++--
 website-build/check.sh    | 58 +++++++++++++++++++++++++++++++++------
 2 files changed, 63 insertions(+), 12 deletions(-)

diff --git a/website-build/Makefile.am b/website-build/Makefile.am
index 51879e2..62a001a 100644
--- a/website-build/Makefile.am
+++ b/website-build/Makefile.am
@@ -49,21 +49,32 @@ build:
 endif
 
 if WANT_GUIX
-check: website.tar.gz
+check: build website.tar.gz
+       rm -rf site/
+       mkdir -p site/software/gnuboot/
+       tar xf website.tar.gz -C site/software/gnuboot/
+
        guix shell \
                --container \
                --network \
                --emulate-fhs \
                bash \
                coreutils \
+               findutils \
                grep \
                gzip \
+               sed \
                tar \
                -- \
+               ./check.sh --directory site && \
                ./check.sh --tarball website.tar.gz
 else
-check: website.tar.gz
-               ./check.sh --tarball website.tar.gz
+check: build website.tar.gz
+       rm -rf site/
+       mkdir -p site/software/gnuboot/
+       tar xf website.tar.gz -C site/software/gnuboot/
+       ./check.sh --directory site
+       ./check.sh --tarball website.tar.gz
 endif
 
 help:
diff --git a/website-build/check.sh b/website-build/check.sh
index 363dd43..c0fb90a 100755
--- a/website-build/check.sh
+++ b/website-build/check.sh
@@ -23,16 +23,36 @@ usage()
 {
        progname="$1"
 
-       echo "Usage: ${progname} [options]"
+       echo "Usage: ${progname} <option [ARGUMENT]>"
        echo ""
        echo "Available options:"
        echo -e "\t-h, --help"
        echo -e "\t\tDisplay this help and exit."
+       echo -e "\t-d, --directory DIRECTORY"
+       echo -e "\t\tCheck DIRECTORY"
        echo -e "\t-t, --tarball TARBALL"
        echo -e "\t\tCheck TARBALL\n"
 }
 
-test_pattern()
+test_directory_pattern()
+{
+       name="$1"
+       directory="$2"
+       pattern="$3"
+
+       find "${directory}" -print0 | sed "s#^${directory}/##" | grep -q 
"${pattern}"
+
+       result=$?
+
+       if [ ${result} -eq 0 ] ; then
+               echo "[ OK ] ${name}"
+       else
+               echo "[ !! ] ${name} failed"
+               exit 1
+       fi
+}
+
+test_tarball_pattern()
 {
        name="$1"
        tarball="$2"
@@ -50,7 +70,7 @@ test_pattern()
        fi
 }
 
-test_savannah_cvs_constraints()
+test_tarball_savannah_cvs_constraints()
 {
        name="$1"
        tarball="$2"
@@ -65,13 +85,30 @@ test_savannah_cvs_constraints()
        fi
 }
 
+run_directory_tests()
+{
+       directory="$1"
+
+       directory_name="$(basename "${directory}")"
+
+       test_directory_pattern "${directory_name}: index.html present test" \
+                              "${directory}" \
+                              'software/gnuboot/index.html'
 
-run_tests()
+       test_directory_pattern "${directory_name}: html test" \
+                              "${directory}" \
+                              'software/gnuboot/web/.*\.html$'
+}
+
+run_tarball_tests()
 {
-       test_pattern "html test" "${tarball}" '\.html$'
-       test_pattern "jpg test" "${tarball}" '\.jpg$'
-       test_savannah_cvs_constraints \
-           "Savannah CVS: Only /index.html in root directory" \
+       tarball="$1"
+
+       filename="$(basename "${tarball}")"
+       test_tarball_pattern "${filename}: html test" "${tarball}" '\.html$'
+       test_tarball_pattern "${filename}: jpg test" "${tarball}" '\.jpg$'
+       test_tarball_savannah_cvs_constraints \
+           "${filename}: Savannah CVS: Only /index.html in root directory" \
            "${tarball}"
 }
 
@@ -80,9 +117,12 @@ run_tests()
 if [ $# -eq 1 ] && [ "$1" = "-h" -o "$1" == "--help" ] ; then
        usage "check.sh"
        exit 0
+elif [ $# -eq 2 ] && [ "$1" = "-d" -o "$1" = "--directory" ] ; then
+       directory="$(realpath "$2")"
+       run_directory_tests "${directory}"
 elif [ $# -eq 2 ] && [ "$1" = "-t" -o "$1" = "--tarball" ] ; then
        tarball="$(realpath "$2")"
-       run_tests "${tarball}"
+       run_tarball_tests "${tarball}"
 else
        usage "check.sh"
        exit ${EX_USAGE}
-- 
2.41.0




reply via email to

[Prev in Thread] Current Thread [Next in Thread]