diff options
-rwxr-xr-x | configure.py | 29 | ||||
-rwxr-xr-x | src/scripts/ci_build.py | 12 | ||||
-rwxr-xr-x | src/scripts/cleanup.py | 2 | ||||
-rwxr-xr-x | src/scripts/dist.py | 14 | ||||
-rwxr-xr-x | src/scripts/test_cli.py | 12 | ||||
-rw-r--r-- | src/scripts/test_python.py | 1 |
6 files changed, 38 insertions, 32 deletions
diff --git a/configure.py b/configure.py index 386f0ba5e..b1a988bdb 100755 --- a/configure.py +++ b/configure.py @@ -276,7 +276,7 @@ class BuildPaths(object): # pylint: disable=too-many-instance-attributes else: raise InternalError("Unknown src info type '%s'" % (typ)) -def process_command_line(args): # pylint: disable=too-many-locals +def process_command_line(args): # pylint: disable=too-many-locals,too-many-statements """ Handle command line options Do not use logging in this method as command line options need to be @@ -757,6 +757,7 @@ class ModuleInfo(InfoObject): """ def __init__(self, infofile): + # pylint: disable=too-many-statements super(ModuleInfo, self).__init__(infofile) lex = lex_me_harder( infofile, @@ -962,7 +963,7 @@ class ModuleInfo(InfoObject): def dependencies(self, osinfo): # base is an implicit dep for all submodules deps = ['base'] - if self.parent_module != None: + if self.parent_module is not None: deps.append(self.parent_module) for req in self.requires: @@ -1208,7 +1209,7 @@ class CompilerInfo(InfoObject): # pylint: disable=too-many-instance-attributes for what in mach_abi_groups(): if what in self.mach_abi_linking: flag = self.mach_abi_linking.get(what) - if flag != None and flag != '' and flag not in abi_link: + if flag is not None and flag != '' and flag not in abi_link: abi_link.add(flag) if options.msvc_runtime: @@ -1421,7 +1422,7 @@ class OsInfo(InfoObject): # pylint: disable=too-many-instance-attributes return False def building_shared_supported(self): - return self.soname_pattern_base != None + return self.soname_pattern_base is not None def enabled_features(self, options): feats = [] @@ -1469,7 +1470,7 @@ def guess_processor(archinfo): for info_part in system_cpu_info(): if info_part: match = canon_processor(archinfo, info_part) - if match != None: + if match is not None: logging.debug("Matched '%s' to processor '%s'" % (info_part, match)) return match, info_part else: @@ -1730,13 +1731,13 @@ def create_template_vars(source_paths, build_paths, options, modules, cc, arch, """ Figure out what external libraries/frameworks are needed based on selected modules """ - if not (module_member_name == 'libs' or module_member_name == 'frameworks'): + if module_member_name not in ['libs', 'frameworks']: raise InternalError("Invalid argument") libs = set() for module in modules: for (osname, module_link_to) in getattr(module, module_member_name).items(): - if osname == 'all' or osname == osinfo.basename: + if osname in ['all', osinfo.basename]: libs |= set(module_link_to) else: match = re.match('^all!(.*)', osname) @@ -1790,7 +1791,7 @@ def create_template_vars(source_paths, build_paths, options, modules, cc, arch, return osinfo.ar_command def choose_endian(arch_info, options): - if options.with_endian != None: + if options.with_endian is not None: return options.with_endian if options.cpu.endswith('eb') or options.cpu.endswith('be'): @@ -1985,15 +1986,15 @@ def create_template_vars(source_paths, build_paths, options, modules, cc, arch, variables['static_suffix']) if options.build_shared_lib: - if osinfo.soname_pattern_base != None: + if osinfo.soname_pattern_base is not None: variables['soname_base'] = osinfo.soname_pattern_base.format(**variables) variables['shared_lib_name'] = variables['soname_base'] - if osinfo.soname_pattern_abi != None: + if osinfo.soname_pattern_abi is not None: variables['soname_abi'] = osinfo.soname_pattern_abi.format(**variables) variables['shared_lib_name'] = variables['soname_abi'] - if osinfo.soname_pattern_patch != None: + if osinfo.soname_pattern_patch is not None: variables['soname_patch'] = osinfo.soname_pattern_patch.format(**variables) variables['lib_link_cmd'] = variables['lib_link_cmd'].format(**variables) @@ -2717,7 +2718,7 @@ def set_defaults_for_unset_options(options, info_arch, info_cc): # pylint: disab return 'gcc' return None - if options.compiler is None and options.compiler_binary != None: + if options.compiler is None and options.compiler_binary is not None: options.compiler = deduce_compiler_type_from_cc_bin(options.compiler_binary) if options.compiler is None: @@ -2841,7 +2842,7 @@ def validate_options(options, info_os, info_cc, available_module_policies): if options.os != options.cpu: raise UserError('LLVM target requires both CPU and OS be set to llvm') - if options.build_fuzzers != None: + if options.build_fuzzers is not None: if options.build_fuzzers not in ['libfuzzer', 'afl', 'klee', 'test']: raise UserError('Bad value to --build-fuzzers') @@ -2962,7 +2963,7 @@ def check_compiler_arch(options, ccinfo, archinfo, source_paths): return cc_output def do_io_for_build(cc, arch, osinfo, using_mods, build_paths, source_paths, template_vars, options): - # pylint: disable=too-many-locals,too-many-branches + # pylint: disable=too-many-locals,too-many-branches,too-many-statements try: robust_rmtree(build_paths.build_dir) diff --git a/src/scripts/ci_build.py b/src/scripts/ci_build.py index 3c2cb49f5..6626ea18e 100755 --- a/src/scripts/ci_build.py +++ b/src/scripts/ci_build.py @@ -62,7 +62,7 @@ def determine_flags(target, target_os, target_cpu, target_cc, cc_bin, ccache, ro if target_cc == 'msvc': flags += ['--ack-vc2013-deprecated'] - if target_cpu != None: + if target_cpu is not None: flags += ['--cpu=%s' % (target_cpu)] if target in ['shared', 'mini-shared']: @@ -354,7 +354,7 @@ def main(args=None): root_dir = options.root_dir - if os.access(root_dir, os.R_OK) != True: + if not os.access(root_dir, os.R_OK): raise Exception('Bad root dir setting, dir %s not readable' % (root_dir)) cmds = [] @@ -372,6 +372,10 @@ def main(args=None): # too-many-locals: variable counting differs from pylint3 py2_flags = '--disable=superfluous-parens,too-many-locals' + # Some disabled rules specific to Python3 + # useless-object-inheritance: complains about code still useful in Python2 + py3_flags = '--disable=useless-object-inheritance' + py_scripts = [ 'configure.py', 'src/python/botan2.py', @@ -394,7 +398,7 @@ def main(args=None): cmds.append(['python2', '-m', 'pylint'] + pylint_flags + [py2_flags, target_path]) if use_python3: - cmds.append(['python3', '-m', 'pylint'] + pylint_flags + [target_path]) + cmds.append(['python3', '-m', 'pylint'] + pylint_flags + [py3_flags, target_path]) else: config_flags, run_test_command, make_prefix = determine_flags( @@ -430,7 +434,7 @@ def main(args=None): elif options.compiler_cache == 'clcache': cmds.append(['clcache', '-s']) - if run_test_command != None: + if run_test_command is not None: cmds.append(run_test_command) if target in ['coverage', 'fuzzers']: diff --git a/src/scripts/cleanup.py b/src/scripts/cleanup.py index 29f8e8ede..35920f90f 100755 --- a/src/scripts/cleanup.py +++ b/src/scripts/cleanup.py @@ -78,7 +78,7 @@ def main(args=None): build_dir = options.build_dir - if os.access(build_dir, os.X_OK) != True: + if not os.access(build_dir, os.X_OK): logging.debug('No build directory found') # No build dir: clean enough! return 0 diff --git a/src/scripts/dist.py b/src/scripts/dist.py index 36237c42c..a27784453 100755 --- a/src/scripts/dist.py +++ b/src/scripts/dist.py @@ -100,7 +100,7 @@ def gpg_sign(keyid, passphrase_file, files, detached=True): options = ['--armor', '--detach-sign'] if detached else ['--clearsign'] gpg_cmd = ['gpg', '--batch'] + options + ['--local-user', keyid] - if passphrase_file != None: + if passphrase_file is not None: gpg_cmd[1:1] = ['--passphrase-file', passphrase_file] for filename in files: @@ -248,7 +248,7 @@ def write_archive(output_basename, archive_type, rel_epoch, all_files, hash_file archive_hash = sha256.hexdigest().upper() logging.info('SHA-256(%s) = %s' % (output_archive, archive_hash)) - if hash_file != None: + if hash_file is not None: hash_file.write("%s %s\n" % (archive_hash, output_archive)) return output_archive @@ -259,7 +259,7 @@ def configure_logging(options): super(ExitOnErrorLogHandler, self).emit(record) # Exit script if and ERROR or worse occurred if record.levelno >= logging.ERROR: - if sys.exc_info()[2] != None: + if sys.exc_info()[2] is not None: logging.info(traceback.format_exc()) sys.exit(1) @@ -276,7 +276,7 @@ def configure_logging(options): logging.getLogger().setLevel(log_level()) def main(args=None): - # pylint: disable=too-many-branches,too-many-locals + # pylint: disable=too-many-branches,too-many-locals,too-many-statements if args is None: args = sys.argv[1:] @@ -382,19 +382,19 @@ def main(args=None): output_files = [] hash_file = None - if options.write_hash_file != None: + if options.write_hash_file is not None: hash_file = open(options.write_hash_file, 'w') for archive_type in archives: output_files.append(write_archive(output_basename, archive_type, rel_epoch, all_files, hash_file)) - if hash_file != None: + if hash_file is not None: hash_file.close() shutil.rmtree(output_basename) if options.pgp_key_id != 'none': - if options.write_hash_file != None: + if options.write_hash_file is not None: output_files += gpg_sign(options.pgp_key_id, options.pgp_passphrase_file, [options.write_hash_file], False) else: diff --git a/src/scripts/test_cli.py b/src/scripts/test_cli.py index 86d9e1900..1753592cc 100755 --- a/src/scripts/test_cli.py +++ b/src/scripts/test_cli.py @@ -75,7 +75,7 @@ def test_cli(cmd, cmd_options, expected_output=None, cmd_input=None): output = stdout.decode('ascii').strip() - if expected_output != None: + if expected_output is not None: if output != expected_output: logging.error("Got unexpected output running cmd %s %s", cmd, cmd_options) logging.info("Output lengths %d vs expected %d", len(output), len(expected_output)) @@ -321,7 +321,7 @@ def cli_compress_tests(): test_cli("compress", input_file) - if os.access(output_file, os.R_OK) != True: + if not os.access(output_file, os.R_OK): logging.error("Compression did not created expected output file") is_py3 = sys.version_info[0] == 3 @@ -339,7 +339,7 @@ def cli_compress_tests(): test_cli("decompress", output_file) - if os.access(input_file, os.R_OK) != True: + if not os.access(input_file, os.R_OK): logging.error("Decompression did not created expected output file") recovered = open(input_file).read() @@ -362,7 +362,7 @@ def cli_dl_group_info_tests(): dl_output = re.compile('(P|G) = [A-F0-9]+') - for bits in [1024,1536,2048,3072,4096,6144,8192]: + for bits in [1024, 1536, 2048, 3072, 4096, 6144, 8192]: output = test_cli("dl_group_info", "modp/ietf/%d" % (bits)) lines = output.split('\n') @@ -370,7 +370,7 @@ def cli_dl_group_info_tests(): logging.error('Unexpected output from dl_group_info') for l in lines: - if dl_output.match(l) == None: + if not dl_output.match(l): logging.error('Unexpected output from dl_group_info') @@ -650,7 +650,7 @@ def main(args=None): logging.error("Usage: ./cli_tests.py path_to_botan_cli") return 1 - if os.access(args[1], os.X_OK) != True: + if not os.access(args[1], os.X_OK): logging.error("Could not access/execute %s", args[1]) return 2 diff --git a/src/scripts/test_python.py b/src/scripts/test_python.py index d3e6cafd7..fa3f49655 100644 --- a/src/scripts/test_python.py +++ b/src/scripts/test_python.py @@ -17,6 +17,7 @@ def hex_decode(buf): return binascii.unhexlify(buf.encode('ascii')) def test(): + # pylint: disable=too-many-statements def test_version(): |