diff options
Diffstat (limited to 'validation/test-suite')
| -rwxr-xr-x | validation/test-suite | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/validation/test-suite b/validation/test-suite index 6c6d34b2..04607a3e 100755 --- a/validation/test-suite +++ b/validation/test-suite @@ -79,6 +79,7 @@ get_tag_value() check_output_pattern=0 check_arch_ignore="" check_arch_only="" + check_assert="" check_cpp_if="" lines=$(grep 'check-[a-z-]*' $1 | \ @@ -103,6 +104,7 @@ get_tag_value() check_arch_ignore="$val" ;; check-arch-only:) arch=$(uname -m) check_arch_only="$val" ;; + check-assert:) check_assert="$val" ;; check-cpp-if:) check_cpp_if="$val" ;; check-description:) ;; # ignore @@ -303,6 +305,16 @@ do_test() return 3 fi fi + if [ "$check_assert" != "" ]; then + res=$(../sparse - 2>&1 >/dev/null <<- EOF + _Static_assert($check_assert, "$check_assert"); + EOF + ) + if [ "$res" != "" ]; then + disable "$test_name" "$file" + return 3 + fi + fi if [ "$check_cpp_if" != "" ]; then res=$(../sparse -E - 2>/dev/null <<- EOF #if !($check_cpp_if) |
