get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 814544,
    "url": "http://patchwork.ozlabs.org/api/1.2/patches/814544/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/buildroot/patch/bead9472ebddf2faaa023fd64dfe511e48827b0f.1505594291.git.yann.morin.1998@free.fr/",
    "project": {
        "id": 27,
        "url": "http://patchwork.ozlabs.org/api/1.2/projects/27/?format=api",
        "name": "Buildroot development",
        "link_name": "buildroot",
        "list_id": "buildroot.buildroot.org",
        "list_email": "buildroot@buildroot.org",
        "web_url": "",
        "scm_url": "",
        "webscm_url": "",
        "list_archive_url": "",
        "list_archive_url_format": "",
        "commit_url_format": ""
    },
    "msgid": "<bead9472ebddf2faaa023fd64dfe511e48827b0f.1505594291.git.yann.morin.1998@free.fr>",
    "list_archive_url": null,
    "date": "2017-09-16T20:38:20",
    "name": "[1/2] support/run-tests: move packages tests to packages directories",
    "commit_ref": null,
    "pull_url": null,
    "state": "changes-requested",
    "archived": false,
    "hash": "e8cb21e5f3a4dc4b8753c3edf3241fb46fe6ee0f",
    "submitter": {
        "id": 13903,
        "url": "http://patchwork.ozlabs.org/api/1.2/people/13903/?format=api",
        "name": "Yann E. MORIN",
        "email": "yann.morin.1998@free.fr"
    },
    "delegate": null,
    "mbox": "http://patchwork.ozlabs.org/project/buildroot/patch/bead9472ebddf2faaa023fd64dfe511e48827b0f.1505594291.git.yann.morin.1998@free.fr/mbox/",
    "series": [
        {
            "id": 3469,
            "url": "http://patchwork.ozlabs.org/api/1.2/series/3469/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/buildroot/list/?series=3469",
            "date": "2017-09-16T20:38:20",
            "name": "[1/2] support/run-tests: move packages tests to packages directories",
            "version": 1,
            "mbox": "http://patchwork.ozlabs.org/series/3469/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/814544/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/814544/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<buildroot-bounces@busybox.net>",
        "X-Original-To": [
            "incoming@patchwork.ozlabs.org",
            "buildroot@lists.busybox.net"
        ],
        "Delivered-To": [
            "patchwork-incoming@bilbo.ozlabs.org",
            "buildroot@osuosl.org"
        ],
        "Authentication-Results": [
            "ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=busybox.net\n\t(client-ip=140.211.166.136; helo=silver.osuosl.org;\n\tenvelope-from=buildroot-bounces@busybox.net;\n\treceiver=<UNKNOWN>)",
            "ozlabs.org;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n\tunprotected) header.d=gmail.com header.i=@gmail.com\n\theader.b=\"SGOwu+Jp\"; dkim-atps=neutral"
        ],
        "Received": [
            "from silver.osuosl.org (smtp3.osuosl.org [140.211.166.136])\n\t(using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3xvkcp0PKRz9sRm\n\tfor <incoming@patchwork.ozlabs.org>;\n\tSun, 17 Sep 2017 06:38:33 +1000 (AEST)",
            "from localhost (localhost [127.0.0.1])\n\tby silver.osuosl.org (Postfix) with ESMTP id 3F2C3307CE;\n\tSat, 16 Sep 2017 20:38:31 +0000 (UTC)",
            "from silver.osuosl.org ([127.0.0.1])\n\tby localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024)\n\twith ESMTP id mUB+VTKhJ9LW; Sat, 16 Sep 2017 20:38:30 +0000 (UTC)",
            "from ash.osuosl.org (ash.osuosl.org [140.211.166.34])\n\tby silver.osuosl.org (Postfix) with ESMTP id 1FDE630708;\n\tSat, 16 Sep 2017 20:38:30 +0000 (UTC)",
            "from fraxinus.osuosl.org (smtp4.osuosl.org [140.211.166.137])\n\tby ash.osuosl.org (Postfix) with ESMTP id 5F01C1C1F5B\n\tfor <buildroot@lists.busybox.net>;\n\tSat, 16 Sep 2017 20:38:28 +0000 (UTC)",
            "from localhost (localhost [127.0.0.1])\n\tby fraxinus.osuosl.org (Postfix) with ESMTP id 56E5688D28\n\tfor <buildroot@lists.busybox.net>;\n\tSat, 16 Sep 2017 20:38:28 +0000 (UTC)",
            "from fraxinus.osuosl.org ([127.0.0.1])\n\tby localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024)\n\twith ESMTP id XBNu5Vspz0Mu for <buildroot@lists.busybox.net>;\n\tSat, 16 Sep 2017 20:38:27 +0000 (UTC)",
            "from mail-wm0-f66.google.com (mail-wm0-f66.google.com\n\t[74.125.82.66])\n\tby fraxinus.osuosl.org (Postfix) with ESMTPS id 0789E88D2F\n\tfor <buildroot@buildroot.org>; Sat, 16 Sep 2017 20:38:27 +0000 (UTC)",
            "by mail-wm0-f66.google.com with SMTP id x17so5498232wmd.5\n\tfor <buildroot@buildroot.org>; Sat, 16 Sep 2017 13:38:26 -0700 (PDT)",
            "from localhost.localdomain\n\t(2a01cb088610730010ddb904e4e3a574.ipv6.abo.wanadoo.fr.\n\t[2a01:cb08:8610:7300:10dd:b904:e4e3:a574])\n\tby smtp.gmail.com with ESMTPSA id\n\t66sm3733187wmn.37.2017.09.16.13.38.23\n\t(version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);\n\tSat, 16 Sep 2017 13:38:24 -0700 (PDT)"
        ],
        "X-Virus-Scanned": [
            "amavisd-new at osuosl.org",
            "amavisd-new at osuosl.org"
        ],
        "X-Greylist": "domain auto-whitelisted by SQLgrey-1.7.6",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;\n\th=sender:from:to:cc:subject:date:message-id:in-reply-to:references;\n\tbh=Qy2YDc6L4YkLHShLZvXkmKE2h+j4BTMMHa0Np/0qCmE=;\n\tb=SGOwu+JpKa5GWGAaWOkr9k9mT+FGNiO7st/UpgzYfPwI+KELynyF0rJE53J+PKev7+\n\tNpKkME1toXJ6afcp4VJsHI+NtiJrHjEa4CZAMA5aITIoaSg9rxvrAytUTo+1MoVp3x6M\n\th/y8hbCF+um903mMpIpxudGZtu4dytwxeTbw+jcub7wh/oubpAzPfsyYDheY2FL0uR6f\n\txS2VuSlPzIB1P+em3FdX5TUsQfYvcrDE8eW3sKE3Jb3coyDlE4YkSS4xL5WiNooMkw08\n\tWU4V9X7AZ21rbOmV+yJ4ay5B9Pk1cME/vDGY7xU1NZ8knvlm00Y1cR4sDPofZLURtBp7\n\tzzow==",
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:sender:from:to:cc:subject:date:message-id\n\t:in-reply-to:references;\n\tbh=Qy2YDc6L4YkLHShLZvXkmKE2h+j4BTMMHa0Np/0qCmE=;\n\tb=U/MRbP/YzPaVgY/wlkeYAuSf5VbF98QB6oucBiTSbVqD6S0VH07MCB4JOa1WkT9KTs\n\tQPb/TP87F/yaur2RAHaVH6Dw7amKXRSkcfycVyYIrZd+WT7EfMdUSWyaIhTfwXtINjDr\n\tcgBHOjXQi79CU6g/1h3OZjaW/W4ySM1R3Y7KXqvSN+nzRVqQa0vHs0vEJGxzZD1YenqR\n\tSF54WJ6LDDkqmdZSDRKLJ03LyZPgrvgN4Hrpmhwd9BWMT8b+5PjMctzkcC9W8uYuPj4L\n\tSrW1Qwe3EE7vPXW+w0c1i18yOl4z8O1Im1CiJBJzP6Wxy5VLfIGJjYiQoYOXrcXOr8SI\n\tffNA==",
        "X-Gm-Message-State": "AHPjjUjk4qhazxAoM0TWWqbDMYUUazo58DdpLxbyqLNt+lmtWSuTC9by\n\tiNa9s7T3kX+EjJOQuEcFQ078Cg==",
        "X-Google-Smtp-Source": "AOwi7QD1U2C0iUOAhkdG+MDiO/Uf3BBCU9Vv59/Y4x3M6T2Zu2U6K+X4JjySuCC8RanV7DqZOXeeyg==",
        "X-Received": "by 10.28.92.73 with SMTP id q70mr5839789wmb.150.1505594305019;\n\tSat, 16 Sep 2017 13:38:25 -0700 (PDT)",
        "From": "\"Yann E. MORIN\" <yann.morin.1998@free.fr>",
        "To": "buildroot@buildroot.org",
        "Date": "Sat, 16 Sep 2017 22:38:20 +0200",
        "Message-Id": "<bead9472ebddf2faaa023fd64dfe511e48827b0f.1505594291.git.yann.morin.1998@free.fr>",
        "X-Mailer": "git-send-email 2.11.0",
        "In-Reply-To": "<cover.1505594291.git.yann.morin.1998@free.fr>",
        "References": "<cover.1505594291.git.yann.morin.1998@free.fr>",
        "Cc": "Thomas Petazzoni <thomas.petazzoni@free-electrons.com>,\n\t\"Yann E. MORIN\" <yann.morin.1998@free.fr>,\n\tRicardo Martincoski <ricardo.martincoski@gmail.com>",
        "Subject": "[Buildroot] [PATCH 1/2] support/run-tests: move packages tests to\n\tpackages directories",
        "X-BeenThere": "buildroot@busybox.net",
        "X-Mailman-Version": "2.1.18-1",
        "Precedence": "list",
        "List-Id": "Discussion and development of buildroot <buildroot.busybox.net>",
        "List-Unsubscribe": "<http://lists.busybox.net/mailman/options/buildroot>,\n\t<mailto:buildroot-request@busybox.net?subject=unsubscribe>",
        "List-Archive": "<http://lists.busybox.net/pipermail/buildroot/>",
        "List-Post": "<mailto:buildroot@busybox.net>",
        "List-Help": "<mailto:buildroot-request@busybox.net?subject=help>",
        "List-Subscribe": "<http://lists.busybox.net/mailman/listinfo/buildroot>,\n\t<mailto:buildroot-request@busybox.net?subject=subscribe>",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain; charset=\"us-ascii\"",
        "Content-Transfer-Encoding": "7bit",
        "Errors-To": "buildroot-bounces@busybox.net",
        "Sender": "\"buildroot\" <buildroot-bounces@busybox.net>"
    },
    "content": "Move the existing few packages' tests to the correspnding package\ndirectories.\n\nIf we were to add the package/ directory to nose2's search path, we\nwould have to add __init__.py files about everywhere, at each level of\nthe directory hierarchy, because nose2 only includes tests that are in a\npython pacakge (a directory with a __init__.py file is a python package).\nThis is far from ideal, especially since we have absolutely nothing to\nput in those __init__.py files.\n\nAn alternative is to just scan the package/ directory ourselves, and\ncreate symlinks in a sub-directory of support/tessting/tests/ so that\nnose2 does find them. We have no two packages with the same name, we\ndon't risk having two symlinks with the same name.\n\nThat second solution is what we choose to do, at the cost of a slight\nincrease in complexity in the run-test script.\n\nSigned-off-by: \"Yann E. MORIN\" <yann.morin.1998@free.fr>\nCc: Ricardo Martincoski <ricardo.martincoski@gmail.com>\nCc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>\nCc: Arnout Vandecappelle <arnout@mind.be>\nCc: Samuel Martin <s.martin49@gmail.com>\n---\n .gitignore                                         |  1 +\n .../dropbear/dropbear.py                           |  0\n .../python-ipython/python-ipython.py               |  0\n .../test_python.py => package/python/python.py     |  0\n support/testing/run-tests                          | 22 ++++++++++++++++++++++\n support/testing/tests/package/__init__.py          |  0\n 6 files changed, 23 insertions(+)\n rename support/testing/tests/package/test_dropbear.py => package/dropbear/dropbear.py (100%)\n rename support/testing/tests/package/test_ipython.py => package/python-ipython/python-ipython.py (100%)\n rename support/testing/tests/package/test_python.py => package/python/python.py (100%)\n delete mode 100644 support/testing/tests/package/__init__.py\n\ndiff --git a/support/testing/tests/package/__init__.py b/support/testing/tests/package/__init__.py\ndeleted file mode 100644\nindex e69de29bb2..0000000000",
    "diff": "diff --git a/.gitignore b/.gitignore\nindex bb02d9f572..e85c07f99a 100644\n--- a/.gitignore\n+++ b/.gitignore\n@@ -9,6 +9,7 @@\n *.o\n /*.patch\n /*.diff\n+/support/testing/tests/package/\n *.orig\n *.rej\n *~\ndiff --git a/support/testing/tests/package/test_dropbear.py b/package/dropbear/dropbear.py\nsimilarity index 100%\nrename from support/testing/tests/package/test_dropbear.py\nrename to package/dropbear/dropbear.py\ndiff --git a/support/testing/tests/package/test_ipython.py b/package/python-ipython/python-ipython.py\nsimilarity index 100%\nrename from support/testing/tests/package/test_ipython.py\nrename to package/python-ipython/python-ipython.py\ndiff --git a/support/testing/tests/package/test_python.py b/package/python/python.py\nsimilarity index 100%\nrename from support/testing/tests/package/test_python.py\nrename to package/python/python.py\ndiff --git a/support/testing/run-tests b/support/testing/run-tests\nindex ae0bd336b5..67736331ae 100755\n--- a/support/testing/run-tests\n+++ b/support/testing/run-tests\n@@ -2,6 +2,9 @@\n import argparse\n import sys\n import os\n+import errno\n+import shutil\n+import re\n import nose2\n import multiprocessing\n \n@@ -36,6 +39,9 @@ def main():\n     script_path = os.path.realpath(__file__)\n     test_dir = os.path.dirname(script_path)\n \n+    gatheradditionaltests(os.path.abspath(\".\"),\n+                          os.path.join(test_dir,\"tests\",\"package\"))\n+\n     if args.stdout:\n         BRTest.logtofile = False\n \n@@ -116,5 +122,21 @@ def main():\n \n     nose2.discover(argv=nose2_args)\n \n+def gatheradditionaltests(search_dir, symlink_dir):\n+    try:\n+        shutil.rmtree(symlink_dir)\n+    except OSError as err:\n+        if not err.errno == errno.ENOENT:\n+            raise err\n+        pass\n+    os.mkdir(symlink_dir)\n+    open(os.path.join(symlink_dir,\"__init__.py\"), \"w\").close()\n+    for dir, _, files in os.walk(os.path.abspath(search_dir)):\n+        package = os.path.basename(dir)\n+        for file in files:\n+            if re.match(\"^{}.py$\".format(package),file):\n+                os.symlink(os.path.join(dir,file),\n+                           os.path.join(symlink_dir,\"test_{}.py\".format(package)))\n+\n if __name__ == \"__main__\":\n     sys.exit(main())\n",
    "prefixes": [
        "1/2"
    ]
}