{
  "_class" : "hudson.matrix.MatrixBuild",
  "actions" : [
    {
      "_class" : "hudson.model.ParametersAction",
      "parameters" : [
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "BRANCH",
          "value" : "pmaier/otatest"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "EMAIL_NOTIFICATIONS",
          "value" : ""
        }
      ]
    },
    {
      "_class" : "hudson.model.CauseAction",
      "causes" : [
        {
          "_class" : "hudson.model.Cause$UserIdCause",
          "shortDescription" : "Started by user pmaier@sysmocom.de",
          "userId" : "pmaier",
          "userName" : "pmaier@sysmocom.de"
        }
      ]
    },
    {
      "_class" : "jenkins.metrics.impl.TimeInQueueAction",
      "blockedDurationMillis" : 0,
      "blockedTimeMillis" : 0,
      "buildableDurationMillis" : 0,
      "buildableTimeMillis" : 0,
      "buildingDurationMillis" : 878526,
      "executingTimeMillis" : 878526,
      "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" : 1971,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "a4895702d7b5feacb2430ea2491a1449abf1728d",
            "branch" : [
              {
                "SHA1" : "a4895702d7b5feacb2430ea2491a1449abf1728d",
                "name" : "origin/master"
              }
            ]
          },
          "revision" : {
            "SHA1" : "a4895702d7b5feacb2430ea2491a1449abf1728d",
            "branch" : [
              {
                "SHA1" : "a4895702d7b5feacb2430ea2491a1449abf1728d",
                "name" : "origin/master"
              }
            ]
          }
        },
        "refs/remotes/origin/pmaier/ara-m" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1320,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "8f289234f74045496c3752bf1bb9397302f3e912",
            "branch" : [
              {
                "SHA1" : "8f289234f74045496c3752bf1bb9397302f3e912",
                "name" : "refs/remotes/origin/pmaier/ara-m"
              }
            ]
          },
          "revision" : {
            "SHA1" : "8f289234f74045496c3752bf1bb9397302f3e912",
            "branch" : [
              {
                "SHA1" : "8f289234f74045496c3752bf1bb9397302f3e912",
                "name" : "refs/remotes/origin/pmaier/ara-m"
              }
            ]
          }
        },
        "refs/remotes/origin/pmaier/keepfiles" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1353,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "3d815859830197b9c55e0a49a1bd2532f71285e1",
            "branch" : [
              {
                "SHA1" : "3d815859830197b9c55e0a49a1bd2532f71285e1",
                "name" : "refs/remotes/origin/pmaier/keepfiles"
              }
            ]
          },
          "revision" : {
            "SHA1" : "3d815859830197b9c55e0a49a1bd2532f71285e1",
            "branch" : [
              {
                "SHA1" : "3d815859830197b9c55e0a49a1bd2532f71285e1",
                "name" : "refs/remotes/origin/pmaier/keepfiles"
              }
            ]
          }
        },
        "refs/remotes/origin/pmaier/fixapdu" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1421,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "568e8ae9b817ec2473907bfdd30870410890ffb0",
            "branch" : [
              {
                "SHA1" : "568e8ae9b817ec2473907bfdd30870410890ffb0",
                "name" : "refs/remotes/origin/pmaier/fixapdu"
              }
            ]
          },
          "revision" : {
            "SHA1" : "568e8ae9b817ec2473907bfdd30870410890ffb0",
            "branch" : [
              {
                "SHA1" : "568e8ae9b817ec2473907bfdd30870410890ffb0",
                "name" : "refs/remotes/origin/pmaier/fixapdu"
              }
            ]
          }
        },
        "refs/remotes/origin/pmaier/aramtest" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1467,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "6a555ac5ccad9ee2cae5e0ba247990f824f8e9b6",
            "branch" : [
              {
                "SHA1" : "6a555ac5ccad9ee2cae5e0ba247990f824f8e9b6",
                "name" : "refs/remotes/origin/pmaier/aramtest"
              }
            ]
          },
          "revision" : {
            "SHA1" : "6a555ac5ccad9ee2cae5e0ba247990f824f8e9b6",
            "branch" : [
              {
                "SHA1" : "6a555ac5ccad9ee2cae5e0ba247990f824f8e9b6",
                "name" : "refs/remotes/origin/pmaier/aramtest"
              }
            ]
          }
        },
        "refs/remotes/origin/osmith/wip" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1816,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "e4ea1c997348370ba1d7415bfd926ac873b58c87",
            "branch" : [
              {
                "SHA1" : "e4ea1c997348370ba1d7415bfd926ac873b58c87",
                "name" : "refs/remotes/origin/osmith/wip"
              }
            ]
          },
          "revision" : {
            "SHA1" : "e4ea1c997348370ba1d7415bfd926ac873b58c87",
            "branch" : [
              {
                "SHA1" : "e4ea1c997348370ba1d7415bfd926ac873b58c87",
                "name" : "refs/remotes/origin/osmith/wip"
              }
            ]
          }
        },
        "refs/remotes/origin/pmaier/otatest" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1972,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "27d0d666dcbdf1022e1f021f86365c888fdc8f7f",
            "branch" : [
              {
                "SHA1" : "27d0d666dcbdf1022e1f021f86365c888fdc8f7f",
                "name" : "refs/remotes/origin/pmaier/otatest"
              }
            ]
          },
          "revision" : {
            "SHA1" : "27d0d666dcbdf1022e1f021f86365c888fdc8f7f",
            "branch" : [
              {
                "SHA1" : "27d0d666dcbdf1022e1f021f86365c888fdc8f7f",
                "name" : "refs/remotes/origin/pmaier/otatest"
              }
            ]
          }
        },
        "refs/remotes/origin/master" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 402,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "4f888a0414101dee4f20aa12579491fcc71707b3",
            "branch" : [
              {
                "SHA1" : "4f888a0414101dee4f20aa12579491fcc71707b3",
                "name" : "refs/remotes/origin/master"
              }
            ]
          },
          "revision" : {
            "SHA1" : "4f888a0414101dee4f20aa12579491fcc71707b3",
            "branch" : [
              {
                "SHA1" : "4f888a0414101dee4f20aa12579491fcc71707b3",
                "name" : "refs/remotes/origin/master"
              }
            ]
          }
        }
      },
      "lastBuiltRevision" : {
        "SHA1" : "27d0d666dcbdf1022e1f021f86365c888fdc8f7f",
        "branch" : [
          {
            "SHA1" : "27d0d666dcbdf1022e1f021f86365c888fdc8f7f",
            "name" : "refs/remotes/origin/pmaier/otatest"
          }
        ]
      },
      "remoteUrls" : [
        "https://gerrit.osmocom.org/pysim"
      ],
      "scmName" : ""
    },
    {
      
    },
    {
      
    },
    {
      "_class" : "org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction"
    }
  ],
  "artifacts" : [
    
  ],
  "building" : False,
  "description" : None,
  "displayName" : "#1972",
  "duration" : 878526,
  "estimatedDuration" : 1436383,
  "executor" : None,
  "fullDisplayName" : "master-pysim #1972",
  "id" : "1972",
  "inProgress" : False,
  "keepLog" : False,
  "number" : 1972,
  "queueId" : 17973,
  "result" : "SUCCESS",
  "timestamp" : 1769689032537,
  "url" : "https://jenkins.osmocom.org/jenkins/view/OsmocomBB/job/master-pysim/1972/",
  "builtOn" : "",
  "changeSet" : {
    "_class" : "hudson.plugins.git.GitChangeSetList",
    "items" : [
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tests/unittests/test_esim_saip.py",
          "pySim/esim/saip/__init__.py"
        ],
        "commitId" : "d8c45dc07eda3e335826b5dc0dab5b2d17c7b55a",
        "timestamp" : 1769458745000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/laforge",
          "fullName" : "laforge"
        },
        "authorEmail" : "laforge@osmocom.org",
        "comment" : "pySim.esim.saip: Implement optimized file content encoding\u000a\u000aMake sure we make use of the fill pattern when encoding file contents:\u000aOnly encode the differences to the fill pattern of the file, in order\u000ato reduce the profile download size.\u000a\u000aChange-Id: I61e4a5e04beba5c9092979fc546292d5ef3d7aad\u000a",
        "date" : "2026-01-26 21:19:05 +0100",
        "id" : "d8c45dc07eda3e335826b5dc0dab5b2d17c7b55a",
        "msg" : "pySim.esim.saip: Implement optimized file content encoding",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tests/unittests/test_esim_saip.py"
          },
          {
            "editType" : "edit",
            "file" : "pySim/esim/saip/__init__.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "pySim/esim/saip/__init__.py"
        ],
        "commitId" : "167d6aca365b64c84b2485a70cb43bbf3a4e4f2d",
        "timestamp" : 1769458757000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/laforge",
          "fullName" : "laforge"
        },
        "authorEmail" : "laforge@osmocom.org",
        "comment" : "pySim.esim.saip: Don't try to generate file contents for MF/DF/ADF\u000a\u000aonly EFs have data content\u000a\u000aChange-Id: I02a54a3b2f73a0e9118db87f8b514d1dbf53971f\u000a",
        "date" : "2026-01-26 21:19:17 +0100",
        "id" : "167d6aca365b64c84b2485a70cb43bbf3a4e4f2d",
        "msg" : "pySim.esim.saip: Don't try to generate file contents for MF/DF/ADF",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "pySim/esim/saip/__init__.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "contrib/csv-to-pgsql.py",
          "pySim-shell.py",
          "contrib/es2p_server.py",
          "pySim/runtime.py",
          "pySim/card_key_provider.py",
          "pySim/log.py",
          "tests/unittests/test_log.py"
        ],
        "commitId" : "2b42877389e9f0cdbc831f7b06ed5917670bb138",
        "timestamp" : 1769599194000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pmaier",
          "fullName" : "pmaier@sysmocom.de"
        },
        "authorEmail" : "pmaier@sysmocom.de",
        "comment" : "pySimLogger: user __name__ of the module when creating a new logger\u000a\u000aAt the moment we use random identifiers as names when we create a\u000anew logger for pySimLogger. Let's switch to consistently use the\u000amodule name here. For the top level modules let's use the program\u000aname so that it will show up in the log instead of __init__.\u000a\u000aChange-Id: I49a9beb98845f66247edd42ed548980c97a7151a\u000a",
        "date" : "2026-01-28 12:19:54 +0100",
        "id" : "2b42877389e9f0cdbc831f7b06ed5917670bb138",
        "msg" : "pySimLogger: user __name__ of the module when creating a new logger",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "pySim/runtime.py"
          },
          {
            "editType" : "edit",
            "file" : "pySim/card_key_provider.py"
          },
          {
            "editType" : "edit",
            "file" : "pySim/log.py"
          },
          {
            "editType" : "edit",
            "file" : "contrib/csv-to-pgsql.py"
          },
          {
            "editType" : "edit",
            "file" : "pySim-shell.py"
          },
          {
            "editType" : "edit",
            "file" : "tests/unittests/test_log.py"
          },
          {
            "editType" : "edit",
            "file" : "contrib/es2p_server.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "pySim/transport/__init__.py"
        ],
        "commitId" : "a4895702d7b5feacb2430ea2491a1449abf1728d",
        "timestamp" : 1769599194000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pmaier",
          "fullName" : "pmaier@sysmocom.de"
        },
        "authorEmail" : "pmaier@sysmocom.de",
        "comment" : "transport/init: use PySimLogger to print messages\u000a\u000aThe module still uses print to output information. Let's replace\u000athose print calls with the more modern PySimLogger method calls.\u000a\u000aChange-Id: I2e2ec2b84f3b84dbd8a029ae9bb64b7a96ddbde3\u000a",
        "date" : "2026-01-28 12:19:54 +0100",
        "id" : "a4895702d7b5feacb2430ea2491a1449abf1728d",
        "msg" : "transport/init: use PySimLogger to print messages",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "pySim/transport/__init__.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tests/pySim-smpp2sim_test/pySim-smpp2sim_test.sh",
          "tests/pySim-smpp2sim_test/pySim-smpp2sim_test.cfg",
          "requirements.txt",
          "contrib/smpp-ota-tool.py",
          "setup.py",
          "contrib/jenkins.sh",
          "pySim/ota.py"
        ],
        "commitId" : "27d0d666dcbdf1022e1f021f86365c888fdc8f7f",
        "timestamp" : 1769688898000,
        "author" : {
          "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pmaier",
          "fullName" : "pmaier@sysmocom.de"
        },
        "authorEmail" : "pmaier@sysmocom.de",
        "comment" : "tests/pySim-smpp2sim_test: add integration test\u000a\u000aAt the moment pySim.ota codebase is not covered by any of the\u000aintegration tests (we have only normal unittests so far). To\u000aincrease the test coverage, let's add an integration test that\u000asends exchanges an RFM OTA-SMS with a real-world card.\u000a\u000aHowever, there is no tool avaliable that can be used as an SMPP\u000aclient for pySim-smpp2sim yet. Let's use smpp_ota_apdu2.py on\u000alaforge/ota to develop a tool that we can use to exchange SMS-TPDUs\u000athat contain remote APDU scripts (RFM/RAM).\u000a\u000aFinally let's use the tool we have created as a basis to create\u000aan integration test that exchanges an SMS-TPDU with the RFM\u000aapplication of a sysmoISIM-SJA5 card. The testcase shall pass\u000awhen we get the expected response from the card.\u000a\u000aRelated: OS#6868\u000aChange-Id: If25e38be004cc1c7aeeb130431831377e78fe28d\u000a",
        "date" : "2026-01-29 13:14:58 +0100",
        "id" : "27d0d666dcbdf1022e1f021f86365c888fdc8f7f",
        "msg" : "tests/pySim-smpp2sim_test: add integration test",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "contrib/jenkins.sh"
          },
          {
            "editType" : "edit",
            "file" : "requirements.txt"
          },
          {
            "editType" : "add",
            "file" : "tests/pySim-smpp2sim_test/pySim-smpp2sim_test.sh"
          },
          {
            "editType" : "edit",
            "file" : "setup.py"
          },
          {
            "editType" : "edit",
            "file" : "pySim/ota.py"
          },
          {
            "editType" : "add",
            "file" : "contrib/smpp-ota-tool.py"
          },
          {
            "editType" : "add",
            "file" : "tests/pySim-smpp2sim_test/pySim-smpp2sim_test.cfg"
          }
        ]
      }
    ],
    "kind" : "git"
  },
  "culprits" : [
    {
      "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/pmaier",
      "fullName" : "pmaier@sysmocom.de"
    },
    {
      "absoluteUrl" : "https://jenkins.osmocom.org/jenkins/user/laforge",
      "fullName" : "laforge"
    }
  ],
  "runs" : [
    {
      "number" : 1972,
      "url" : "https://jenkins.osmocom.org/jenkins/view/OsmocomBB/job/master-pysim/JOB_TYPE=docs,a1=default,a3=default,a4=default,label=osmocom-master/1972/"
    },
    {
      "number" : 1972,
      "url" : "https://jenkins.osmocom.org/jenkins/view/OsmocomBB/job/master-pysim/JOB_TYPE=pylint,a1=default,a3=default,a4=default,label=osmocom-master/1972/"
    },
    {
      "number" : 1972,
      "url" : "https://jenkins.osmocom.org/jenkins/view/OsmocomBB/job/master-pysim/JOB_TYPE=test,a1=default,a3=default,a4=default,label=simtester/1972/"
    }
  ]
}