{
  "_class" : "hudson.model.FreeStyleBuild",
  "actions" : [
    {
      "_class" : "hudson.model.CauseAction",
      "causes" : [
        {
          "_class" : "hudson.triggers.TimerTrigger$TimerTriggerCause",
          "shortDescription" : "Started by timer"
        }
      ]
    },
    {
      "_class" : "hudson.model.ParametersAction",
      "parameters" : [
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "BRANCH",
          "value" : "master"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "EMAIL_NOTIFICATIONS",
          "value" : "jenkins-notifications@lists.osmocom.org"
        }
      ]
    },
    {
      "_class" : "jenkins.metrics.impl.TimeInQueueAction",
      "blockedDurationMillis" : 0,
      "blockedTimeMillis" : 0,
      "buildableDurationMillis" : 4,
      "buildableTimeMillis" : 4,
      "buildingDurationMillis" : 474960,
      "executingTimeMillis" : 474960,
      "executorUtilization" : 1.0,
      "subTaskCount" : 0,
      "waitingDurationMillis" : 0,
      "waitingTimeMillis" : 0
    },
    {
      "_class" : "hudson.plugins.git.util.BuildData",
      "buildsByBranchName" : {
        "origin/master" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 449,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "3d42106ad94b81291b844246ea320f35b74837fb",
            "branch" : [
              {
                "SHA1" : "3d42106ad94b81291b844246ea320f35b74837fb",
                "name" : "origin/master"
              }
            ]
          },
          "revision" : {
            "SHA1" : "3d42106ad94b81291b844246ea320f35b74837fb",
            "branch" : [
              {
                "SHA1" : "3d42106ad94b81291b844246ea320f35b74837fb",
                "name" : "origin/master"
              }
            ]
          }
        },
        "refs/remotes/origin/osmith/wip" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 5,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "b52b9704ed57386959a73c98e946c756e0188e6c",
            "branch" : [
              {
                "SHA1" : "b52b9704ed57386959a73c98e946c756e0188e6c",
                "name" : "refs/remotes/origin/osmith/wip"
              }
            ]
          },
          "revision" : {
            "SHA1" : "b52b9704ed57386959a73c98e946c756e0188e6c",
            "branch" : [
              {
                "SHA1" : "b52b9704ed57386959a73c98e946c756e0188e6c",
                "name" : "refs/remotes/origin/osmith/wip"
              }
            ]
          }
        },
        "refs/remotes/origin/master" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 253,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "c7c48718ba3637e29fc6a7af4e2e39ba0679bb8d",
            "branch" : [
              {
                "SHA1" : "c7c48718ba3637e29fc6a7af4e2e39ba0679bb8d",
                "name" : "refs/remotes/origin/master"
              }
            ]
          },
          "revision" : {
            "SHA1" : "c7c48718ba3637e29fc6a7af4e2e39ba0679bb8d",
            "branch" : [
              {
                "SHA1" : "c7c48718ba3637e29fc6a7af4e2e39ba0679bb8d",
                "name" : "refs/remotes/origin/master"
              }
            ]
          }
        }
      },
      "lastBuiltRevision" : {
        "SHA1" : "3d42106ad94b81291b844246ea320f35b74837fb",
        "branch" : [
          {
            "SHA1" : "3d42106ad94b81291b844246ea320f35b74837fb",
            "name" : "origin/master"
          }
        ]
      },
      "remoteUrls" : [
        "https://gerrit.osmocom.org/pysim"
      ],
      "scmName" : ""
    },
    {
      
    },
    {
      
    },
    {
      "_class" : "org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction"
    }
  ],
  "artifacts" : [
    
  ],
  "building" : False,
  "description" : None,
  "displayName" : "#449",
  "duration" : 474960,
  "estimatedDuration" : 482402,
  "executor" : None,
  "fullDisplayName" : "simtester-sanitize #449",
  "id" : "449",
  "inProgress" : False,
  "keepLog" : False,
  "number" : 449,
  "queueId" : 2076253,
  "result" : "SUCCESS",
  "timestamp" : 1766191380633,
  "url" : "https://jenkins.osmocom.org/jenkins/job/simtester-sanitize/449/",
  "builtOn" : "simtester",
  "changeSet" : {
    "_class" : "hudson.plugins.git.GitChangeSetList",
    "items" : [
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "pySim/esim/saip/personalization.py"
        ],
        "commitId" : "ddbf91fc4aa8d033304b0cb1615ad9978c194357",
        "timestamp" : 1766065372000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/laforge",
          "fullName" : "laforge"
        },
        "authorEmail" : "laforge@osmocom.org",
        "comment" : "pySim.esim.saip.personalization: Support Milenage customization\u000a\u000aMilenage offers the capability for operators to modify the r1-r5\u000arotation constants as well as the c1-c5 xor-ing constants; let's\u000aadd ConfigurableParameters for that.\u000a\u000aChange-Id: I397df6c0c708a8061e4adc0fde03a3f746bcb5b6\u000aRelated: SYS#7787\u000a",
        "date" : "2025-12-18 14:42:52 +0100",
        "id" : "ddbf91fc4aa8d033304b0cb1615ad9978c194357",
        "msg" : "pySim.esim.saip.personalization: Support Milenage customization",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "pySim/esim/saip/personalization.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "pySim/apdu_source/pyshark_gsmtap.py"
        ],
        "commitId" : "111f9da4f5b46c79b2fe0584a60ba52539c21503",
        "timestamp" : 1766086549000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/laforge",
          "fullName" : "laforge"
        },
        "authorEmail" : "laforge@osmocom.org",
        "comment" : "pyshark_gsmtap: Adjust display filter for some wireshark versions\u000a\u000aOn my debian unstable system with wireshark 4.6.2-3, the pyshark_gsmtap\u000aAPDU source misses to report any ATRs, as those are not part of what's\u000areported with the 'gsm_sim' display filter.  This is due to\u000awireshark.git commit bcd82e2370d18e20983b378d494964d89c191cef first part\u000aof the 4.6.0 release, which splits the ATR dissection into a separate\u000asub-dissector.\u000a\u000aWe cannot use the seemingly logical 'gsmtap.type == 4' instead, as old\u000awireshark simply bypasses any output for the gsmtap header if the SIM\u000asub-dissector is used.\u000a\u000aHence, 'gsm_sim || iso7816.atr' is something compatible with older and\u000anewer wireshark versions.\u000a\u000aChange-Id: I53c1c8ed58a82c37cd4be4af3890af21da839e86\u000a",
        "date" : "2025-12-18 20:35:49 +0100",
        "id" : "111f9da4f5b46c79b2fe0584a60ba52539c21503",
        "msg" : "pyshark_gsmtap: Adjust display filter for some wireshark versions",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "pySim/apdu_source/pyshark_gsmtap.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "pySim/ts_51_011.py",
          "tests/pySim-trace_test/pySim-trace_test_gsmtap.pcapng.ok"
        ],
        "commitId" : "a62fb2b987e6b08228177098f813cf6f95937d0a",
        "timestamp" : 1766086739000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/laforge",
          "fullName" : "laforge"
        },
        "authorEmail" : "laforge@osmocom.org",
        "comment" : "ts_51_011/EF.SMSP: Fix parsing of parameter_indicators\u000a\u000aThere's a 3-bit RFU field that (unlike everything else in USIM/UICC)\u000aconsiders '1' to be the default.  Let's make sure we get that right\u000aduring encode.\u000a\u000aChange-Id: Ibe24a07f5f73d875d2077fa55471dbfc4e90da23\u000a",
        "date" : "2025-12-18 20:38:59 +0100",
        "id" : "a62fb2b987e6b08228177098f813cf6f95937d0a",
        "msg" : "ts_51_011/EF.SMSP: Fix parsing of parameter_indicators",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tests/pySim-trace_test/pySim-trace_test_gsmtap.pcapng.ok"
          },
          {
            "editType" : "edit",
            "file" : "pySim/ts_51_011.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tests/unittests/test_files.py"
        ],
        "commitId" : "82b57403c79de04934da264e0be363ba99f5b797",
        "timestamp" : 1766086739000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/laforge",
          "fullName" : "laforge"
        },
        "authorEmail" : "laforge@osmocom.org",
        "comment" : "unittest/test_files.TransparentEF_Test: Actually test encoder\u000a\u000aIn the test_encode_file() method, we should actually test the encoder,\u000aand not the decoder.  I suppose this was a copy+paste mistake at some\u000apoint?  In the LinearFixedEF_Test.test_encoder_record we were already\u000atesting the encoder. Just TransparentEF_Test got it wrong...\u000a\u000aChange-Id: Id23305a78ab9acd2e006f2b26b72408795844d23\u000a",
        "date" : "2025-12-18 20:38:59 +0100",
        "id" : "82b57403c79de04934da264e0be363ba99f5b797",
        "msg" : "unittest/test_files.TransparentEF_Test: Actually test encoder",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tests/unittests/test_files.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tests/unittests/test_files.py"
        ],
        "commitId" : "9a23eab1634e8feb6c0cf4d4980a8a27c9b438bf",
        "timestamp" : 1766086739000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/laforge",
          "fullName" : "laforge"
        },
        "authorEmail" : "laforge@osmocom.org",
        "comment" : "unittests/test_files: Pass to-be-encoded length to encoder functions\u000a\u000aSome of the encoders can only generate valid output if they are told\u000athe expected output size.  This is due to variable-length fields that\u000adepend on the size of the total record (or file).  Let's always pass\u000athe expected length to the encoder methods.\u000a\u000aChange-Id: I88f957e49b0c88a121a266d3582e79822fa0e214\u000a",
        "date" : "2025-12-18 20:38:59 +0100",
        "id" : "9a23eab1634e8feb6c0cf4d4980a8a27c9b438bf",
        "msg" : "unittests/test_files: Pass to-be-encoded length to encoder functions",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tests/unittests/test_files.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "pySim/log.py"
        ],
        "commitId" : "3d42106ad94b81291b844246ea320f35b74837fb",
        "timestamp" : 1766157151000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pmaier",
          "fullName" : "pmaier@sysmocom.de"
        },
        "authorEmail" : "pmaier@sysmocom.de",
        "comment" : "pysim/log: also accept ANSI strings to specify the log message colors\u000a\u000athe PySimLogger class currently only accepts cmd2 color enum values.\u000aThis is what we need for pySim-shell.py. However, in case we want to\u000ause the PySimLogger in stand-alone programs that do not use cmd2, this\u000ais a bit bulky. Let's add some flexibility to PySimLogger, so that we\u000acan specify the colors as raw ANSI strings as well.\u000a\u000aChange-Id: I93543e19649064043ae8323f82ecd8c423d1d921\u000aRelated: SYS#7725\u000a",
        "date" : "2025-12-19 16:12:31 +0100",
        "id" : "3d42106ad94b81291b844246ea320f35b74837fb",
        "msg" : "pysim/log: also accept ANSI strings to specify the log message colors",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "pySim/log.py"
          }
        ]
      }
    ],
    "kind" : "git"
  },
  "culprits" : [
    {
      "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/laforge",
      "fullName" : "laforge"
    },
    {
      "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pmaier",
      "fullName" : "pmaier@sysmocom.de"
    }
  ]
}