apparmor/utils/test
Christian Boltz b24ef74f9a aa.py get_output(): raise exception on non-executable or non-existing programs
If the program specified as get_output param isn't executable or doesn't
exist at all, get_output() returns with ret = -1.

Raising an exception looks like a better option, especially because
other possible exec failures already raise an exception ("Unable to
fork").

Note: get_output is only used by get_reqs() which also does the
os.access() check for x permissions (and raises an exception), so in
practise raising an exception in get_output() doesn't change anything.


This change also allows to rewrite and simplify get_output() quite a bit.


Another minor change (and fix) is in the removal of the last line. The
old code removed the last line if output contained at least two items.
This had two not-so-nice effects:
- an empty output resulted in [''] instead of []
- if a command didn't add a \n on the last line, this line was deleted
  nevertheless

The patch changes that to always remove the last line if it is empty,
which fixes both issues mentioned above.


Also add a test to ensure the exception is really raised, and adjust the
test that expects an empty stdout.


Acked-by: Kshitij Gupta <kgupta8592@gmail.com>
2016-02-21 21:48:57 +01:00
..
aa_test.py Add some tests for logparser.py based on the log lines from 2015-01-18 14:55:15 +01:00
cleanprof_test.in Add more ruletypes to the cleanprof test profiles 2016-02-21 21:34:31 +01:00
cleanprof_test.out Add more ruletypes to the cleanprof test profiles 2016-02-21 21:34:31 +01:00
common_test.py move tests for convert_regexp() to (new) test-aare.py 2015-10-11 20:19:35 +02:00
config_test.py Set PYTHONPATH=.. in runtests-py3.sh to make sure the tests use the in- 2014-07-22 21:25:25 +02:00
easyprof.conf This patchset is broken into 4 parts: 2012-05-07 22:37:48 -07:00
fake_ldd Add tests for aa.py get_output() and get_reqs() 2016-02-21 21:48:09 +01:00
logprof.conf Update perl abstraction, logprof.conf, severity.db and tests for Debian/Ubuntu 2014-08-20 19:14:24 -05:00
Makefile utils/test/Makefile: print test filenames in 'make check' and 'make coverage' 2016-01-25 23:49:26 +01:00
minitools_test.py Use AATest and tmpdir for minitools test 2015-06-27 01:29:46 +02:00
runtests-py2.sh utils/tests: fix bashisms in runtests-py2.sh 2014-09-03 13:00:33 -07:00
runtests-py3.sh fix utils/test/runtests-py*.sh exitcode 2014-10-03 11:48:21 +02:00
severity.db Update perl abstraction, logprof.conf, severity.db and tests for Debian/Ubuntu 2014-08-20 19:14:24 -05:00
severity_broken.db Update perl abstraction, logprof.conf, severity.db and tests for Debian/Ubuntu 2014-08-20 19:14:24 -05:00
test-aa-decode.py utils: make all tests consistent in verbosity 2014-07-25 17:49:06 -07:00
test-aa-easyprof.py implement tests for --include-templates-dir and --include-policy-groups-dir 2015-03-27 16:34:32 -05:00
test-aa.py aa.py get_output(): raise exception on non-executable or non-existing programs 2016-02-21 21:48:57 +01:00
test-aamode.py Raise an exception if sub_str_to_mode() is called with invalid mode 2015-02-03 12:47:36 +01:00
test-aare.py Implement __deepcopy__() for aare 2015-12-27 16:15:08 +01:00
test-baserule.py Change abstract methods in BaseRule to use NotImplementedError 2015-11-24 00:16:35 +01:00
test-capability.py Change abstract methods in BaseRule to use NotImplementedError 2015-11-24 00:16:35 +01:00
test-change_profile.py Change abstract methods in BaseRule to use NotImplementedError 2015-11-24 00:16:35 +01:00
test-common.py Adjust type(x) == str checks in the rule classes for py2 2015-12-17 23:33:36 +01:00
test-dbus_parse.py Subject: utils tests: restructure DBUS parse tests 2014-09-03 18:26:19 -07:00
test-example.py Add tempdir and tempfile handling to AATest 2015-05-29 12:55:38 +02:00
test-libapparmor-test_multi.py Accept more log formats in logparser.py 2015-10-03 20:18:54 +02:00
test-logparser.py Accept more log formats in logparser.py 2015-10-03 20:18:54 +02:00
test-mount_parse.py utils tests: restructure mount parse tests 2014-09-03 18:28:18 -07:00
test-network.py Change abstract methods in BaseRule to use NotImplementedError 2015-11-24 00:16:35 +01:00
test-parser-simple-tests.py Add simple_tests/profile/profile_ns_bad8.sd to utils test exception list 2016-02-19 00:22:59 +01:00
test-pivot_root_parse.py utils tests: restructure pivotroot parse tests 2014-09-03 18:31:09 -07:00
test-ptrace.py Handle quoted peers when parsing ptrace rules 2016-02-12 21:45:38 +01:00
test-regex_matches.py Adjust test-ptrace_parse.py to use PtraceRule 2015-12-27 01:16:55 +01:00
test-rlimit.py Change abstract methods in BaseRule to use NotImplementedError 2015-11-24 00:16:35 +01:00
test-severity.py Implement severity() in CapabilityRule 2015-06-06 13:59:11 +02:00
test-signal.py Use list check in PtraceRule and SignalRule is_covered_localvars() 2016-01-25 23:40:52 +01:00
test-unix_parse.py utils tests: restructure Unix Parse tests 2014-09-03 18:24:57 -07:00