Björn Esser b3eaa61
From 2e59a5eac6245136ce08e282eac9997c4ca29da3 Mon Sep 17 00:00:00 2001
Björn Esser b3eaa61
From: Brian Davis <brian.davis@stopso.com>
Björn Esser b3eaa61
Date: Mon, 22 Feb 2016 10:59:54 -0500
Björn Esser b3eaa61
Subject: [PATCH] updated tests to pass on error codes from lint failures  #28
Björn Esser b3eaa61
Björn Esser b3eaa61
---
Björn Esser b3eaa61
 tests/json-checks.sh | 41 ++++++++++++++++++++++++++++-------------
Björn Esser b3eaa61
 tests/xml-checks.sh  | 41 ++++++++++++++++++++++++++++-------------
Björn Esser b3eaa61
 2 files changed, 56 insertions(+), 26 deletions(-)
Björn Esser b3eaa61
Björn Esser b3eaa61
diff --git a/tests/json-checks.sh b/tests/json-checks.sh
Björn Esser b3eaa61
index 8acd07f..05aecc1 100755
Björn Esser b3eaa61
--- a/tests/json-checks.sh
Björn Esser b3eaa61
+++ b/tests/json-checks.sh
Björn Esser b3eaa61
@@ -4,54 +4,69 @@
Björn Esser b3eaa61
 echo "starting proc-all check - json"
Björn Esser b3eaa61
 ../checksec --format json --proc-all > output.json
Björn Esser b3eaa61
 jsonlint output.json > /dev/null
Björn Esser b3eaa61
-if [ $? != 0 ]; then
Björn Esser b3eaa61
+RET=$?
Björn Esser b3eaa61
+if [ $RET != 0 ]; then
Björn Esser b3eaa61
  echo "proc-all json validation failed"
Björn Esser b3eaa61
- exit
Björn Esser b3eaa61
+ exit $RET
Björn Esser b3eaa61
 fi
Björn Esser b3eaa61
 
Björn Esser b3eaa61
 #check json for kernel
Björn Esser b3eaa61
 echo "starting kernel check - json"
Björn Esser b3eaa61
 ../checksec --format json --kernel > output.json
Björn Esser b3eaa61
 jsonlint  output.json > /dev/null
Björn Esser b3eaa61
-if [ $? != 0 ]; then
Björn Esser b3eaa61
+RET=$?
Björn Esser b3eaa61
+if [ $RET != 0 ]; then
Björn Esser b3eaa61
  echo "kernel json validation failed"
Björn Esser b3eaa61
- exit
Björn Esser b3eaa61
+ exit $RET
Björn Esser b3eaa61
 fi
Björn Esser b3eaa61
 
Björn Esser b3eaa61
 #check json against custom kernel config to trigger all checks
Björn Esser b3eaa61
 echo "starting custom kernel check - json"
Björn Esser b3eaa61
 ../checksec --format json --kernel kernel.config > output.json
Björn Esser b3eaa61
 jsonlint  output.json > /dev/null
Björn Esser b3eaa61
-if [ $? != 0 ]; then
Björn Esser b3eaa61
+RET=$?
Björn Esser b3eaa61
+if [ $RET != 0 ]; then
Björn Esser b3eaa61
  echo "custom kernel json validation failed"
Björn Esser b3eaa61
- exit
Björn Esser b3eaa61
+ exit $RET
Björn Esser b3eaa61
 fi
Björn Esser b3eaa61
 
Björn Esser b3eaa61
 #check json for file
Björn Esser b3eaa61
 echo "starting file check - json"
Björn Esser b3eaa61
 ../checksec --format json --file /bin/ls > output.json
Björn Esser b3eaa61
 jsonlint  output.json > /dev/null
Björn Esser b3eaa61
-if [ $? != 0 ]; then
Björn Esser b3eaa61
+RET=$?
Björn Esser b3eaa61
+if [ $RET != 0 ]; then
Björn Esser b3eaa61
  echo "file json validation failed"
Björn Esser b3eaa61
- exit
Björn Esser b3eaa61
+ exit $RET
Björn Esser b3eaa61
 fi
Björn Esser b3eaa61
 
Björn Esser b3eaa61
 #check json for fortify file
Björn Esser b3eaa61
 echo "starting fortify-file check - json"
Björn Esser b3eaa61
+if [ -f /bin/ls ]; then 
Björn Esser b3eaa61
 ../checksec --format json --fortify-file /bin/ls > output.json
Björn Esser b3eaa61
-jsonlint  output.json > /dev/null
Björn Esser b3eaa61
-if [ $? != 0 ]; then
Björn Esser b3eaa61
+elif [ -f /bin/bash ]; then
Björn Esser b3eaa61
+../checksec --format json --fortify-file /bin/bash > output.json
Björn Esser b3eaa61
+elif [ -f /bin/sh ]; then
Björn Esser b3eaa61
+../checksec --format json --fortify-file /bin/sh > output.json
Björn Esser b3eaa61
+else
Björn Esser b3eaa61
+ echo "could not find valid file to test"
Björn Esser b3eaa61
+ exit 255
Björn Esser b3eaa61
+fi
Björn Esser b3eaa61
+jsonlint output.json > /dev/null
Björn Esser b3eaa61
+RET=$?
Björn Esser b3eaa61
+if [ $RET != 0 ]; then
Björn Esser b3eaa61
  echo "fortify-file json validation failed"
Björn Esser b3eaa61
- exit
Björn Esser b3eaa61
+ exit $RET
Björn Esser b3eaa61
 fi
Björn Esser b3eaa61
  
Björn Esser b3eaa61
 #check json for dir 
Björn Esser b3eaa61
 echo "starting dir check - json"
Björn Esser b3eaa61
 ../checksec --format json --dir /sbin > output.json
Björn Esser b3eaa61
 jsonlint  output.json > /dev/null
Björn Esser b3eaa61
-if [ $? != 0 ]; then
Björn Esser b3eaa61
+RET=$?
Björn Esser b3eaa61
+if [ $RET != 0 ]; then
Björn Esser b3eaa61
  echo "dir json validation failed"
Björn Esser b3eaa61
- exit
Björn Esser b3eaa61
+ exit $RET
Björn Esser b3eaa61
 fi
Björn Esser b3eaa61
 
Björn Esser b3eaa61
 
Björn Esser b3eaa61
diff --git a/tests/xml-checks.sh b/tests/xml-checks.sh
Björn Esser b3eaa61
index de48e67..c165085 100755
Björn Esser b3eaa61
--- a/tests/xml-checks.sh
Björn Esser b3eaa61
+++ b/tests/xml-checks.sh
Björn Esser b3eaa61
@@ -4,54 +4,69 @@
Björn Esser b3eaa61
 echo "starting proc-all check - xml"
Björn Esser b3eaa61
 ../checksec --format xml --proc-all > output.xml
Björn Esser b3eaa61
 xmllint --noout output.xml
Björn Esser b3eaa61
-if [ $? != 0 ]; then
Björn Esser b3eaa61
+RET=$?
Björn Esser b3eaa61
+if [ $RET != 0 ]; then
Björn Esser b3eaa61
  echo "proc-all xml validation failed"
Björn Esser b3eaa61
- exit
Björn Esser b3eaa61
+ exit $RET
Björn Esser b3eaa61
 fi
Björn Esser b3eaa61
 
Björn Esser b3eaa61
 #check xml for kernel
Björn Esser b3eaa61
 echo "starting kernel check - xml"
Björn Esser b3eaa61
 ../checksec --format xml --kernel > output.xml
Björn Esser b3eaa61
 xmllint --noout output.xml
Björn Esser b3eaa61
-if [ $? != 0 ]; then
Björn Esser b3eaa61
+RET=$?
Björn Esser b3eaa61
+if [ $RET != 0 ]; then
Björn Esser b3eaa61
  echo "kernel xml validation failed"
Björn Esser b3eaa61
- exit
Björn Esser b3eaa61
+ exit $RET
Björn Esser b3eaa61
 fi
Björn Esser b3eaa61
 
Björn Esser b3eaa61
 #check xml against custom kernel config to trigger all checks
Björn Esser b3eaa61
 echo "starting custom kernel check - xml"
Björn Esser b3eaa61
 ../checksec --format xml --kernel kernel.config > output.xml
Björn Esser b3eaa61
 xmllint --noout output.xml
Björn Esser b3eaa61
-if [ $? != 0 ]; then
Björn Esser b3eaa61
+RET=$?
Björn Esser b3eaa61
+if [ $RET != 0 ]; then
Björn Esser b3eaa61
  echo "custom kernel xml validation failed"
Björn Esser b3eaa61
- exit
Björn Esser b3eaa61
+ exit $RET
Björn Esser b3eaa61
 fi
Björn Esser b3eaa61
 
Björn Esser b3eaa61
 #check xml for file
Björn Esser b3eaa61
 echo "starting file check - xml"
Björn Esser b3eaa61
 ../checksec --format xml --file /bin/ls > output.xml
Björn Esser b3eaa61
 xmllint --noout output.xml
Björn Esser b3eaa61
-if [ $? != 0 ]; then
Björn Esser b3eaa61
+RET=$?
Björn Esser b3eaa61
+if [ $RET != 0 ]; then
Björn Esser b3eaa61
  echo "file xml validation failed"
Björn Esser b3eaa61
- exit
Björn Esser b3eaa61
+ exit $RET
Björn Esser b3eaa61
 fi
Björn Esser b3eaa61
 
Björn Esser b3eaa61
 #check xml for fortify file
Björn Esser b3eaa61
 echo "starting fortify-file check - xml"
Björn Esser b3eaa61
-../checksec --format xml --fortify-file /bin/ls > output.xml
Björn Esser b3eaa61
+if [ -f /bin/ls ]; then 
Björn Esser b3eaa61
+../checksec --format xml --fortify-file /bin/ls > output.json
Björn Esser b3eaa61
+elif [ -f /bin/bash ]; then
Björn Esser b3eaa61
+../checksec --format xml --fortify-file /bin/bash > output.json
Björn Esser b3eaa61
+elif [ -f /bin/sh ]; then
Björn Esser b3eaa61
+../checksec --format xml --fortify-file /bin/sh > output.json
Björn Esser b3eaa61
+else
Björn Esser b3eaa61
+ echo "could not find valid file to test"
Björn Esser b3eaa61
+ exit 255
Björn Esser b3eaa61
+fi
Björn Esser b3eaa61
 xmllint --noout output.xml
Björn Esser b3eaa61
-if [ $? != 0 ]; then
Björn Esser b3eaa61
+RET=$?
Björn Esser b3eaa61
+if [ $RET != 0 ]; then
Björn Esser b3eaa61
  echo "fortify-file xml validation failed"
Björn Esser b3eaa61
- exit
Björn Esser b3eaa61
+ exit $RET
Björn Esser b3eaa61
 fi
Björn Esser b3eaa61
  
Björn Esser b3eaa61
 #check xml for dir 
Björn Esser b3eaa61
 echo "starting dir check - xml"
Björn Esser b3eaa61
 ../checksec --format xml --dir /sbin > output.xml
Björn Esser b3eaa61
 xmllint --noout output.xml
Björn Esser b3eaa61
-if [ $? != 0 ]; then
Björn Esser b3eaa61
+RET=$?
Björn Esser b3eaa61
+if [ $RET != 0 ]; then
Björn Esser b3eaa61
  echo "dir xml validation failed"
Björn Esser b3eaa61
- exit
Björn Esser b3eaa61
+ exit $RET
Björn Esser b3eaa61
 fi
Björn Esser b3eaa61
 
Björn Esser b3eaa61