summaryrefslogtreecommitdiff
path: root/util/presubmit_check.sh
diff options
context:
space:
mode:
Diffstat (limited to 'util/presubmit_check.sh')
-rwxr-xr-xutil/presubmit_check.sh43
1 files changed, 29 insertions, 14 deletions
diff --git a/util/presubmit_check.sh b/util/presubmit_check.sh
index 0ba4776473..b11c8dec47 100755
--- a/util/presubmit_check.sh
+++ b/util/presubmit_check.sh
@@ -9,10 +9,18 @@ if [[ ! -e .tests-passed ]]; then
exit 1
fi
+# Directories that need to be tested by separate unit tests.
+unittest_dirs="util/ec3po/ extra/stack_analyzer/"
+
changed=$(find ${PRESUBMIT_FILES} -newer .tests-passed)
-ec3po_files=$(echo "${PRESUBMIT_FILES}" | grep util/ec3po/)
-# Filter out ec3po files from changed files.
-changed=$(echo "${changed}" | grep -v util/ec3po/)
+# Filter out unittest_dirs files from changed files. They're handled separately.
+for dir in $unittest_dirs; do
+ changed=$(echo "${changed}" | grep -v "${dir}")
+done
+# Filter out flash_ec since it's not part of any unit tests.
+changed=$(echo "${changed}" | grep -v util/flash_ec)
+# Filter out this file itself.
+changed=$(echo "${changed}" | grep -v util/presubmit_check.sh)
if [[ -n "${changed}" ]]; then
echo "Files have changed since last time unit tests passed:"
echo "${changed}" | sed -e 's/^/ /'
@@ -20,15 +28,22 @@ if [[ -n "${changed}" ]]; then
exit 1
fi
-if [[ ! -e util/ec3po/.tests-passed ]] && [[ -n "${ec3po_files}" ]]; then
- echo 'Unit tests have not passed. Please run "util/ec3po/run_tests.sh".'
- exit 1
-fi
+for dir in $unittest_dirs; do
+ dir_files=$(echo "${PRESUBMIT_FILES}" | grep "${dir}")
+ if [[ -z "${dir_files}" ]]; then
+ continue
+ fi
-changed_ec3po_files=$(find ${ec3po_files} -newer util/ec3po/.tests-passed)
-if [[ -n "${changed_ec3po_files}" ]] && [[ -n "${ec3po_files}" ]]; then
- echo "Files have changed since last time EC-3PO unit tests passed:"
- echo "${changed_ec3po_files}" | sed -e 's/^/ /'
- echo 'Please run "util/ec3po/run_tests.sh".'
- exit 1
-fi
+ if [[ ! -e "${dir}/.tests-passed" ]]; then
+ echo "Unit tests have not passed. Please run \"${dir}run_tests.sh\"."
+ exit 1
+ fi
+
+ changed_files=$(find ${dir_files} -newer "${dir}/.tests-passed")
+ if [[ -n "${changed_files}" ]] && [[ -n "${dir_files}" ]]; then
+ echo "Files have changed since last time unit tests passed:"
+ echo "${changed_files}" | sed -e 's/^/ /'
+ echo "Please run \"${dir}run_tests.sh\"."
+ exit 1
+ fi
+done