X-Git-Url: http://git.ieval.ro/?a=blobdiff_plain;ds=sidebyside;f=libseccomp%2Ftests%2Ftestgen;fp=libseccomp%2Ftests%2Ftestgen;h=0000000000000000000000000000000000000000;hb=a7f80a138de41255578bc28d034438a295ecbb2e;hp=5a940e86cf26b2cf2fe21bfa0f94b645580709db;hpb=a8d04cb21e9ce2cfa37d893162df3e4943d9e480;p=linux-seccomp.git diff --git a/libseccomp/tests/testgen b/libseccomp/tests/testgen deleted file mode 100755 index 5a940e8..0000000 --- a/libseccomp/tests/testgen +++ /dev/null @@ -1,207 +0,0 @@ -#!/bin/bash - -# -# libseccomp test output generator -# -# Copyright (c) 2013 Red Hat -# Author: Paul Moore -# - -# -# This library is free software; you can redistribute it and/or modify it -# under the terms of version 2.1 of the GNU Lesser General Public License as -# published by the Free Software Foundation. -# -# This library is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License -# for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this library; if not, see . -# - -#### -# functions - -# -# Dependency verification -# -# Arguments: -# 1 Dependency to check for -# -function verify_deps() { - [[ -z "$1" ]] && return - if ! which "$1" >& /dev/null; then - echo "error: install \"$1\" and include it in your \$PATH" - exit 1 - fi -} - -# -# Print out script usage details -# -function usage() { -cat << EOF -usage: regression [-h] [-d] [-l LABEL] - -libseccomp test output generator script -optional arguments: - -h show this help message and exit - -b generate BPF output - -d generate disassembled BPF output - -p generate PFC output - -v perform valgrind checks - -l [LABEL] specifies label for the test output -EOF -} - -# -# Print the test result -# -# Arguments: -# 1 string containing generated test number -# 2 string containing the test result -# -function print_result() { - printf "Test %s result: %s\n" "$1" "$2" -} - -# -# Run the tests -# -# Arguments: -# 1 string containing output label -# -function run_tests() { - local batch_name - local label - local rc - - if [[ -n $1 ]]; then - label=".$1" - else - label="" - fi - - for file in *-sim-*.tests; do - # extract the batch name from the file name - batch_name=$(basename $file .tests) - - if [[ -x "$batch_name" ]]; then - if [[ $opt_pfc -eq 1 ]]; then - ./$batch_name > ${batch_name}${label}.pfc - rc=$? - stats_all=$(($stats_all + 1)) - if [[ $rc -eq 0 ]]; then - print_result "$batch_name [pfc]" "SUCCESS" - else - stats_failure=$(($stats_failure + 1)) - print_result "$batch_name [pfc]" "FAILURE" - fi - fi - - if [[ $opt_bpf -eq 1 ]]; then - ./$batch_name -b > ${batch_name}${label}.bpf - rc=$? - stats_all=$(($stats_all + 1)) - if [[ $rc -eq 0 ]]; then - print_result "$batch_name [bpf]" "SUCCESS" - else - stats_failure=$(($stats_failure + 1)) - print_result "$batch_name [bpf]" "FAILURE" - fi - fi - - if [[ $opt_disasm -eq 1 ]]; then - ./$batch_name -b | \ - ../tools/scmp_bpf_disasm > ${batch_name}${label}.bpfd - rc=$? - stats_all=$(($stats_all + 1)) - if [[ $rc -eq 0 ]]; then - print_result "$batch_name [bpfd]" "SUCCESS" - else - stats_failure=$(($stats_failure + 1)) - print_result "$batch_name [bpfd]" "FAILURE" - fi - fi - - if [[ $opt_valgrind -eq 1 ]]; then - valgrind --tool=memcheck \ - --quiet --error-exitcode=1 \ - --leak-check=full \ - --read-var-info=yes \ - --track-origins=yes \ - --suppressions=valgrind_test.supp \ - -- ./$batch_name -b > /dev/null - rc=$? - stats_all=$(($stats_all + 1)) - if [[ $rc -eq 0 ]]; then - print_result "$batch_name [valgrind]" "SUCCESS" - else - stats_failure=$(($stats_failure + 1)) - print_result "$batch_name [valgrind]" "FAILURE" - fi - fi - else - stats_failure=$(($stats_failure + 1)) - print_result "$batch_name" "FAILURE" - fi - done - - return -} - -#### -# main - -opt_label= -opt_bpf=0 -opt_disasm=0 -opt_pfc=0 -opt_valgrind=0 - -while getopts "bphdl:v" opt; do - case $opt in - b) - opt_bpf=1 - ;; - d) - opt_disasm=1 - ;; - l) - opt_label="$OPTARG" - ;; - p) - opt_pfc=1 - ;; - v) - opt_valgrind=1 - ;; - h|*) - usage - exit 1 - ;; - esac -done - -# verify valgrind -[[ $opt_valgrind -eq 1 ]] && verify_deps valgrind - -stats_all=0 -stats_failure=0 - -# display the test output and run the requested tests -echo "=============== $(date) ===============" -echo "Collecting Test Output (\"testgen $*\")" -run_tests "$opt_label" -echo "Test Summary" -echo " tests run: $stats_all" -echo " tests failed: $stats_failure" -echo "============================================================" - -# cleanup and exit -rc=0 -[[ $stats_failure -gt 0 ]] && rc=$(($rc + 2)) - -exit $rc