Commit 2a88bbb5 authored by Luke Mewburn's avatar Luke Mewburn
Browse files

testing: convert asn_lint_exceptions.json to asn_config.json

Add new child fields to asn_config.json's "asn_files" field object values:
  lint_exceptions:
	List of lint warnings to ignore.
	This replaces asn_lint_exceptions.json.

I.e., ["asn_files"][path]["lint_exceptions"] = list(warningsString)

All of the ASN.1 parsing configuration is now in asn_config.json.
parent 0043d730
Loading
Loading
Loading
Loading
Loading
+107 −3
Original line number Diff line number Diff line
{
  "asn_files": {
    "33128/r15/TS33128Payloads.asn": {},
    "33128/r15/TS33128Payloads.asn": {
      "lint_exceptions": [
        "Tag 16 IRIEvent field 'mDFCellSiteReport' is not present in XIRIEvent",
        "Tag 5 XIRIEvent field 'unsuccessfulAMProcedure' differs from IRIEvent field 'unsuccessfulRegistrationProcedure'",
        "Tag 10 XIRIEvent field 'unsuccessfulSMProcedure' differs from IRIEvent field 'unsuccessfulSessionProcedure'",
        "Enumerations for UDMServingSystemMethod start at 0, not 1",
        "Field 'aNNodeID' in GlobalRANNodeID is an anonymous CHOICE"
      ]
    },
    "33128/r16/TS33128IdentityAssociation.asn": {},
    "33128/r16/TS33128Payloads.asn": {},
    "33128/r16/TS33128Payloads.asn": {
      "lint_exceptions": [
        "Tag 16 IRIEvent field 'mDFCellSiteReport' is not present in XIRIEvent",
        "Tag 5 XIRIEvent field 'unsuccessfulAMProcedure' differs from IRIEvent field 'unsuccessfulRegistrationProcedure'",
        "Tag 10 XIRIEvent field 'unsuccessfulSMProcedure' differs from IRIEvent field 'unsuccessfulSessionProcedure'",
        "Tag 16 missing in XIRIEvent",
        "Enumerations for EstablishmentStatus start at 0, not 1",
        "Enumerations for RequestIndication start at 0, not 1",
        "Enumerations for UDMServingSystemMethod start at 0, not 1",
        "Enumerations for MMSDirection start at 0, not 1",
        "Enumerations for MMSReplyCharging start at 0, not 1",
        "Enumerations for MMStatusExtension start at 0, not 1",
        "Tag 2 missing in LALSReport",
        "Tag 6 missing in LALSReport",
        "Tags 65-164 missing in XIRIEvent",
        "Tags 65-164 missing in IRIEvent"
      ]
    },
    "33128/r17/TS33128IdentityAssociation.asn": {},
    "33128/r17/TS33128Payloads.asn": {},
    "33128/r17/TS33128Payloads.asn": {
      "lint_exceptions": [
        "Tag 100 XIRIEvent field 'n9HRPDUSessionInfo' is not present in IRIEvent",
        "Tag 101 XIRIEvent field 's8HRBearerInfo' is not present in IRIEvent",
        "Tag 16 IRIEvent field 'mDFCellSiteReport' is not present in XIRIEvent",
        "Tag 5 XIRIEvent field 'unsuccessfulAMProcedure' differs from IRIEvent field 'unsuccessfulRegistrationProcedure'",
        "Tag 10 XIRIEvent field 'unsuccessfulSMProcedure' differs from IRIEvent field 'unsuccessfulSessionProcedure'",
        "Tag 108 XIRIEvent field 'uDMLocationInformationResult' differs from IRIEvent field 'uDMLocationInformationResultRecord'",
        "Tag 16 missing in XIRIEvent",
        "Tags 113-131 missing in XIRIEvent",
        "Tags 100-101 missing in IRIEvent",
        "Tags 113-131 missing in IRIEvent",
        "Tag 12 missing in SCEFCommunicationPatternUpdate",
        "Enumerations for EstablishmentStatus start at 0, not 1",
        "Enumerations for RequestIndication start at 0, not 1",
        "Enumerations for UDMServingSystemMethod start at 0, not 1",
        "Enumerations for MMSDirection start at 0, not 1",
        "Enumerations for MMSReplyCharging start at 0, not 1",
        "Enumerations for MMStatusExtension start at 0, not 1",
        "Tags 4-5 missing in IMSMessage",
        "Tag 6 missing in StartOfInterceptionForActiveIMSSession",
        "Tag 2 missing in LALSReport",
        "Tag 6 missing in LALSReport",
        "Tag 8 missing in MMEStartOfInterceptionWithEPSAttachedUE",
        "Tag 11 missing in MMEStartOfInterceptionWithEPSAttachedUE",
        "Tags 133-164 missing in XIRIEvent",
        "Tags 167-185 missing in XIRIEvent",
        "Tags 133-164 missing in IRIEvent",
        "Tags 167-185 missing in IRIEvent"
      ]
    },
    "33128/r18/TS33128IdentityAssociation.asn": {},
    "33128/r18/TS33128Payloads.asn": {
      "dependencies": [
        "testing/dependencies/asn/IPAccessPDU.asn",
        "testing/dependencies/asn/stubs/LI-PS-PDU.asn"
      ],
      "lint_exceptions": [
        "Tag 100 XIRIEvent field 'n9HRPDUSessionInfo' is not present in IRIEvent",
        "Tag 101 XIRIEvent field 's8HRBearerInfo' is not present in IRIEvent",
        "Tag 16 IRIEvent field 'mDFCellSiteReport' is not present in XIRIEvent",
        "Tag 16 missing in XIRIEvent",
        "Tags 100-101 missing in IRIEvent",
        "Tag 12 missing in SCEFCommunicationPatternUpdate",
        "Enumerations for EstablishmentStatus start at 0, not 1",
        "Enumerations for RequestIndication start at 0, not 1",
        "Enumerations for UDMServingSystemMethod start at 0, not 1",
        "Enumerations for MMSDirection start at 0, not 1",
        "Enumerations for MMSReplyCharging start at 0, not 1",
        "Enumerations for MMStatusExtension start at 0, not 1",
        "Tags 4-5 missing in IMSMessage",
        "Tag 6 missing in StartOfInterceptionForActiveIMSSession",
        "Tag 2 missing in LALSReport",
        "Tag 6 missing in LALSReport",
        "Tag 8 missing in MMEStartOfInterceptionWithEPSAttachedUE",
        "Tag 11 missing in MMEStartOfInterceptionWithEPSAttachedUE",
        "Tag 161 XIRIEvent field 'iPIRIPacketReport' is not present in IRIEvent",
        "Tag 161 missing in IRIEvent",
        "Tags 167-175 missing in XIRIEvent",
        "Tags 167-175 missing in IRIEvent",
        "Tags 182-185 missing in XIRIEvent",
        "Tags 182-185 missing in IRIEvent",
        "Tag 23 missing in SMFPDUSessionModification"
      ]
    },
    "33128/r19/TS33128IdentityAssociation.asn": {},
@@ -17,6 +99,28 @@
      "dependencies": [
        "testing/dependencies/asn/IPAccessPDU.asn",
        "testing/dependencies/asn/stubs/LI-PS-PDU.asn"
      ],
      "lint_exceptions": [
        "Tag 100 XIRIEvent field 'n9HRPDUSessionInfo' is not present in IRIEvent",
        "Tag 101 XIRIEvent field 's8HRBearerInfo' is not present in IRIEvent",
        "Tag 16 IRIEvent field 'mDFCellSiteReport' is not present in XIRIEvent",
        "Tag 16 missing in XIRIEvent",
        "Tags 100-101 missing in IRIEvent",
        "Tag 12 missing in SCEFCommunicationPatternUpdate",
        "Enumerations for EstablishmentStatus start at 0, not 1",
        "Enumerations for RequestIndication start at 0, not 1",
        "Enumerations for UDMServingSystemMethod start at 0, not 1",
        "Enumerations for MMSDirection start at 0, not 1",
        "Enumerations for MMSReplyCharging start at 0, not 1",
        "Enumerations for MMStatusExtension start at 0, not 1",
        "Tags 4-5 missing in IMSMessage",
        "Tag 6 missing in StartOfInterceptionForActiveIMSSession",
        "Tag 2 missing in LALSReport",
        "Tag 6 missing in LALSReport",
        "Tag 8 missing in MMEStartOfInterceptionWithEPSAttachedUE",
        "Tag 11 missing in MMEStartOfInterceptionWithEPSAttachedUE",
        "Tag 161 XIRIEvent field 'iPIRIPacketReport' is not present in IRIEvent",
        "Tag 161 missing in IRIEvent"
      ]
    }
  },

testing/asn_lint_exceptions.json

deleted100644 → 0
+0 −103
Original line number Diff line number Diff line
{
    "33128/r15/TS33128Payloads.asn" : [
        "Tag 16 IRIEvent field 'mDFCellSiteReport' is not present in XIRIEvent",
        "Tag 5 XIRIEvent field 'unsuccessfulAMProcedure' differs from IRIEvent field 'unsuccessfulRegistrationProcedure'",
        "Tag 10 XIRIEvent field 'unsuccessfulSMProcedure' differs from IRIEvent field 'unsuccessfulSessionProcedure'",
        "Enumerations for UDMServingSystemMethod start at 0, not 1",
        "Field 'aNNodeID' in GlobalRANNodeID is an anonymous CHOICE"
    ],
    "33128/r16/TS33128Payloads.asn" : [
        "Tag 16 IRIEvent field 'mDFCellSiteReport' is not present in XIRIEvent",
        "Tag 5 XIRIEvent field 'unsuccessfulAMProcedure' differs from IRIEvent field 'unsuccessfulRegistrationProcedure'",
        "Tag 10 XIRIEvent field 'unsuccessfulSMProcedure' differs from IRIEvent field 'unsuccessfulSessionProcedure'",
        "Tag 16 missing in XIRIEvent",
        "Enumerations for EstablishmentStatus start at 0, not 1",
        "Enumerations for RequestIndication start at 0, not 1",
        "Enumerations for UDMServingSystemMethod start at 0, not 1",
        "Enumerations for MMSDirection start at 0, not 1",
        "Enumerations for MMSReplyCharging start at 0, not 1",
        "Enumerations for MMStatusExtension start at 0, not 1",
        "Tag 2 missing in LALSReport",
        "Tag 6 missing in LALSReport",
        "Tags 65-164 missing in XIRIEvent",
        "Tags 65-164 missing in IRIEvent"
    ],
    "33128/r17/TS33128Payloads.asn" : [
        "Tag 100 XIRIEvent field 'n9HRPDUSessionInfo' is not present in IRIEvent",
        "Tag 101 XIRIEvent field 's8HRBearerInfo' is not present in IRIEvent",
        "Tag 16 IRIEvent field 'mDFCellSiteReport' is not present in XIRIEvent",
        "Tag 5 XIRIEvent field 'unsuccessfulAMProcedure' differs from IRIEvent field 'unsuccessfulRegistrationProcedure'",
        "Tag 10 XIRIEvent field 'unsuccessfulSMProcedure' differs from IRIEvent field 'unsuccessfulSessionProcedure'",
        "Tag 108 XIRIEvent field 'uDMLocationInformationResult' differs from IRIEvent field 'uDMLocationInformationResultRecord'",
        "Tag 16 missing in XIRIEvent",
        "Tags 113-131 missing in XIRIEvent",
        "Tags 100-101 missing in IRIEvent",
        "Tags 113-131 missing in IRIEvent",
        "Tag 12 missing in SCEFCommunicationPatternUpdate",
        "Enumerations for EstablishmentStatus start at 0, not 1",
        "Enumerations for RequestIndication start at 0, not 1",
        "Enumerations for UDMServingSystemMethod start at 0, not 1",
        "Enumerations for MMSDirection start at 0, not 1",
        "Enumerations for MMSReplyCharging start at 0, not 1",
        "Enumerations for MMStatusExtension start at 0, not 1",
        "Tags 4-5 missing in IMSMessage",
        "Tag 6 missing in StartOfInterceptionForActiveIMSSession",
        "Tag 2 missing in LALSReport",
        "Tag 6 missing in LALSReport",
        "Tag 8 missing in MMEStartOfInterceptionWithEPSAttachedUE",
        "Tag 11 missing in MMEStartOfInterceptionWithEPSAttachedUE",
        "Tags 133-164 missing in XIRIEvent",
        "Tags 167-185 missing in XIRIEvent",
        "Tags 133-164 missing in IRIEvent",
        "Tags 167-185 missing in IRIEvent"
    ],
    "33128/r18/TS33128Payloads.asn" : [
        "Tag 100 XIRIEvent field 'n9HRPDUSessionInfo' is not present in IRIEvent",
        "Tag 101 XIRIEvent field 's8HRBearerInfo' is not present in IRIEvent",
        "Tag 16 IRIEvent field 'mDFCellSiteReport' is not present in XIRIEvent",
        "Tag 16 missing in XIRIEvent",
        "Tags 100-101 missing in IRIEvent",
        "Tag 12 missing in SCEFCommunicationPatternUpdate",
        "Enumerations for EstablishmentStatus start at 0, not 1",
        "Enumerations for RequestIndication start at 0, not 1",
        "Enumerations for UDMServingSystemMethod start at 0, not 1",
        "Enumerations for MMSDirection start at 0, not 1",
        "Enumerations for MMSReplyCharging start at 0, not 1",
        "Enumerations for MMStatusExtension start at 0, not 1",
        "Tags 4-5 missing in IMSMessage",
        "Tag 6 missing in StartOfInterceptionForActiveIMSSession",
        "Tag 2 missing in LALSReport",
        "Tag 6 missing in LALSReport",
        "Tag 8 missing in MMEStartOfInterceptionWithEPSAttachedUE",
        "Tag 11 missing in MMEStartOfInterceptionWithEPSAttachedUE",
        "Tag 161 XIRIEvent field 'iPIRIPacketReport' is not present in IRIEvent",
        "Tag 161 missing in IRIEvent",
        "Tags 167-175 missing in XIRIEvent",
        "Tags 167-175 missing in IRIEvent",
        "Tags 182-185 missing in XIRIEvent",
        "Tags 182-185 missing in IRIEvent",
        "Tag 23 missing in SMFPDUSessionModification"
    ],
    "33128/r19/TS33128Payloads.asn" : [
        "Tag 100 XIRIEvent field 'n9HRPDUSessionInfo' is not present in IRIEvent",
        "Tag 101 XIRIEvent field 's8HRBearerInfo' is not present in IRIEvent",
        "Tag 16 IRIEvent field 'mDFCellSiteReport' is not present in XIRIEvent",
        "Tag 16 missing in XIRIEvent",
        "Tags 100-101 missing in IRIEvent",
        "Tag 12 missing in SCEFCommunicationPatternUpdate",
        "Enumerations for EstablishmentStatus start at 0, not 1",
        "Enumerations for RequestIndication start at 0, not 1",
        "Enumerations for UDMServingSystemMethod start at 0, not 1",
        "Enumerations for MMSDirection start at 0, not 1",
        "Enumerations for MMSReplyCharging start at 0, not 1",
        "Enumerations for MMStatusExtension start at 0, not 1",
        "Tags 4-5 missing in IMSMessage",
        "Tag 6 missing in StartOfInterceptionForActiveIMSSession",
        "Tag 2 missing in LALSReport",
        "Tag 6 missing in LALSReport",
        "Tag 8 missing in MMEStartOfInterceptionWithEPSAttachedUE",
        "Tag 11 missing in MMEStartOfInterceptionWithEPSAttachedUE",
        "Tag 161 XIRIEvent field 'iPIRIPacketReport' is not present in IRIEvent",
        "Tag 161 missing in IRIEvent"
    ]
}
+1 −2
Original line number Diff line number Diff line
@@ -214,8 +214,7 @@ if __name__ == "__main__":
    logging.info(f"{len(lintFileList)} files to lint")
    for file in lintFileList:
        logging.debug(f"  {file}")
    lintExceptions = json.loads(Path("testing/asn_lint_exceptions.json").read_text())
    lintResults = lint_asn1.lintASN1Files(lintFileList, lintExceptions)
    lintResults = lint_asn1.lintASN1Files(lintFileList, asnConfig)
    if processResults(lintResults, "Linting") > 0:
        exit(1)

+3 −4
Original line number Diff line number Diff line
@@ -382,7 +382,7 @@ def lintASN1File(asnFile, exceptions):
    return {"ok": len(errors) == 0, "message": errors, "suppressed": suppressed}


def lintASN1Files(fileList, exceptions):
def lintASN1Files(fileList, asnConfig):
    if len(fileList) == 0:
        logging.warning("No files specified")
        return {}
@@ -391,9 +391,8 @@ def lintASN1Files(fileList, exceptions):
    logging.info("Checking files...")
    for f in fileList:
        unixf = str(f).replace("\\", "/")
        errorMap[str(f)] = lintASN1File(
            str(f), exceptions[unixf] if unixf in exceptions else []
        )
        exceptions = asnConfig["asn_files"].get(unixf, {}).get("lint_exceptions", {})
        errorMap[str(f)] = lintASN1File(str(f), exceptions)

    return errorMap