get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 125553,
    "url": "http://patches.dpdk.org/api/patches/125553/?format=api",
    "web_url": "http://patches.dpdk.org/project/dts/patch/20230328085557.3796893-3-weix.ling@intel.com/",
    "project": {
        "id": 3,
        "url": "http://patches.dpdk.org/api/projects/3/?format=api",
        "name": "DTS",
        "link_name": "dts",
        "list_id": "dts.dpdk.org",
        "list_email": "dts@dpdk.org",
        "web_url": "",
        "scm_url": "git://dpdk.org/tools/dts",
        "webscm_url": "http://git.dpdk.org/tools/dts/",
        "list_archive_url": "https://inbox.dpdk.org/dts",
        "list_archive_url_format": "https://inbox.dpdk.org/dts/{}",
        "commit_url_format": ""
    },
    "msgid": "<20230328085557.3796893-3-weix.ling@intel.com>",
    "list_archive_url": "https://inbox.dpdk.org/dts/20230328085557.3796893-3-weix.ling@intel.com",
    "date": "2023-03-28T08:55:57",
    "name": "[V1,2/2] tests/virtio_event_idx_interrupt: modify re-run times from 100 to 10",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": false,
    "hash": "b407ac617d550373c13eebd5980a7397a3d64b40",
    "submitter": {
        "id": 1828,
        "url": "http://patches.dpdk.org/api/people/1828/?format=api",
        "name": "Ling, WeiX",
        "email": "weix.ling@intel.com"
    },
    "delegate": null,
    "mbox": "http://patches.dpdk.org/project/dts/patch/20230328085557.3796893-3-weix.ling@intel.com/mbox/",
    "series": [
        {
            "id": 27562,
            "url": "http://patches.dpdk.org/api/series/27562/?format=api",
            "web_url": "http://patches.dpdk.org/project/dts/list/?series=27562",
            "date": "2023-03-28T08:55:55",
            "name": "modify re-run times from 100 to 10",
            "version": 1,
            "mbox": "http://patches.dpdk.org/series/27562/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/patches/125553/comments/",
    "check": "success",
    "checks": "http://patches.dpdk.org/api/patches/125553/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<dts-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 3B0F842856;\n\tTue, 28 Mar 2023 10:59:07 +0200 (CEST)",
            "from mails.dpdk.org (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 3697A410EE;\n\tTue, 28 Mar 2023 10:59:07 +0200 (CEST)",
            "from mga07.intel.com (mga07.intel.com [134.134.136.100])\n by mails.dpdk.org (Postfix) with ESMTP id 4563940156\n for <dts@dpdk.org>; Tue, 28 Mar 2023 10:59:05 +0200 (CEST)",
            "from orsmga001.jf.intel.com ([10.7.209.18])\n by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 28 Mar 2023 01:59:00 -0700",
            "from unknown (HELO localhost.localdomain) ([10.239.252.222])\n by orsmga001-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 28 Mar 2023 01:58:59 -0700"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple;\n d=intel.com; i=@intel.com; q=dns/txt; s=Intel;\n t=1679993945; x=1711529945;\n h=from:to:cc:subject:date:message-id:in-reply-to:\n references:mime-version:content-transfer-encoding;\n bh=uUSoZoPbG+po4ve4VZxkcoajPSlMwHgam7Nb5IiLBeg=;\n b=mTc8Q78goubgmV1t1TmDCj8hBaQ1JnBCYbXtTD7X1qCbuQ4LXOu4xscB\n 9KSJqrCTdpNJhX32Tm2pyj8TFvHN0teAVxxehbb+DD3E1Vu0PFfFt2nV3\n DSXAamj1XzuPGzcKHbW4evRVyRxKTTdM0rALuMjXU19ZG9HF6ojbQMcvW\n UUSmfxTjSni3zidKJmPGnrbkKqq5g3h5ZpnidIPJW7NaMdzZGIL0LVf5Y\n TnY5qHRoYIKJjPN/TnvYCgEeVqOEmITiu/HC0UVKtGYR/Fo5HNK9psCR/\n DTAQ7UzVBrw/DxdQX5cr1tuVQIRl/T4g3ySy813oX4Lt6XpuR3dPK0t1H A==;",
        "X-IronPort-AV": [
            "E=McAfee;i=\"6600,9927,10662\"; a=\"405448972\"",
            "E=Sophos;i=\"5.98,296,1673942400\"; d=\"scan'208\";a=\"405448972\"",
            "E=McAfee;i=\"6600,9927,10662\"; a=\"716412896\"",
            "E=Sophos;i=\"5.98,296,1673942400\"; d=\"scan'208\";a=\"716412896\""
        ],
        "X-ExtLoop1": "1",
        "From": "Wei Ling <weix.ling@intel.com>",
        "To": "dts@dpdk.org",
        "Cc": "Wei Ling <weix.ling@intel.com>",
        "Subject": "[dts][PATCH V1 2/2] tests/virtio_event_idx_interrupt: modify re-run\n times from 100 to 10",
        "Date": "Tue, 28 Mar 2023 16:55:57 +0800",
        "Message-Id": "<20230328085557.3796893-3-weix.ling@intel.com>",
        "X-Mailer": "git-send-email 2.25.1",
        "In-Reply-To": "<20230328085557.3796893-1-weix.ling@intel.com>",
        "References": "<20230328085557.3796893-1-weix.ling@intel.com>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "X-BeenThere": "dts@dpdk.org",
        "X-Mailman-Version": "2.1.29",
        "Precedence": "list",
        "List-Id": "test suite reviews and discussions <dts.dpdk.org>",
        "List-Unsubscribe": "<https://mails.dpdk.org/options/dts>,\n <mailto:dts-request@dpdk.org?subject=unsubscribe>",
        "List-Archive": "<http://mails.dpdk.org/archives/dts/>",
        "List-Post": "<mailto:dts@dpdk.org>",
        "List-Help": "<mailto:dts-request@dpdk.org?subject=help>",
        "List-Subscribe": "<https://mails.dpdk.org/listinfo/dts>,\n <mailto:dts-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dts-bounces@dpdk.org"
    },
    "content": "1.Modify re-run times from 100 to 10 for reduce run time.\n2.Use the pmd_out API to replace send_expect() to start testpmd.\n\nSigned-off-by: Wei Ling <weix.ling@intel.com>\n---\n tests/TestSuite_virtio_event_idx_interrupt.py | 67 ++++++++-----------\n 1 file changed, 29 insertions(+), 38 deletions(-)",
    "diff": "diff --git a/tests/TestSuite_virtio_event_idx_interrupt.py b/tests/TestSuite_virtio_event_idx_interrupt.py\nindex 620cf794..bfc44cb4 100644\n--- a/tests/TestSuite_virtio_event_idx_interrupt.py\n+++ b/tests/TestSuite_virtio_event_idx_interrupt.py\n@@ -2,17 +2,12 @@\n # Copyright(c) 2019 Intel Corporation\n #\n \n-\"\"\"\n-DPDK Test suite.\n-Virtio idx interrupt need test with l3fwd-power sample\n-\"\"\"\n-\n import _thread\n import re\n import time\n \n-import framework.utils as utils\n from framework.pktgen import PacketGeneratorHelper\n+from framework.pmd_output import PmdOutput\n from framework.test_case import TestCase\n from framework.virt_common import VM\n \n@@ -22,8 +17,6 @@ class TestVirtioIdxInterrupt(TestCase):\n         \"\"\"\n         Run at the start of each test suite.\n         \"\"\"\n-        self.queues = 1\n-        self.nb_cores = 1\n         self.dut_ports = self.dut.get_ports()\n         self.verify(len(self.dut_ports) >= 1, \"Insufficient ports for testing\")\n         self.ports_socket = self.dut.get_numa_id(self.dut_ports[0])\n@@ -32,7 +25,7 @@ class TestVirtioIdxInterrupt(TestCase):\n         )\n         self.dst_mac = self.dut.get_mac_address(self.dut_ports[0])\n         self.base_dir = self.dut.base_dir.replace(\"~\", \"/root\")\n-        self.pf_pci = self.dut.ports_info[0][\"pci\"]\n+        self.port_pci = self.dut.ports_info[0][\"pci\"]\n         self.out_path = \"/tmp\"\n         out = self.tester.send_expect(\"ls -d %s\" % self.out_path, \"# \")\n         if \"No such file or directory\" in out:\n@@ -41,7 +34,8 @@ class TestVirtioIdxInterrupt(TestCase):\n         self.pktgen_helper = PacketGeneratorHelper()\n         self.app_testpmd_path = self.dut.apps_name[\"test-pmd\"]\n         self.testpmd_name = self.app_testpmd_path.split(\"/\")[-1]\n-        self.device_str = None\n+        self.vhost_user = self.dut.new_session(suite=\"vhost-user\")\n+        self.vhost_user_pmd = PmdOutput(self.dut, self.vhost_user)\n \n     def set_up(self):\n         \"\"\"\n@@ -52,7 +46,6 @@ class TestVirtioIdxInterrupt(TestCase):\n         self.dut.send_expect(\"killall -s INT %s\" % self.testpmd_name, \"#\")\n         self.dut.send_expect(\"killall -s INT qemu-system-x86_64\", \"#\")\n         self.dut.send_expect(\"rm -rf %s/vhost-net*\" % self.base_dir, \"#\")\n-        self.vhost = self.dut.new_session(suite=\"vhost\")\n \n     def get_core_mask(self):\n         self.core_config = \"1S/%dC/1T\" % (self.nb_cores + 1)\n@@ -62,39 +55,38 @@ class TestVirtioIdxInterrupt(TestCase):\n         )\n         self.core_list = self.dut.get_core_list(self.core_config)\n \n-    def start_vhost_testpmd(self, dmas=None, mode=False):\n+    def start_vhost_testpmd(self):\n         \"\"\"\n         start the testpmd on vhost side\n         \"\"\"\n-        # get the core mask depend on the nb_cores number\n         self.get_core_mask()\n-        testcmd = self.app_testpmd_path + \" \"\n-        vdev = [\n-            \"net_vhost,iface=%s/vhost-net,queues=%d \" % (self.base_dir, self.queues)\n-        ]\n-        eal_params = self.dut.create_eal_parameters(\n-            cores=self.core_list, prefix=\"vhost\", ports=[self.pf_pci], vdevs=vdev\n+        eal_param = \"--vdev 'net_vhost,iface=%s/vhost-net,queues=%d'\" % (\n+            self.base_dir,\n+            self.queues,\n         )\n-        para = \" -- -i --nb-cores=%d --txd=1024 --rxd=1024 --rxq=%d --txq=%d\" % (\n+        param = \"--nb-cores=%d --txd=1024 --rxd=1024 --rxq=%d --txq=%d\" % (\n             self.nb_cores,\n             self.queues,\n             self.queues,\n         )\n-        command_line = testcmd + eal_params + para\n-        self.vhost.send_expect(command_line, \"testpmd> \", 30)\n-        self.vhost.send_expect(\"start\", \"testpmd> \", 30)\n+        self.vhost_user_pmd.start_testpmd(\n+            cores=self.core_list,\n+            eal_param=eal_param,\n+            param=param,\n+            prefix=\"vhost-user\",\n+            fixed_prefix=True,\n+            ports=[self.port_pci],\n+        )\n+        self.vhost_user_pmd.execute_cmd(\"start\")\n \n-    def start_vms(self, packed=False, mode=False, set_target=False, bind_dev=False):\n+    def start_vms(self, packed=False):\n         \"\"\"\n         start qemus\n         \"\"\"\n         self.vm = VM(self.dut, \"vm0\", \"vhost_sample\")\n         vm_params = {}\n         vm_params[\"driver\"] = \"vhost-user\"\n-        if mode:\n-            vm_params[\"opt_path\"] = \"%s/vhost-net,%s\" % (self.base_dir, mode)\n-        else:\n-            vm_params[\"opt_path\"] = \"%s/vhost-net\" % self.base_dir\n+        vm_params[\"opt_path\"] = \"%s/vhost-net\" % self.base_dir\n         vm_params[\"opt_mac\"] = \"00:11:22:33:44:55\"\n         opt_args = (\n             \"mrg_rxbuf=on,csum=on,gso=on,guest_csum=on,host_tso4=on,guest_tso4=on\"\n@@ -107,7 +99,7 @@ class TestVirtioIdxInterrupt(TestCase):\n         vm_params[\"opt_settings\"] = opt_args\n         self.vm.set_vm_device(**vm_params)\n         try:\n-            self.vm_dut = self.vm.start(set_target=set_target, bind_dev=bind_dev)\n+            self.vm_dut = self.vm.start(set_target=False, bind_dev=False)\n             if self.vm_dut is None:\n                 raise Exception(\"Set up VM ENV failed\")\n         except Exception as e:\n@@ -202,7 +194,7 @@ class TestVirtioIdxInterrupt(TestCase):\n         \"\"\"\n         check each queue has receive packets on vhost side\n         \"\"\"\n-        out = self.vhost.send_expect(\"stop\", \"testpmd> \", 60)\n+        out = self.vhost_user_pmd.execute_cmd(\"stop\")\n         print(out)\n         for queue_index in range(0, self.queues):\n             queue = re.search(\"Port= 0/Queue=\\s*%d\" % queue_index, out)\n@@ -217,14 +209,14 @@ class TestVirtioIdxInterrupt(TestCase):\n                 \"The queue %d rx-packets or tx-packets is 0 about \" % queue_index\n                 + \"rx-packets:%d, tx-packets:%d\" % (rx_packets, tx_packets),\n             )\n-        self.vhost.send_expect(\"clear port stats all\", \"testpmd> \", 60)\n+        self.vhost_user_pmd.execute_cmd(\"clear port stats all\")\n \n     def stop_all_apps(self):\n         \"\"\"\n         close all vms\n         \"\"\"\n         self.vm.stop()\n-        self.vhost.send_expect(\"quit\", \"#\", 20)\n+        self.vhost_user_pmd.quit()\n \n     def test_perf_split_ring_virito_pci_driver_reload(self):\n         \"\"\"\n@@ -233,9 +225,9 @@ class TestVirtioIdxInterrupt(TestCase):\n         self.queues = 1\n         self.nb_cores = 1\n         self.start_vhost_testpmd()\n-        self.start_vms()\n+        self.start_vms(packed=False)\n         self.config_virito_net_in_vm()\n-        res = self.check_packets_after_reload_virtio_device(reload_times=100)\n+        res = self.check_packets_after_reload_virtio_device(reload_times=10)\n         self.verify(res is True, \"Should increase the wait times of ixia\")\n         self.stop_all_apps()\n \n@@ -248,7 +240,7 @@ class TestVirtioIdxInterrupt(TestCase):\n         self.queues = 16\n         self.nb_cores = 16\n         self.start_vhost_testpmd()\n-        self.start_vms()\n+        self.start_vms(packed=False)\n         self.config_virito_net_in_vm()\n         self.start_to_send_packets(delay=15)\n         self.check_each_queue_has_packets_info_on_vhost()\n@@ -263,7 +255,7 @@ class TestVirtioIdxInterrupt(TestCase):\n         self.start_vhost_testpmd()\n         self.start_vms(packed=True)\n         self.config_virito_net_in_vm()\n-        res = self.check_packets_after_reload_virtio_device(reload_times=100)\n+        res = self.check_packets_after_reload_virtio_device(reload_times=10)\n         self.verify(res is True, \"Should increase the wait times of ixia\")\n         self.stop_all_apps()\n \n@@ -286,7 +278,6 @@ class TestVirtioIdxInterrupt(TestCase):\n         \"\"\"\n         Run after each test case.\n         \"\"\"\n-        self.dut.close_session(self.vhost)\n         self.dut.send_expect(\"killall -s INT %s\" % self.testpmd_name, \"#\")\n         self.dut.send_expect(\"killall -s INT qemu-system-x86_64\", \"#\")\n \n@@ -294,4 +285,4 @@ class TestVirtioIdxInterrupt(TestCase):\n         \"\"\"\n         Run after each test suite.\n         \"\"\"\n-        pass\n+        self.dut.close_session(self.vhost_user)\n",
    "prefixes": [
        "V1",
        "2/2"
    ]
}