get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/patches/87644/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 87644,
    "url": "https://patches.dpdk.org/api/patches/87644/?format=api",
    "web_url": "https://patches.dpdk.org/project/dpdk/patch/20210202165816.3767724-4-ciara.power@intel.com/",
    "project": {
        "id": 1,
        "url": "https://patches.dpdk.org/api/projects/1/?format=api",
        "name": "DPDK",
        "link_name": "dpdk",
        "list_id": "dev.dpdk.org",
        "list_email": "dev@dpdk.org",
        "web_url": "http://core.dpdk.org",
        "scm_url": "git://dpdk.org/dpdk",
        "webscm_url": "http://git.dpdk.org/dpdk",
        "list_archive_url": "https://inbox.dpdk.org/dev",
        "list_archive_url_format": "https://inbox.dpdk.org/dev/{}",
        "commit_url_format": ""
    },
    "msgid": "<20210202165816.3767724-4-ciara.power@intel.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20210202165816.3767724-4-ciara.power@intel.com",
    "date": "2021-02-02T16:58:16",
    "name": "[v2,3/3] test/cryptodev: fix handling for config parameters",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": true,
    "hash": "10bb41c2e04974dfb93edfea36077565125d32c7",
    "submitter": {
        "id": 978,
        "url": "https://patches.dpdk.org/api/people/978/?format=api",
        "name": "Power, Ciara",
        "email": "ciara.power@intel.com"
    },
    "delegate": {
        "id": 6690,
        "url": "https://patches.dpdk.org/api/users/6690/?format=api",
        "username": "akhil",
        "first_name": "akhil",
        "last_name": "goyal",
        "email": "gakhil@marvell.com"
    },
    "mbox": "https://patches.dpdk.org/project/dpdk/patch/20210202165816.3767724-4-ciara.power@intel.com/mbox/",
    "series": [
        {
            "id": 15107,
            "url": "https://patches.dpdk.org/api/series/15107/?format=api",
            "web_url": "https://patches.dpdk.org/project/dpdk/list/?series=15107",
            "date": "2021-02-02T16:58:14",
            "name": "Update crypto perf script and doc",
            "version": 2,
            "mbox": "https://patches.dpdk.org/series/15107/mbox/"
        }
    ],
    "comments": "https://patches.dpdk.org/api/patches/87644/comments/",
    "check": "fail",
    "checks": "https://patches.dpdk.org/api/patches/87644/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "X-Original-To": "patchwork@inbox.dpdk.org",
        "Delivered-To": "patchwork@inbox.dpdk.org",
        "Received": [
            "from mails.dpdk.org (mails.dpdk.org [217.70.189.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id 91345A052A;\n\tTue,  2 Feb 2021 17:59:16 +0100 (CET)",
            "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id EE4C0240375;\n\tTue,  2 Feb 2021 17:58:55 +0100 (CET)",
            "from mga01.intel.com (mga01.intel.com [192.55.52.88])\n by mails.dpdk.org (Postfix) with ESMTP id BC6F724034B\n for <dev@dpdk.org>; Tue,  2 Feb 2021 17:58:51 +0100 (CET)",
            "from orsmga001.jf.intel.com ([10.7.209.18])\n by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 02 Feb 2021 08:58:49 -0800",
            "from silpixa00400355.ir.intel.com (HELO\n silpixa00400355.ger.corp.intel.com) ([10.237.223.148])\n by orsmga001.jf.intel.com with ESMTP; 02 Feb 2021 08:58:46 -0800"
        ],
        "IronPort-SDR": [
            "\n uPJCldJ2T5DwrcOAF1GYUfJhJEaBKmVIjF4ulOy7RvYY6tGJiZHF44Cmhr0yoRgbvbG+k0/RWN\n q7YFmSRcW2aw==",
            "\n 8KrrqbCb5Wh31cvWJR3n6bngie1bY/9NEm9tknJKmWO6VCCq1ukLA96V+wSdHg7tNeyRYWmgv+\n +7N9AHE4RF1A=="
        ],
        "X-IronPort-AV": [
            "E=McAfee;i=\"6000,8403,9883\"; a=\"199815014\"",
            "E=Sophos;i=\"5.79,395,1602572400\"; d=\"scan'208\";a=\"199815014\"",
            "E=Sophos;i=\"5.79,395,1602572400\"; d=\"scan'208\";a=\"433003929\""
        ],
        "X-ExtLoop1": "1",
        "From": "Ciara Power <ciara.power@intel.com>",
        "To": "dev@dpdk.org",
        "Cc": "akhil.goyal@nxp.com, declan.doherty@intel.com, adamx.dybkowski@intel.com,\n Ciara Power <ciara.power@intel.com>",
        "Date": "Tue,  2 Feb 2021 16:58:16 +0000",
        "Message-Id": "<20210202165816.3767724-4-ciara.power@intel.com>",
        "X-Mailer": "git-send-email 2.25.1",
        "In-Reply-To": "<20210202165816.3767724-1-ciara.power@intel.com>",
        "References": "<20210202114847.3724834-1-ciara.power@intel.com>\n <20210202165816.3767724-1-ciara.power@intel.com>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Subject": "[dpdk-dev] [PATCH v2 3/3] test/cryptodev: fix handling for config\n parameters",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.29",
        "Precedence": "list",
        "List-Id": "DPDK patches and discussions <dev.dpdk.org>",
        "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n <mailto:dev-request@dpdk.org?subject=unsubscribe>",
        "List-Archive": "<http://mails.dpdk.org/archives/dev/>",
        "List-Post": "<mailto:dev@dpdk.org>",
        "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
        "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n <mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "The crypto perf graphing script did not handle parsing parameters\nfrom the JSON config files correctly.\nA common parsing function is used for both EAL and app parameters,\nto ensure they are handled the same way and to reduce code duplication.\nShort parameters are now passed with the value being a second argument,\nrather than as one argument with dividing space.\nLong parameters with no expected value are supported for EAL now also.\ne.g. \"--no-huge\" can be added to config as \"no-huge\": true\n\nFixes: f400e0b82bf1 (\"app/crypto-perf: add script to graph perf results\")\n\nSigned-off-by: Ciara Power <ciara.power@intel.com>\n---\n .../dpdk-graph-crypto-perf.py                 | 35 +++++++++----------\n 1 file changed, 17 insertions(+), 18 deletions(-)",
    "diff": "diff --git a/app/test-crypto-perf/dpdk-graph-crypto-perf.py b/app/test-crypto-perf/dpdk-graph-crypto-perf.py\nindex f4341ee718..02322d2d7e 100755\n--- a/app/test-crypto-perf/dpdk-graph-crypto-perf.py\n+++ b/app/test-crypto-perf/dpdk-graph-crypto-perf.py\n@@ -192,10 +192,23 @@ def run_test(test_cmd, test, grapher, params, verbose):\n     return\n \n \n+def parse_parameters(config_parameters):\n+    \"\"\"Convert the JSON config to list of strings.\"\"\"\n+    params = []\n+    for (key, val) in config_parameters:\n+        if isinstance(val, bool):\n+            params.append(\"--\" + key if val is True else \"\")\n+        elif len(key) == 1:\n+            params.append(\"-\" + key)\n+            params.append(val)\n+        else:\n+            params.append(\"--\" + key + \"=\" + val)\n+    return params\n+\n+\n def run_test_suite(test_cmd, suite_config, verbose):\n     \"\"\"Parse test cases for the test suite and run each test.\"\"\"\n     print(\"\\nRunning Test Suite: \" + suite_config['suite'])\n-    default_params = []\n     graph_path = os.path.join(suite_config['output_path'], GRAPH_DIR,\n                               suite_config['suite'], \"\")\n     grapher = Grapher(suite_config['config_name'], suite_config['suite'],\n@@ -204,18 +217,10 @@ def run_test_suite(test_cmd, suite_config, verbose):\n     if 'default' not in test_cases:\n         print(\"Test Suite must contain default case, skipping\")\n         return\n-    for (key, val) in test_cases['default']['eal'].items():\n-        if len(key) == 1:\n-            default_params.append(\"-\" + key + \" \" + val)\n-        else:\n-            default_params.append(\"--\" + key + \"=\" + val)\n \n+    default_params = parse_parameters(test_cases['default']['eal'].items())\n     default_params.append(\"--\")\n-    for (key, val) in test_cases['default']['app'].items():\n-        if isinstance(val, bool):\n-            default_params.append(\"--\" + key if val is True else \"\")\n-        else:\n-            default_params.append(\"--\" + key + \"=\" + val)\n+    default_params += parse_parameters(test_cases['default']['app'].items())\n \n     if 'ptest' not in test_cases['default']['app']:\n         print(\"Test Suite must contain default ptest value, skipping\")\n@@ -224,13 +229,7 @@ def run_test_suite(test_cmd, suite_config, verbose):\n \n     for (test, params) in {k: v for (k, v) in test_cases.items() if\n                            k != \"default\"}.items():\n-        extra_params = []\n-        for (key, val) in params.items():\n-            if isinstance(val, bool):\n-                extra_params.append(\"--\" + key if val is True else \"\")\n-            else:\n-                extra_params.append(\"--\" + key + \"=\" + val)\n-\n+        extra_params = parse_parameters(params.items())\n         run_test(test_cmd, test, grapher, default_params + extra_params,\n                  verbose)\n \n",
    "prefixes": [
        "v2",
        "3/3"
    ]
}