def test_position_independent_executable(tmpdir, package, binariescheck): CONFIG.configuration['PieExecutables'] = ['.*'] output = Filter(CONFIG) test = BinariesCheck(CONFIG, output) test.check(get_tested_package(package, tmpdir)) out = output.print_results(output.results) assert 'E: non-position-independent-executable /usr/bin/bcc-lua' in out
def test_only_non_binary_in_usr_lib_exception(tmpdir, package, binariescheck): CONFIG.configuration['UsrLibBinaryException'] = '^/usr/lib(64)?/python' output = Filter(CONFIG) test = BinariesCheck(CONFIG, output) test.check(get_tested_package(package, tmpdir)) out = output.print_results(output.results) assert 'W: only-non-binary-in-usr-lib' not in out
def test_non_position_independent(tmpdir, package, binariescheck): CONFIG.configuration['PieExecutables'] = ['sparta', '.*hello'] output = Filter(CONFIG) test = BinariesCheck(CONFIG, output) test.check(get_tested_package(package, tmpdir)) out = output.print_results(output.results) assert 'E: non-position-independent-executable' in out # It should throw just the error, not warning assert 'W: position-independent-executable-suggested' not in out
def test_non_position_independent_sugg(tmpdir, package, binariescheck): # reset PieExecutable option CONFIG.configuration['PieExecutables'] = [] output = Filter(CONFIG) test = BinariesCheck(CONFIG, output) test.check(get_tested_package(package, tmpdir)) out = output.print_results(output.results) assert 'W: position-independent-executable-suggested' in out # it should throw just a warning as it's not forced by PieExecutables opt assert 'E: non-position-independent-executable' not in out
def binariescheck(): CONFIG.info = True output = Filter(CONFIG) test = BinariesCheck(CONFIG, output) return output, test