1335290Sasomers# 2335290Sasomers# Copyright (c) 2018 Aniket Pandey 3335290Sasomers# 4335290Sasomers# Redistribution and use in source and binary forms, with or without 5335290Sasomers# modification, are permitted provided that the following conditions 6335290Sasomers# are met: 7335290Sasomers# 1. Redistributions of source code must retain the above copyright 8335290Sasomers# notice, this list of conditions and the following disclaimer. 9335290Sasomers# 2. Redistributions in binary form must reproduce the above copyright 10335290Sasomers# notice, this list of conditions and the following disclaimer in the 11335290Sasomers# documentation and/or other materials provided with the distribution. 12335290Sasomers# 13335290Sasomers# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 14335290Sasomers# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 15335290Sasomers# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 16335290Sasomers# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 17335290Sasomers# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 18335290Sasomers# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 19335290Sasomers# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 20335290Sasomers# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 21335290Sasomers# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 22335290Sasomers# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 23335290Sasomers# SUCH DAMAGE. 24335290Sasomers# 25335290Sasomers# $FreeBSD: stable/10/usr.sbin/praudit/tests/praudit_test.sh 335290 2018-06-17 17:31:16Z asomers $ 26335290Sasomers# 27335290Sasomers 28335290Sasomers 29335290Sasomersatf_test_case praudit_delim_comma 30335290Sasomerspraudit_delim_comma_head() 31335290Sasomers{ 32335290Sasomers atf_set "descr" "Verify that comma delimiter is present with -d ',' cmd" 33335290Sasomers} 34335290Sasomers 35335290Sasomerspraudit_delim_comma_body() 36335290Sasomers{ 37335290Sasomers atf_check -o file:$(atf_get_srcdir)/del_comma \ 38335290Sasomers praudit -d "," $(atf_get_srcdir)/trail 39335290Sasomers} 40335290Sasomers 41335290Sasomers 42335290Sasomersatf_test_case praudit_delim_underscore 43335290Sasomerspraudit_delim_underscore_head() 44335290Sasomers{ 45335290Sasomers atf_set "descr" "Verify that underscore delimiter is present with -d _" 46335290Sasomers} 47335290Sasomers 48335290Sasomerspraudit_delim_underscore_body() 49335290Sasomers{ 50335290Sasomers atf_check -o file:$(atf_get_srcdir)/del_underscore \ 51335290Sasomers praudit -d "_" $(atf_get_srcdir)/trail 52335290Sasomers} 53335290Sasomers 54335290Sasomers 55335290Sasomersatf_test_case praudit_no_args 56335290Sasomerspraudit_no_args_head() 57335290Sasomers{ 58335290Sasomers atf_set "descr" "Verify that praudit outputs default form without " \ 59335290Sasomers "any arguments" 60335290Sasomers} 61335290Sasomers 62335290Sasomerspraudit_no_args_body() 63335290Sasomers{ 64335290Sasomers atf_check -o file:$(atf_get_srcdir)/no_args \ 65335290Sasomers praudit $(atf_get_srcdir)/trail 66335290Sasomers} 67335290Sasomers 68335290Sasomers 69335290Sasomersatf_test_case praudit_numeric_form 70335290Sasomerspraudit_numeric_form_head() 71335290Sasomers{ 72335290Sasomers atf_set "descr" "Verify that praudit outputs the numeric form " \ 73335290Sasomers "with -n flag" 74335290Sasomers} 75335290Sasomers 76335290Sasomerspraudit_numeric_form_body() 77335290Sasomers{ 78335290Sasomers atf_check -o file:$(atf_get_srcdir)/numeric_form \ 79335290Sasomers praudit -n $(atf_get_srcdir)/trail 80335290Sasomers} 81335290Sasomers 82335290Sasomers 83335290Sasomersatf_test_case praudit_raw_form 84335290Sasomerspraudit_raw_form_head() 85335290Sasomers{ 86335290Sasomers atf_set "descr" "Verify that praudit outputs the raw form with -r flag" 87335290Sasomers} 88335290Sasomers 89335290Sasomerspraudit_raw_form_body() 90335290Sasomers{ 91335290Sasomers atf_check -o file:$(atf_get_srcdir)/raw_form \ 92335290Sasomers praudit -r $(atf_get_srcdir)/trail 93335290Sasomers} 94335290Sasomers 95335290Sasomers 96335290Sasomersatf_test_case praudit_same_line 97335290Sasomerspraudit_same_line_head() 98335290Sasomers{ 99335290Sasomers atf_set "descr" "Verify that praudit outputs the trail in the same " \ 100335290Sasomers "line with -l flag" 101335290Sasomers} 102335290Sasomers 103335290Sasomerspraudit_same_line_body() 104335290Sasomers{ 105335290Sasomers atf_check -o file:$(atf_get_srcdir)/same_line \ 106335290Sasomers praudit -l $(atf_get_srcdir)/trail 107335290Sasomers} 108335290Sasomers 109335290Sasomers 110335290Sasomersatf_test_case praudit_short_form 111335290Sasomerspraudit_short_form_head() 112335290Sasomers{ 113335290Sasomers atf_set "descr" "Verify that praudit outputs the short form " \ 114335290Sasomers "with -s flag" 115335290Sasomers} 116335290Sasomers 117335290Sasomerspraudit_short_form_body() 118335290Sasomers{ 119335290Sasomers atf_check -o file:$(atf_get_srcdir)/short_form \ 120335290Sasomers praudit -s $(atf_get_srcdir)/trail 121335290Sasomers} 122335290Sasomers 123335290Sasomers 124335290Sasomersatf_test_case praudit_xml_form 125335290Sasomerspraudit_xml_form_head() 126335290Sasomers{ 127335290Sasomers atf_set "descr" "Verify that praudit outputs the XML file with -x flag" 128335290Sasomers} 129335290Sasomers 130335290Sasomerspraudit_xml_form_body() 131335290Sasomers{ 132335290Sasomers atf_check -o file:$(atf_get_srcdir)/xml_form \ 133335290Sasomers praudit -x $(atf_get_srcdir)/trail 134335290Sasomers} 135335290Sasomers 136335290Sasomers 137335290Sasomersatf_test_case praudit_sync_to_next_record 138335290Sasomerspraudit_sync_to_next_record_head() 139335290Sasomers{ 140335290Sasomers atf_set "descr" "Verify that praudit(1) outputs the last few audit " \ 141335290Sasomers "records when the initial part of the trail is " \ 142335290Sasomers "corrputed." 143335290Sasomers} 144335290Sasomers 145335290Sasomerspraudit_sync_to_next_record_body() 146335290Sasomers{ 147335290Sasomers # The 'corrupted' binary file contains some redundant 148335290Sasomers # binary symbols before the actual audit record. 149335290Sasomers # Since 'praudit -p' syncs to the next legitimate record, 150335290Sasomers # it would skip the corrupted part and print the desired 151335290Sasomers # audit record to STDOUT. 152335290Sasomers atf_check -o file:$(atf_get_srcdir)/no_args \ 153335290Sasomers praudit -p $(atf_get_srcdir)/corrupted 154335290Sasomers} 155335290Sasomers 156335290Sasomers 157335290Sasomersatf_test_case praudit_raw_short_exclusive 158335290Sasomerspraudit_raw_short_exclusive_head() 159335290Sasomers{ 160335290Sasomers atf_set "descr" "Verify that praudit outputs usage message on stderr " \ 161335290Sasomers "when both raw and short options are specified" 162335290Sasomers} 163335290Sasomers 164335290Sasomerspraudit_raw_short_exclusive_body() 165335290Sasomers{ 166335290Sasomers atf_check -s exit:1 -e match:"usage: praudit" \ 167335290Sasomers praudit -rs $(atf_get_srcdir)/trail 168335290Sasomers} 169335290Sasomers 170335290Sasomers 171335290Sasomersatf_init_test_cases() 172335290Sasomers{ 173335290Sasomers atf_add_test_case praudit_delim_comma 174335290Sasomers atf_add_test_case praudit_delim_underscore 175335290Sasomers atf_add_test_case praudit_no_args 176335290Sasomers atf_add_test_case praudit_numeric_form 177335290Sasomers atf_add_test_case praudit_raw_form 178335290Sasomers atf_add_test_case praudit_same_line 179335290Sasomers atf_add_test_case praudit_short_form 180335290Sasomers atf_add_test_case praudit_xml_form 181335290Sasomers atf_add_test_case praudit_sync_to_next_record 182335290Sasomers atf_add_test_case praudit_raw_short_exclusive 183335290Sasomers} 184