Message ID | 20200813222625.243136-1-ehabkost@redhat.com (mailing list archive) |
---|---|
Headers | show |
Series | qom: Automated conversion of type checking boilerplate | expand |
Patchew URL: https://patchew.org/QEMU/20200813222625.243136-1-ehabkost@redhat.com/ Hi, This series seems to have some coding style problems. See output below for more information: Type: series Message-id: 20200813222625.243136-1-ehabkost@redhat.com Subject: [PATCH 00/41] qom: Automated conversion of type checking boilerplate === TEST SCRIPT BEGIN === #!/bin/bash git rev-parse base > /dev/null || exit 0 git config --local diff.renamelimit 0 git config --local diff.renames True git config --local diff.algorithm histogram ./scripts/checkpatch.pl --mailback base.. === TEST SCRIPT END === From https://github.com/patchew-project/qemu * [new tag] patchew/20200813222625.243136-1-ehabkost@redhat.com -> patchew/20200813222625.243136-1-ehabkost@redhat.com Switched to a new branch 'test' f1d2ad9 crypto: use QOM macros for declaration/definition of TLS creds types 4ea785b crypto: use QOM macros for declaration/definition of secret types 42307a9 Use OBJECT_DECLARE_SIMPLE_TYPE when possible e1d9baa Use OBJECT_DECLARE_TYPE where possible 6d51dbd Use DECLARE_*CHECKER* when possible (--force mode) 2f68ebb Use DECLARE_*CHECKER* macros d9a5329 Move QOM typedefs and add missing includes d99bc90 Use TYPE_INFO macro cf59308 Delete duplicate QOM typedefs abb59d3 codeconverter: script for automating QOM code cleanups c3aacb7 qom: TYPE_INFO macro 6a1dc81 qom: Make type checker functions accept const pointers 94dc349 qom: DECLARE_*_CHECKERS macros c7d59ae qom: Allow class type name to be specified in OBJECT_DECLARE* 2d59458 qom: Fix G_DEFINE_AUTOPTR_CLEANUP_FUNC 4902ffa qom: provide convenient macros for declaring and defining types f4ee4e0 qom: make object_ref/unref use a void * instead of Object *. a47330a platform-bus: Delete macros for non-existing typedef 5bdcdd1 nubus: Delete unused NUBUS_BRIDGE macro 4082689 can_emu: Delete macros for non-existing typedef d6afc42 s390_flic: Move KVMS390FLICState typedef to header 4579395 mcf_fec: Move mcf_fec_state typedef to header 770881d hvf: Move HVFState typedef to hvf.h 7eff325 i8254: Move PITCommonState/PITCommonClass typedefs to i8254.h 3736e8e pci: Move PCIBusClass typedef to pci.h 5634fc5 throttle-groups: Move ThrottleGroup typedef to header 0001856 tulip: Move TulipState typedef to header 0932b2f hcd-dwc2: Rename USB_*CLASS macros for consistency d8cad90 hvf: Add missing include 2624fbf virtio-ccw: Fix definition of VIRTIO_CCW_BUS_GET_CLASS 4342dcc versatile: Fix typo in PCI_VPB_HOST definition f533849 sifive_u: Rename memmap enum constants 330246d sifive_e: Rename memmap enum constants a4e4116 opentitan: Rename memmap enum constants 3d055c7 aspeed_soc: Rename memmap/irqmap enum constants 9277ac1 allwinner-h3: Rename memmap enum constants a4deb35 aspeed_timer: Fix ASPEED_TIMER macro definition c4d2996 vmw_pvscsi: Rename QOM class cast macros 6fc2746 megasas: Rename QOM class cast macros df20ed6 e1000: Rename QOM class cast macros 8366582 pl1110: Rename PL1110 enum === OUTPUT BEGIN === 1/41 Checking commit 836658277f31 (pl1110: Rename PL1110 enum) 2/41 Checking commit df20ed682a35 (e1000: Rename QOM class cast macros) 3/41 Checking commit 6fc2746358e3 (megasas: Rename QOM class cast macros) 4/41 Checking commit c4d299612aea (vmw_pvscsi: Rename QOM class cast macros) 5/41 Checking commit a4deb3526872 (aspeed_timer: Fix ASPEED_TIMER macro definition) 6/41 Checking commit 9277ac1f1341 (allwinner-h3: Rename memmap enum constants) WARNING: line over 80 characters #128: FILE: hw/arm/allwinner-h3.c:328: + memory_region_add_subregion(get_system_memory(), s->memmap[AW_H3_DEV_SRAM_A1], WARNING: line over 80 characters #131: FILE: hw/arm/allwinner-h3.c:330: + memory_region_add_subregion(get_system_memory(), s->memmap[AW_H3_DEV_SRAM_A2], WARNING: line over 80 characters #134: FILE: hw/arm/allwinner-h3.c:332: + memory_region_add_subregion(get_system_memory(), s->memmap[AW_H3_DEV_SRAM_C], WARNING: line over 80 characters #145: FILE: hw/arm/allwinner-h3.c:341: + sysbus_mmio_map(SYS_BUS_DEVICE(&s->sysctrl), 0, s->memmap[AW_H3_DEV_SYSCTRL]); WARNING: line over 80 characters #254: FILE: hw/arm/orangepi.c:82: + object_property_set_uint(OBJECT(h3), "ram-addr", h3->memmap[AW_H3_DEV_SDRAM], WARNING: line over 80 characters #263: FILE: hw/arm/orangepi.c:101: + memory_region_add_subregion(get_system_memory(), h3->memmap[AW_H3_DEV_SDRAM], total: 0 errors, 6 warnings, 310 lines checked Patch 6/41 has style problems, please review. If any of these errors are false positives report them to the maintainer, see CHECKPATCH in MAINTAINERS. 7/41 Checking commit 3d055c796062 (aspeed_soc: Rename memmap/irqmap enum constants) 8/41 Checking commit a4e4116b7873 (opentitan: Rename memmap enum constants) WARNING: line over 80 characters #152: FILE: hw/riscv/opentitan.c:174: + memmap[IBEX_DEV_ALERT_HANDLER].base, memmap[IBEX_DEV_ALERT_HANDLER].size); total: 0 errors, 1 warnings, 184 lines checked Patch 8/41 has style problems, please review. If any of these errors are false positives report them to the maintainer, see CHECKPATCH in MAINTAINERS. 9/41 Checking commit 330246d1c18d (sifive_e: Rename memmap enum constants) WARNING: line over 80 characters #83: FILE: hw/riscv/sifive_e.c:114: + memmap[SIFIVE_E_DEV_MROM].base, &address_space_memory); WARNING: line over 80 characters #127: FILE: hw/riscv/sifive_e.c:227: + sysbus_mmio_map(SYS_BUS_DEVICE(&s->gpio), 0, memmap[SIFIVE_E_DEV_GPIO0].base); total: 0 errors, 2 warnings, 185 lines checked Patch 9/41 has style problems, please review. If any of these errors are false positives report them to the maintainer, see CHECKPATCH in MAINTAINERS. 10/41 Checking commit f53384995400 (sifive_u: Rename memmap enum constants) WARNING: line over 80 characters #263: FILE: hw/riscv/sifive_u.c:494: + memmap[SIFIVE_U_DEV_MROM].base, &address_space_memory); WARNING: line over 80 characters #326: FILE: hw/riscv/sifive_u.c:693: + sysbus_mmio_map(SYS_BUS_DEVICE(&s->prci), 0, memmap[SIFIVE_U_DEV_PRCI].base); WARNING: line over 80 characters #333: FILE: hw/riscv/sifive_u.c:699: + sysbus_mmio_map(SYS_BUS_DEVICE(&s->gpio), 0, memmap[SIFIVE_U_DEV_GPIO].base); total: 0 errors, 3 warnings, 360 lines checked Patch 10/41 has style problems, please review. If any of these errors are false positives report them to the maintainer, see CHECKPATCH in MAINTAINERS. 11/41 Checking commit 4342dcc2183d (versatile: Fix typo in PCI_VPB_HOST definition) 12/41 Checking commit 2624fbf2fee9 (virtio-ccw: Fix definition of VIRTIO_CCW_BUS_GET_CLASS) 13/41 Checking commit d8cad90cfe8f (hvf: Add missing include) 14/41 Checking commit 0932b2f86c44 (hcd-dwc2: Rename USB_*CLASS macros for consistency) 15/41 Checking commit 0001856c800c (tulip: Move TulipState typedef to header) 16/41 Checking commit 5634fc554406 (throttle-groups: Move ThrottleGroup typedef to header) 17/41 Checking commit 3736e8e3ab84 (pci: Move PCIBusClass typedef to pci.h) 18/41 Checking commit 7eff32559f9f (i8254: Move PITCommonState/PITCommonClass typedefs to i8254.h) 19/41 Checking commit 770881daf21f (hvf: Move HVFState typedef to hvf.h) 20/41 Checking commit 45793953ce7c (mcf_fec: Move mcf_fec_state typedef to header) 21/41 Checking commit d6afc426bbd5 (s390_flic: Move KVMS390FLICState typedef to header) ERROR: missing space after struct definition #22: FILE: hw/intc/s390_flic_kvm.c:32: +struct KVMS390FLICState{ total: 1 errors, 0 warnings, 21 lines checked Patch 21/41 has style problems, please review. If any of these errors are false positives report them to the maintainer, see CHECKPATCH in MAINTAINERS. 22/41 Checking commit 4082689e8d82 (can_emu: Delete macros for non-existing typedef) 23/41 Checking commit 5bdcdd1e6fcc (nubus: Delete unused NUBUS_BRIDGE macro) 24/41 Checking commit a47330a4f693 (platform-bus: Delete macros for non-existing typedef) 25/41 Checking commit f4ee4e0507c7 (qom: make object_ref/unref use a void * instead of Object *.) 26/41 Checking commit 4902ffa5e400 (qom: provide convenient macros for declaring and defining types) WARNING: line over 80 characters #292: FILE: include/qom/object.h:619: + * @...: list of initializers for "InterfaceInfo" to declare implemented interfaces WARNING: line over 80 characters #360: FILE: include/qom/object.h:687: + * @...: list of initializers for "InterfaceInfo" to declare implemented interfaces total: 0 errors, 2 warnings, 289 lines checked Patch 26/41 has style problems, please review. If any of these errors are false positives report them to the maintainer, see CHECKPATCH in MAINTAINERS. 27/41 Checking commit 2d59458640e1 (qom: Fix G_DEFINE_AUTOPTR_CLEANUP_FUNC) 28/41 Checking commit c7d59aec6ee7 (qom: Allow class type name to be specified in OBJECT_DECLARE*) WARNING: line over 80 characters #35: FILE: include/qom/object.h:571: +#define OBJECT_DECLARE_TYPE(InstanceType, ClassType, module_obj_name, MODULE_OBJ_NAME) \ ERROR: line over 90 characters #84: FILE: include/qom/object.h:608: + OBJECT_DECLARE_TYPE(InstanceType, InstanceType##Class, module_obj_name, MODULE_OBJ_NAME) \ total: 1 errors, 1 warnings, 68 lines checked Patch 28/41 has style problems, please review. If any of these errors are false positives report them to the maintainer, see CHECKPATCH in MAINTAINERS. 29/41 Checking commit 94dc349cfe26 (qom: DECLARE_*_CHECKERS macros) 30/41 Checking commit 6a1dc81ace42 (qom: Make type checker functions accept const pointers) 31/41 Checking commit c3aacb7541bf (qom: TYPE_INFO macro) 32/41 Checking commit abb59d3ffcb5 (codeconverter: script for automating QOM code cleanups) WARNING: added, moved or deleted file(s), does MAINTAINERS need updating? #21: new file mode 100644 ERROR: line over 90 characters #29: FILE: scripts/codeconverter/codeconverter/patching.py:1: +from typing import IO, Match, NamedTuple, Optional, Literal, Iterable, Type, Dict, List, Any, TypeVar, NewType, Tuple WARNING: line over 80 characters #96: FILE: scripts/codeconverter/codeconverter/patching.py:68: + logger.log(level, '%s:%d:%d: '+fmt, self.file.filename, pos.line, pos.col, *args) ERROR: line over 90 characters #158: FILE: scripts/codeconverter/codeconverter/patching.py:130: + end.line, end.col, self.group(0)[:100]) WARNING: line over 80 characters #161: FILE: scripts/codeconverter/codeconverter/patching.py:133: + """Can be implemented by subclasses to keep track of identifier references WARNING: line over 80 characters #163: FILE: scripts/codeconverter/codeconverter/patching.py:135: + This method will be used by the code that moves declarations around the file, WARNING: line over 80 characters #169: FILE: scripts/codeconverter/codeconverter/patching.py:141: + """Can be implemented by subclasses to keep track of identifier references WARNING: line over 80 characters #171: FILE: scripts/codeconverter/codeconverter/patching.py:143: + This method will be used by the code that moves declarations around the file, ERROR: line over 90 characters #216: FILE: scripts/codeconverter/codeconverter/patching.py:188: + DBG("Applying patch at position %d (%s) - %d (%s): %r", p.start, line_col(s, p.start), p.end, line_col(s, p.end), p.replacement) ERROR: line over 90 characters #218: FILE: scripts/codeconverter/codeconverter/patching.py:190: + raise OverLappingPatchesError("Overlapping patch at position %d (%s), last patch at %d (%s)" % \ WARNING: line over 80 characters #229: FILE: scripts/codeconverter/codeconverter/patching.py:201: + self.match_name_index: Dict[Tuple[Type[Any], str, str], Optional[FileMatch]] = {} WARNING: line over 80 characters #239: FILE: scripts/codeconverter/codeconverter/patching.py:211: + def find_match(self, t: Type[T], name: str, group: str='name') -> Optional[T]: WARNING: line over 80 characters #259: FILE: scripts/codeconverter/codeconverter/patching.py:231: + def __init__(self, files: 'FileList', filename:str, force:bool=False) -> None: WARNING: line over 80 characters #280: FILE: scripts/codeconverter/codeconverter/patching.py:252: + matches = [klass(self, m) for m in klass.find_matches(self.original_content)] WARNING: line over 80 characters #285: FILE: scripts/codeconverter/codeconverter/patching.py:257: + def find_match(self, t: Type[T], name: str, group: str='name') -> Optional[T]: WARNING: line over 80 characters #332: FILE: scripts/codeconverter/codeconverter/patching.py:304: + def patch_content(self, max_passes=0, class_names: Optional[List[str]]=None) -> None: WARNING: line over 80 characters #345: FILE: scripts/codeconverter/codeconverter/patching.py:317: + DBG("patch content: pass %d: %d patches generated", passes, len(self.patches)) ERROR: line over 90 characters #353: FILE: scripts/codeconverter/codeconverter/patching.py:325: + INFO("%s: %d patches applied total in %d passes", self.filename, total_patches, passes) WARNING: line over 80 characters #356: FILE: scripts/codeconverter/codeconverter/patching.py:328: + """Replace self.original_content after applying patches from self.patches""" WARNING: line over 80 characters #449: FILE: scripts/codeconverter/codeconverter/qom_macros.py:46: + """Check if identifiers match, return new identifier with complete list""" WARNING: line over 80 characters #565: FILE: scripts/codeconverter/codeconverter/qom_macros.py:162: + other_td = [td for td in chain(self.file.matches_of_type(SimpleTypedefMatch), WARNING: line over 80 characters #566: FILE: scripts/codeconverter/codeconverter/qom_macros.py:163: + self.file.matches_of_type(FullStructTypedefMatch)) WARNING: line over 80 characters #579: FILE: scripts/codeconverter/codeconverter/qom_macros.py:176: + if self.group('typedef_type') == 'struct '+td.group('structname'): ERROR: line over 90 characters #585: FILE: scripts/codeconverter/codeconverter/qom_macros.py:182: + qom_macros = [TypeCheckMacro, DeclareInstanceChecker, DeclareClassCheckers, DeclareObjCheckers] WARNING: line over 80 characters #587: FILE: scripts/codeconverter/codeconverter/qom_macros.py:184: + in_use = any(RequiredIdentifier('type', self.name) in m.required_identifiers() ERROR: line over 90 characters #595: FILE: scripts/codeconverter/codeconverter/qom_macros.py:192: + qom_macros = [TypeCheckMacro, DeclareInstanceChecker, DeclareClassCheckers, DeclareObjCheckers] WARNING: line over 80 characters #597: FILE: scripts/codeconverter/codeconverter/qom_macros.py:194: + in_use = any(RequiredIdentifier('type', self.name) in m.required_identifiers() WARNING: line over 80 characters #616: FILE: scripts/codeconverter/codeconverter/qom_macros.py:213: +CheckerMacroName = Literal['OBJECT_CHECK', 'OBJECT_CLASS_CHECK', 'OBJECT_GET_CLASS'] ERROR: line over 90 characters #621: FILE: scripts/codeconverter/codeconverter/qom_macros.py:218: + M(r'\s*\(\s*', OR(NAMED('typedefname', RE_IDENTIFIER), RE_TYPE, name='c_type'), r'\s*,', CPP_SPACE, WARNING: line over 80 characters #672: FILE: scripts/codeconverter/codeconverter/qom_macros.py:269: + def merge_ids(self, matches: List['TypeCheckMacro']) -> Optional[TypeIdentifiers]: WARNING: line over 80 characters #673: FILE: scripts/codeconverter/codeconverter/qom_macros.py:270: + """Try to merge info about type identifiers from all matches in a list""" WARNING: line over 80 characters #730: FILE: scripts/codeconverter/codeconverter/qom_macros.py:327: + self.warn("couldn't extract type information from macro %s", self.name) ERROR: line over 90 characters #740: FILE: scripts/codeconverter/codeconverter/qom_macros.py:337: + self.warn("macro %s is using macro %s instead of %s", self.name, self.checker, checker) ERROR: line over 90 characters #745: FILE: scripts/codeconverter/codeconverter/qom_macros.py:342: + DBG("found %d matching macros: %s", len(matches), ' '.join(m.name for m in matches)) WARNING: line over 80 characters #748: FILE: scripts/codeconverter/codeconverter/qom_macros.py:345: + DBG("skipping %s (will patch when handling %s)", self.name, matches[0].name) WARNING: line over 80 characters #758: FILE: scripts/codeconverter/codeconverter/qom_macros.py:355: + self.warn("macro %s doesn't follow the expected name pattern", self.name) WARNING: line over 80 characters #769: FILE: scripts/codeconverter/codeconverter/qom_macros.py:366: + names = [n for n in (ids.instancetype, ids.classtype, ids.uppercase, ids.typename) WARNING: line over 80 characters #779: FILE: scripts/codeconverter/codeconverter/qom_macros.py:376: + new_decl = (f'DECLARE_OBJ_CHECKERS({ids.instancetype}, {ids.classtype},\n' WARNING: line over 80 characters #780: FILE: scripts/codeconverter/codeconverter/qom_macros.py:377: + f' {ids.uppercase}, {ids.typename})\n') WARNING: line over 80 characters #782: FILE: scripts/codeconverter/codeconverter/qom_macros.py:379: + new_decl = (f'DECLARE_CLASS_CHECKERS({ids.classtype}, {ids.uppercase},\n' WARNING: line over 80 characters #785: FILE: scripts/codeconverter/codeconverter/qom_macros.py:382: + new_decl = (f'DECLARE_INSTANCE_CHECKER({ids.instancetype}, {ids.uppercase},\n' WARNING: line over 80 characters #800: FILE: scripts/codeconverter/codeconverter/qom_macros.py:397: + self.warn("typedef %s need to be moved earlier in the file", td.name) ERROR: line over 90 characters #873: FILE: scripts/codeconverter/codeconverter/qom_macros.py:470: + self.warn("type %s mismatch with uppercase name %s", ids.typename, ids.uppercase) WARNING: line over 80 characters #886: FILE: scripts/codeconverter/codeconverter/qom_macros.py:483: + #TODO: check if the only match is inside the "struct { ... }" declaration ERROR: line over 90 characters #887: FILE: scripts/codeconverter/codeconverter/qom_macros.py:484: + if re.search(r'\b'+t+r'\b', self.file.original_content[td.end():self.start()]): WARNING: line over 80 characters #888: FILE: scripts/codeconverter/codeconverter/qom_macros.py:485: + self.warn("typedef %s can't be moved, it is used before the macro", t) ERROR: line over 90 characters #903: FILE: scripts/codeconverter/codeconverter/qom_macros.py:500: + r'\s*{\s*', NAMED('parent_struct', RE_IDENTIFIER), r'\s*parent(_class)?\s*;\s*};\n') WARNING: line over 80 characters #918: FILE: scripts/codeconverter/codeconverter/qom_macros.py:515: + trivial_struct = self.file.find_match(TrivialClassStruct, self.group('classtype')) WARNING: line over 80 characters #924: FILE: scripts/codeconverter/codeconverter/qom_macros.py:521: + " %(uppercase)s, %(parent_struct)s)\n" % d) ERROR: line over 90 characters #956: FILE: scripts/codeconverter/codeconverter/qom_macros.py:553: + definition_classes = [SimpleTypedefMatch, FullStructTypedefMatch, ConstantDefine, Include] ERROR: line over 90 characters #957: FILE: scripts/codeconverter/codeconverter/qom_macros.py:554: + user_classes = [TypeCheckMacro, DeclareObjCheckers, DeclareInstanceChecker, DeclareClassCheckers] WARNING: line over 80 characters #965: FILE: scripts/codeconverter/codeconverter/qom_macros.py:562: + index.setdefault(i, SymbolUserList([], [])).definitions.append(d) WARNING: line over 80 characters #985: FILE: scripts/codeconverter/codeconverter/qom_macros.py:582: + u.warn("definition of %s %s not found in file", i.type, i.name) ERROR: line over 90 characters #1015: FILE: scripts/codeconverter/codeconverter/qom_macros.py:612: + definition.warn("definition of %s %s needs to be moved earlier in the file", i.type, i.name) WARNING: line over 80 characters #1016: FILE: scripts/codeconverter/codeconverter/qom_macros.py:613: + earliest.warn("definition of %s %s is used here", i.type, i.name) WARNING: line over 80 characters #1036: FILE: scripts/codeconverter/codeconverter/qom_type_info.py:13: +RE_ARRAY_ITEM = S(r'{\s*', NAMED('arrayitem', M(RE_SIMPLE_VALUE, n='?')), r'\s*}\s*,?') ERROR: line over 90 characters #1061: FILE: scripts/codeconverter/codeconverter/qom_type_info.py:38: +RE_TYPEINFO_START = S(r'^[ \t]*', M(r'(static|const)\s+', name='modifiers'), r'TypeInfo\s+', ERROR: line over 90 characters #1078: FILE: scripts/codeconverter/codeconverter/qom_type_info.py:55: + return [m.group('arrayitem') for m in re.finditer(RE_ARRAY_ITEM, m.group('arrayitems'))] ERROR: line over 90 characters #1133: FILE: scripts/codeconverter/codeconverter/qom_type_info.py:110: + if typename and re.fullmatch(RE_IDENTIFIER, typename) and typename.startswith("TYPE_"): WARNING: line over 80 characters #1215: FILE: scripts/codeconverter/codeconverter/qom_type_info.py:192: + yield self.append_field('instance_finalize', ids.lowercase+'_finalize') ERROR: line over 90 characters #1219: FILE: scripts/codeconverter/codeconverter/qom_type_info.py:196: + yield self.prepend(('static void %s_class_init(ObjectClass *oc, void *data)\n' WARNING: line over 80 characters #1222: FILE: scripts/codeconverter/codeconverter/qom_type_info.py:199: + yield self.append_field('class_init', ids.lowercase+'_class_init') WARNING: line over 80 characters #1228: FILE: scripts/codeconverter/codeconverter/qom_type_info.py:205: + regexp = S(r'^[ \t]*type_init\(\s*', NAMED('name', RE_IDENTIFIER), r'\s*\);?[ \t]*\n') WARNING: line over 80 characters #1241: FILE: scripts/codeconverter/codeconverter/qom_type_info.py:218: + # of the function. Tt will just look for "}" in the beginning of a line WARNING: line over 80 characters #1242: FILE: scripts/codeconverter/codeconverter/qom_type_info.py:219: + regexp = S(r'static\s+void\s+', NAMED('name', RE_IDENTIFIER), r'\s*\(\s*void\s*\)\n', ERROR: line over 90 characters #1260: FILE: scripts/codeconverter/codeconverter/qom_type_info.py:237: + regexp = S(r'^[ \t]*type_register_static\(&\s*', NAMED('name', RE_IDENTIFIER), r'\s*\);[ \t]*\n') ERROR: line over 90 characters #1272: FILE: scripts/codeconverter/codeconverter/qom_type_info.py:249: + self.warn("can't find function where type_register_static(&%s) is called", self.name) ERROR: line over 90 characters #1300: FILE: scripts/codeconverter/codeconverter/qom_type_info.py:277: + regexp = S(r'^[ \t]*TYPE_INFO\s*\(\s*', NAMED('name', RE_IDENTIFIER), r'\s*\)[ \t]*;?[ \t]*\n') WARNING: line over 80 characters #1358: FILE: scripts/codeconverter/codeconverter/regexps.py:15: + """Just add parenthesis around regexp(s), with optional name or repeat suffix""" ERROR: line over 90 characters #1428: FILE: scripts/codeconverter/codeconverter/regexps.py:85: +RE_INCLUDE = S(r'^[ \t]*#[ \t]*include[ \t]+', NAMED('includepath', RE_INCLUDEPATH), r'[ \t]*\n') WARNING: line over 80 characters #1627: FILE: scripts/codeconverter/codeconverter/test_regexps.py:85: + assert fullmatch(RE_TI_FIELDS, r'''/* could be TYPE_SYS_BUS_DEVICE (or LPC etc) */ ERROR: line over 90 characters #1767: FILE: scripts/codeconverter/codeconverter/test_regexps.py:225: + print(repr(list(m.groupdict() for m in re.finditer(InitialIncludes.regexp, c, re.MULTILINE)))) ERROR: line over 90 characters #1782: FILE: scripts/codeconverter/codeconverter/test_regexps.py:240: + print(repr(list(m.groupdict() for m in re.finditer(InitialIncludes.regexp, c, re.MULTILINE)))) ERROR: line over 90 characters #1809: FILE: scripts/codeconverter/codeconverter/test_regexps.py:267: + print(repr(list(m.groupdict() for m in re.finditer(InitialIncludes.regexp, c, re.MULTILINE)))) ERROR: adding a line without newline at end of file #1885: FILE: scripts/codeconverter/codeconverter/utils.py:65: +__all__ = ['not_optional', 'opt_compare', 'merge', 'line_col', 'LineAndColumn'] WARNING: line over 80 characters #1911: FILE: scripts/codeconverter/converter.py:19: +def process_all_files(parser: argparse.ArgumentParser, args: argparse.Namespace) -> None: WARNING: line over 80 characters #1972: FILE: scripts/codeconverter/converter.py:80: + p = argparse.ArgumentParser(formatter_class=argparse.RawDescriptionHelpFormatter) ERROR: adding a line without newline at end of file #2005: FILE: scripts/codeconverter/converter.py:113: + main() total: 29 errors, 49 warnings, 1934 lines checked Patch 32/41 has style problems, please review. If any of these errors are false positives report them to the maintainer, see CHECKPATCH in MAINTAINERS. 33/41 Checking commit cf5930853474 (Delete duplicate QOM typedefs) 34/41 Checking commit d99bc90946f3 (Use TYPE_INFO macro) 35/41 Checking commit d9a532959f24 (Move QOM typedefs and add missing includes) 36/41 Checking commit 2f68ebbda954 (Use DECLARE_*CHECKER* macros) WARNING: line over 80 characters #55: FILE: backends/cryptodev-vhost-user.c:43: +DECLARE_INSTANCE_CHECKER(CryptoDevBackendVhostUser, CRYPTODEV_BACKEND_VHOST_USER, WARNING: line over 80 characters #3999: FILE: hw/net/xilinx_axienet.c:54: +DECLARE_INSTANCE_CHECKER(XilinxAXIEnetStreamSlave, XILINX_AXI_ENET_CONTROL_STREAM, total: 0 errors, 2 warnings, 9753 lines checked Patch 36/41 has style problems, please review. If any of these errors are false positives report them to the maintainer, see CHECKPATCH in MAINTAINERS. 37/41 Checking commit 6d51dbd39eff (Use DECLARE_*CHECKER* when possible (--force mode)) 38/41 Checking commit e1d9baaad12b (Use OBJECT_DECLARE_TYPE where possible) 39/41 Checking commit 42307a974ffa (Use OBJECT_DECLARE_SIMPLE_TYPE when possible) 40/41 Checking commit 4ea785bc3a22 (crypto: use QOM macros for declaration/definition of secret types) WARNING: line over 80 characters #128: FILE: crypto/secret_keyring.c:30: + QCRYPTO_SECRET_KEYRING, QCRYPTO_SECRET_COMMON, total: 0 errors, 1 warnings, 138 lines checked Patch 40/41 has style problems, please review. If any of these errors are false positives report them to the maintainer, see CHECKPATCH in MAINTAINERS. 41/41 Checking commit f1d2ad919d9e (crypto: use QOM macros for declaration/definition of TLS creds types) === OUTPUT END === Test command exited with code: 1 The full log is available at http://patchew.org/logs/20200813222625.243136-1-ehabkost@redhat.com/testing.checkpatch/?type=message. --- Email generated automatically by Patchew [https://patchew.org/]. Please send your feedback to patchew-devel@redhat.com
Patchew URL: https://patchew.org/QEMU/20200813222625.243136-1-ehabkost@redhat.com/ Hi, This series failed the docker-mingw@fedora build test. Please find the testing commands and their output below. If you have Docker installed, you can probably reproduce it locally. === TEST SCRIPT BEGIN === #! /bin/bash export ARCH=x86_64 make docker-image-fedora V=1 NETWORK=1 time make docker-test-mingw@fedora J=14 NETWORK=1 === TEST SCRIPT END === CC stubs/error-printf.o CC stubs/fdset.o CC stubs/gdbstub.o /tmp/qemu-test/src/docs/../include/exec/memory.h:353: warning: Function parameter or member 'parent_class' not described in 'IOMMUMemoryRegionClass' /tmp/qemu-test/src/docs/../include/exec/memory.h:353: warning: Function parameter or member 'translate' not described in 'IOMMUMemoryRegionClass' /tmp/qemu-test/src/docs/../include/exec/memory.h:353: warning: Function parameter or member 'get_min_page_size' not described in 'IOMMUMemoryRegionClass' /tmp/qemu-test/src/docs/../include/exec/memory.h:353: warning: Function parameter or member 'notify_flag_changed' not described in 'IOMMUMemoryRegionClass' /tmp/qemu-test/src/docs/../include/exec/memory.h:353: warning: Function parameter or member 'replay' not described in 'IOMMUMemoryRegionClass' /tmp/qemu-test/src/docs/../include/exec/memory.h:353: warning: Function parameter or member 'get_attr' not described in 'IOMMUMemoryRegionClass' /tmp/qemu-test/src/docs/../include/exec/memory.h:353: warning: Function parameter or member 'attrs_to_index' not described in 'IOMMUMemoryRegionClass' /tmp/qemu-test/src/docs/../include/exec/memory.h:353: warning: Function parameter or member 'num_indexes' not described in 'IOMMUMemoryRegionClass' Warning, treated as error: /tmp/qemu-test/src/docs/../include/exec/memory.h:231:Unexpected indentation. CC stubs/iothread-lock.o CC stubs/is-daemonized.o --- CC stubs/replay.o CC stubs/runstate-check.o CC stubs/semihost.o make: *** [Makefile:1091: docs/devel/index.html] Error 2 make: *** Waiting for unfinished jobs.... In file included from /tmp/qemu-test/src/include/exec/memory.h:28, from /tmp/qemu-test/src/include/hw/boards.h:6, from /tmp/qemu-test/src/include/hw/i386/pc.h:6, from /tmp/qemu-test/src/stubs/cmos.c:2: /tmp/qemu-test/src/include/sysemu/accel.h:65:22: error: 'ACCEL' redeclared as different kind of symbol 65 | ACCEL, TYPE_ACCEL) | ^~~~~ /tmp/qemu-test/src/include/qom/object.h:571:5: note: in definition of macro 'DECLARE_INSTANCE_CHECKER' --- /usr/x86_64-w64-mingw32/sys-root/mingw/include/winuser.h:1757:5: note: previous declaration of 'ACCEL' was here 1757 | } ACCEL,*LPACCEL; | ^~~~~ make: *** [/tmp/qemu-test/src/rules.mak:69: stubs/cmos.o] Error 1 Traceback (most recent call last): File "./tests/docker/docker.py", line 709, in <module> sys.exit(main()) --- raise CalledProcessError(retcode, cmd) subprocess.CalledProcessError: Command '['sudo', '-n', 'docker', 'run', '--label', 'com.qemu.instance.uuid=b3ca50017dd7489282ac17972d745e22', '-u', '1003', '--security-opt', 'seccomp=unconfined', '--rm', '-e', 'TARGET_LIST=', '-e', 'EXTRA_CONFIGURE_OPTS=', '-e', 'V=', '-e', 'J=14', '-e', 'DEBUG=', '-e', 'SHOW_ENV=', '-e', 'CCACHE_DIR=/var/tmp/ccache', '-v', '/home/patchew2/.cache/qemu-docker-ccache:/var/tmp/ccache:z', '-v', '/var/tmp/patchew-tester-tmp-ot1u2siv/src/docker-src.2020-08-13-19.01.51.4315:/var/tmp/qemu:z,ro', 'qemu/fedora', '/var/tmp/qemu/run', 'test-mingw']' returned non-zero exit status 2. filter=--filter=label=com.qemu.instance.uuid=b3ca50017dd7489282ac17972d745e22 make[1]: *** [docker-run] Error 1 make[1]: Leaving directory `/var/tmp/patchew-tester-tmp-ot1u2siv/src' make: *** [docker-run-test-mingw@fedora] Error 2 real 2m3.343s user 0m8.454s The full log is available at http://patchew.org/logs/20200813222625.243136-1-ehabkost@redhat.com/testing.docker-mingw@fedora/?type=message. --- Email generated automatically by Patchew [https://patchew.org/]. Please send your feedback to patchew-devel@redhat.com
Patchew URL: https://patchew.org/QEMU/20200813222625.243136-1-ehabkost@redhat.com/ Hi, This series failed the docker-quick@centos7 build test. Please find the testing commands and their output below. If you have Docker installed, you can probably reproduce it locally. === TEST SCRIPT BEGIN === #!/bin/bash make docker-image-centos7 V=1 NETWORK=1 time make docker-test-quick@centos7 SHOW_ENV=1 J=14 NETWORK=1 === TEST SCRIPT END === CC hw/char/cmsdk-apb-uart.o CC hw/char/debugcon.o In file included from /tmp/qemu-test/src/hw/char/xen_console.c:29:0: /tmp/qemu-test/src/include/hw/xen/xen-legacy-backend.h:13:1: error: unknown type name 'XenLegacyDevice' DECLARE_INSTANCE_CHECKER(XenLegacyDevice, XENBACKEND_DEVICE, ^ In file included from /tmp/qemu-test/src/include/chardev/char.h:7:0, from /tmp/qemu-test/src/include/chardev/char-fe.h:4, from /tmp/qemu-test/src/hw/char/xen_console.c:28: /tmp/qemu-test/src/include/hw/xen/xen-legacy-backend.h: In function 'XENBACKEND_DEVICE': /tmp/qemu-test/src/include/hw/xen/xen-legacy-backend.h:13:26: error: 'XenLegacyDevice' undeclared (first use in this function) DECLARE_INSTANCE_CHECKER(XenLegacyDevice, XENBACKEND_DEVICE, ^ /tmp/qemu-test/src/include/qom/object.h:863:7: note: in definition of macro 'OBJECT_CHECK' --- /tmp/qemu-test/src/include/hw/xen/xen-legacy-backend.h:13:1: note: in expansion of macro 'DECLARE_INSTANCE_CHECKER' DECLARE_INSTANCE_CHECKER(XenLegacyDevice, XENBACKEND_DEVICE, ^ /tmp/qemu-test/src/include/qom/object.h:863:13: error: expected expression before ')' token ((type *)object_dynamic_cast_assert(OBJECT(obj), (name), \ ^ /tmp/qemu-test/src/include/qom/object.h:572:14: note: in expansion of macro 'OBJECT_CHECK' --- CC hw/core/nmi.o CC hw/core/vm-change-state-handler.o CC hw/core/qdev-properties-system.o make: *** [hw/char/xen_console.o] Error 1 make: *** Waiting for unfinished jobs.... Traceback (most recent call last): File "./tests/docker/docker.py", line 709, in <module> --- raise CalledProcessError(retcode, cmd) subprocess.CalledProcessError: Command '['sudo', '-n', 'docker', 'run', '--label', 'com.qemu.instance.uuid=f7ca9563df9146949361704266b7b696', '-u', '1003', '--security-opt', 'seccomp=unconfined', '--rm', '-e', 'TARGET_LIST=', '-e', 'EXTRA_CONFIGURE_OPTS=', '-e', 'V=', '-e', 'J=14', '-e', 'DEBUG=', '-e', 'SHOW_ENV=1', '-e', 'CCACHE_DIR=/var/tmp/ccache', '-v', '/home/patchew2/.cache/qemu-docker-ccache:/var/tmp/ccache:z', '-v', '/var/tmp/patchew-tester-tmp-e8jv11ta/src/docker-src.2020-08-13-19.04.47.9512:/var/tmp/qemu:z,ro', 'qemu/centos7', '/var/tmp/qemu/run', 'test-quick']' returned non-zero exit status 2. filter=--filter=label=com.qemu.instance.uuid=f7ca9563df9146949361704266b7b696 make[1]: *** [docker-run] Error 1 make[1]: Leaving directory `/var/tmp/patchew-tester-tmp-e8jv11ta/src' make: *** [docker-run-test-quick@centos7] Error 2 real 2m38.413s user 0m8.492s The full log is available at http://patchew.org/logs/20200813222625.243136-1-ehabkost@redhat.com/testing.docker-quick@centos7/?type=message. --- Email generated automatically by Patchew [https://patchew.org/]. Please send your feedback to patchew-devel@redhat.com
On Thu, Aug 13, 2020 at 06:25:44PM -0400, Eduardo Habkost wrote: > This is an extension of the series previously submitted by > Daniel[1], including a script that will convert existing type > checker macros automatically. > Hi Eduardo, do you have a repo where it can be checked it out? Thanks, Roman
On Tue, Aug 18, 2020 at 12:59:03PM +0300, Roman Bolshakov wrote: > On Thu, Aug 13, 2020 at 06:25:44PM -0400, Eduardo Habkost wrote: > > This is an extension of the series previously submitted by > > Daniel[1], including a script that will convert existing type > > checker macros automatically. > > > > Hi Eduardo, > > do you have a repo where it can be checked it out? Yes: https://github.com/ehabkost/qemu-hacks/tree/work/qom-macros-autoconvert