[OS-BUILD PATCHv6 5/8] [redhat] Makefile, self-test/1005-dist-dump-variables.bats

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

 



From: Ben Crocker <bcrocker@xxxxxxxxxx>

Makefile:

Create new dist-self-test target and hook up the BATS
self tests.  Check for the presence of /usr/bin/bats
(via 'test -x') and complain if it is not installed.

1005-dist-dump-variables.bats:

In prologue, need to unset environment variables that may
have been inherited from a supra-make.

Collect the actual testing code into a new checkversion() function;
add line breaks and indentation in both prologue() and checkversion()
for better readability.

Signed-off-by: Ben Crocker <bcrocker@xxxxxxxxxx>
---
 redhat/Makefile                               |  7 ++++
 .../self-test/1005-dist-dump-variables.bats   | 41 ++++++++++---------
 2 files changed, 29 insertions(+), 19 deletions(-)

diff --git a/redhat/Makefile b/redhat/Makefile
index fd10ac8f145d..84950bf876af 100644
--- a/redhat/Makefile
+++ b/redhat/Makefile
@@ -392,6 +392,13 @@ dist-dump-variables:
 	chmod +x $(REDHAT)/dist-dump-variables.sh
 	@$(REDHAT)/dist-dump-variables.sh
 
+dist-self-test:
+	@if test -x /usr/bin/bats; then \
+		bats $(REDHAT)/self-test/*.bats ; \
+	else \
+		echo "dist-self-test: The bats package is not installed" ; \
+	fi
+
 dist-help:
 	@echo  'Cleaning targets:'
 	@echo  '  dist-clean          - Clean redhat/configs/ and redhat/rpm/ directories.'
diff --git a/redhat/self-test/1005-dist-dump-variables.bats b/redhat/self-test/1005-dist-dump-variables.bats
index bff950e6643a..9251ca4636d5 100644
--- a/redhat/self-test/1005-dist-dump-variables.bats
+++ b/redhat/self-test/1005-dist-dump-variables.bats
@@ -4,49 +4,52 @@ function prologue()
 {
     tag=$1
     ofile=$BATS_TMPDIR/$tag.out
+    # Have to unset environment variables that may be inherited from supra-make:
+    grep "^[ 	]*[a-zA-Z_][a-zA-Z_0-9]*[ 	]*[:?]*=" \
+         $BATS_TEST_DIRNAME/../Makefile.common | \
+        sed -e 's/[ 	]*\([a-zA-Z_][a-zA-Z_0-9]*\).*/unset \1/' | \
+        sort | uniq > $BATS_TMPDIR/unset-vars.sh
+    source $BATS_TMPDIR/unset-vars.sh
     GIT=$BATS_TEST_DIRNAME/egit.sh HEAD=$tag EGIT_OVERRIDE_DESCRIBE=$tag DIST=.fc33 make dist-dump-variables > $ofile
 }
 
-@test "dist-dump-variables v5.8" {
-    tag=v5.8
-    prologue $tag
+function checkversion()
+{
     status=1
-    if grep -x "_TAG=$tag" $ofile && grep -x "RPMKVERSION=5" $ofile && grep -x "RPMKPATCHLEVEL=8" $ofile && grep -x "RPMKSUBLEVEL=0" $ofile && grep -x "RPMKEXTRAVERSION=" $ofile && grep -x "KEXTRAVERSION=" $ofile && grep -x "SNAPSHOT=0" $ofile
+    if grep -x "_TAG=$1" $ofile && \
+            grep -x "RPMKVERSION=$2" $ofile && grep -x "RPMKPATCHLEVEL=$3" $ofile && \
+            grep -x "RPMKSUBLEVEL=$4" $ofile && grep -x "RPMKEXTRAVERSION=$5" $ofile && \
+            grep -x "KEXTRAVERSION=$6" $ofile && \
+            grep -x "SNAPSHOT=$7" $ofile
     then
         status=$?
     fi
+}
+
+@test "dist-dump-variables v5.8" {
+    tag=v5.8
+    prologue $tag
+    checkversion $tag "5" "8" "0" "" "" "0"
     [ "$status" = 0 ]
 }
 
 @test "dist-dump-variables v5.8-rc7" {
     tag=v5.8-rc7
     prologue $tag
-    status=1
-    if grep -x "_TAG=$tag" $ofile && grep -x "RPMKVERSION=5" $ofile && grep -x "RPMKPATCHLEVEL=8" $ofile && grep -x "RPMKSUBLEVEL=0" $ofile && grep -x "RPMKEXTRAVERSION=-rc7" $ofile && grep -x "KEXTRAVERSION=.rc7" $ofile && grep -x "SNAPSHOT=0" $ofile
-    then
-        status=$?
-    fi
+    checkversion $tag "5" "8" "0" "-rc7" ".rc7" "0"
     [ "$status" = 0 ]
 }
 
 @test "dist-dump-variables v5.8-9-g565674d613d7" {
     tag=v5.8-9-g565674d613d7
     prologue $tag
-    status=1
-    if grep -x "_TAG=$tag" $ofile && grep -x "RPMKVERSION=5" $ofile && grep -x "RPMKPATCHLEVEL=9" $ofile && grep -x "RPMKSUBLEVEL=0" $ofile && grep -x "RPMKEXTRAVERSION=" $ofile && grep -x "KEXTRAVERSION=.rc0" $ofile && grep -x "SNAPSHOT=1" $ofile
-    then
-        status=$?
-    fi
+    checkversion $tag "5" "9" "0" "" ".rc0" "1"
     [ "$status" = 0 ]
 }
 
 @test "dist-dump-variables v5.8-rc5-99-g25ccd24ffd91" {
     tag=v5.8-rc5-99-g25ccd24ffd91
     prologue $tag
-    status=1
-    if grep -x "_TAG=$tag" $ofile && grep -x "RPMKVERSION=5" $ofile && grep -x "RPMKPATCHLEVEL=8" $ofile && grep -x "RPMKSUBLEVEL=0" $ofile && grep -x "RPMKEXTRAVERSION=-rc5" $ofile && grep -x "KEXTRAVERSION=.rc5" $ofile && grep -x "SNAPSHOT=1" $ofile
-    then
-        status=$?
-    fi
+    checkversion $tag "5" "8" "0" "-rc5" ".rc5" "1"
     [ "$status" = 0 ]
 }
-- 
GitLab
_______________________________________________
kernel mailing list -- kernel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to kernel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/kernel@xxxxxxxxxxxxxxxxxxxxxxx




[Index of Archives]     [Fedora General Discussion]     [Older Fedora Users Archive]     [Fedora Advisory Board]     [Fedora Security]     [Fedora Devel Java]     [Fedora Legacy]     [Fedora Desktop]     [ATA RAID]     [Fedora Marketing]     [Fedora Mentors]     [Fedora Package Announce]     [Fedora Package Review]     [Fedora Music]     [Fedora Packaging]     [Centos]     [Fedora SELinux]     [Coolkey]     [Yum Users]     [Tux]     [Yosemite News]     [KDE Users]     [Fedora Art]     [Fedora Docs]     [USB]     [Asterisk PBX]

  Powered by Linux