brintos

brintos / linux-shallow public Read only

0
0
Text · 2.1 KiB · 1fedfd8 Raw
80 lines · bash
1#!/bin/bash2 3# SPDX-License-Identifier: GPL-2.04 5#6#	test_invalid_options of perf_probe test7#	Author: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>8#	Author: Michael Petlan <mpetlan@redhat.com>9#10#	Description:11#12#		This test checks whether the invalid and incompatible options are reported13#14 15# include working environment16. ../common/init.sh17 18TEST_RESULT=019 20if ! check_kprobes_available; then21	print_overall_skipped22	exit 023fi24 25 26### missing argument27 28# some options require an argument29for opt in '-a' '-d' '-L' '-V'; do30	! $CMD_PERF probe $opt 2> $LOGS_DIR/invalid_options_missing_argument$opt.err31	PERF_EXIT_CODE=$?32 33	../common/check_all_patterns_found.pl "Error: switch .* requires a value" < $LOGS_DIR/invalid_options_missing_argument$opt.err34	CHECK_EXIT_CODE=$?35 36	print_results $PERF_EXIT_CODE $CHECK_EXIT_CODE "missing argument for $opt"37	(( TEST_RESULT += $? ))38done39 40 41### unnecessary argument42 43# some options may omit the argument44for opt in '-F' '-l'; do45	$CMD_PERF probe -F > /dev/null 2> $LOGS_DIR/invalid_options_unnecessary_argument$opt.err46	PERF_EXIT_CODE=$?47 48	test ! -s $LOGS_DIR/invalid_options_unnecessary_argument$opt.err49	CHECK_EXIT_CODE=$?50 51	print_results $PERF_EXIT_CODE $CHECK_EXIT_CODE "unnecessary argument for $opt"52	(( TEST_RESULT += $? ))53done54 55 56### mutually exclusive options57 58# some options are mutually exclusive59test -e $LOGS_DIR/invalid_options_mutually_exclusive.log && rm -f $LOGS_DIR/invalid_options_mutually_exclusive.log60for opt in '-a xxx -d xxx' '-a xxx -L foo' '-a xxx -V foo' '-a xxx -l' '-a xxx -F' \61		'-d xxx -L foo' '-d xxx -V foo' '-d xxx -l' '-d xxx -F' \62		'-L foo -V bar' '-L foo -l' '-L foo -F' '-V foo -l' '-V foo -F' '-l -F'; do63	! $CMD_PERF probe $opt > /dev/null 2> $LOGS_DIR/aux.log64	PERF_EXIT_CODE=$?65 66	../common/check_all_patterns_found.pl "Error: switch .+ cannot be used with switch .+" < $LOGS_DIR/aux.log67	CHECK_EXIT_CODE=$?68 69	print_results $PERF_EXIT_CODE $CHECK_EXIT_CODE "mutually exclusive options :: $opt"70	(( TEST_RESULT += $? ))71 72	# gather the logs73	cat $LOGS_DIR/aux.log | grep "Error" >> $LOGS_DIR/invalid_options_mutually_exclusive.log74done75 76 77# print overall results78print_overall_results "$TEST_RESULT"79exit $?80