Include count of shown flake8 violations 91/12591/3
authorTrevor Bramwell <tbramwell@linuxfoundation.org>
Fri, 22 Apr 2016 18:57:55 +0000 (11:57 -0700)
committerTrevor Bramwell <tbramwell@linuxfoundation.org>
Fri, 22 Apr 2016 19:07:28 +0000 (12:07 -0700)
Hopefully this reduces the confusion around how many flake8 violations
are actually present.

Change-Id: If3246627fdd18aca0a968cea0d8387038dfe7c12
Signed-off-by: Trevor Bramwell <tbramwell@linuxfoundation.org>
jjb/releng-macros.yaml

index 5701ab9..7fb4d65 100644 (file)
             # generate and upload lint log
             echo "Running flake8 code on $PROJECT ..."
 
+            # Get number of flake8 violations. If none, this will be an
+            # empty string: ""
             FLAKE_COUNT="$(find . \
                 -path './releng_flake8' -prune -o \
                 -type f -name "*.py" -print | \
                 xargs flake8 --exit-zero -qq --count 2>&1)"
-            echo -e "Flake8 Violations: $FLAKE_COUNT\n---" >> lint.log
-            # At some point this need to handle the case of finding no
-            # violations.
-            find . \
-                -path './releng_flake8' -prune -o \
-                -type f -name "*.py" -print | \
-                xargs flake8 --exit-zero --first >> lint.log
+
+            if [ ! -z $FLAKE_COUNT ]; then
+              echo "Flake8 Violations: $FLAKE_COUNT" >> lint.log
+              find . \
+                  -path './releng_flake8' -prune -o \
+                  -type f -name "*.py" -print | \
+                  xargs flake8 --exit-zero --first >> violation.log
+              SHOWN=$(wc -l violation.log | cut -d' ' -f1)
+              echo -e "First $SHOWN shown\n---" >> lint.log
+              cat violation.log >> lint.log
+              sed -r -i '4,$s/^/ /g' lint.log
+              rm violation.log
+            else
+              echo -e "Flake8 Violations: 0" > lint.log
+            fi
 
             deactivate
 
             set -o xtrace
             export PATH=$PATH:/usr/local/bin/
             if [[ -e lint.log ]] ; then
-                sed -r -i '3,$s/^/ /g' lint.log
                 echo -e "\nposting linting report to gerrit...\n"
                 cat lint.log
                 echo