v1: - power: power suite series support meson. yufengmx (7): power_bidirection_channel: support meson power_empty_poll: support meson power_pbf: support meson power_pstate: support meson power_telemetry: support meson vm_pw_mgmt_policy: support meson conf: power suite series support meson conf/app_name.cfg | 7 +++++++ tests/TestSuite_power_bidirection_channel.py | 5 +++++ tests/TestSuite_power_empty_poll.py | 5 +++++ tests/TestSuite_power_pbf.py | 19 ++++++++++++++----- tests/TestSuite_power_pstate.py | 5 +++++ tests/TestSuite_power_telemetry.py | 17 ++++++++++++++--- tests/TestSuite_vm_pw_mgmt_policy.py | 5 +++++ 7 files changed, 55 insertions(+), 8 deletions(-) -- 2.21.0
support meson build. Signed-off-by: yufengmx <yufengx.mo@intel.com> --- tests/TestSuite_power_bidirection_channel.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tests/TestSuite_power_bidirection_channel.py b/tests/TestSuite_power_bidirection_channel.py index 8159e11..d8b2982 100644 --- a/tests/TestSuite_power_bidirection_channel.py +++ b/tests/TestSuite_power_bidirection_channel.py @@ -37,6 +37,8 @@ import os import time import traceback +from settings import load_global_setting +from settings import HOST_BUILD_TYPE_SETTING from utils import create_mask as dts_create_mask from qemu_libvirt import LibvirtKvm from exception import VerifyFailure @@ -63,6 +65,9 @@ class TestPowerBidirectionChannel(TestCase): _host_crb = host_crb if host_crb else self.dut example_dir = "examples/" + name out = _host_crb.build_dpdk_apps('./' + example_dir) + if 'meson' == load_global_setting(HOST_BUILD_TYPE_SETTING): + return os.path.join(self.target_dir, + _host_crb.apps_name[os.path.basename(name)]) self.verify("Error" not in out, "Compilation error") self.verify("No such" not in out, "Compilation error") binary_dir = os.path.join(self.target_dir, example_dir, 'build') -- 2.21.0
support meson build. Signed-off-by: yufengmx <yufengx.mo@intel.com> --- tests/TestSuite_power_empty_poll.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tests/TestSuite_power_empty_poll.py b/tests/TestSuite_power_empty_poll.py index 93843f7..787603f 100644 --- a/tests/TestSuite_power_empty_poll.py +++ b/tests/TestSuite_power_empty_poll.py @@ -39,6 +39,8 @@ import traceback from copy import deepcopy from pprint import pformat +from settings import load_global_setting +from settings import HOST_BUILD_TYPE_SETTING from utils import create_mask as dts_create_mask from exception import VerifyFailure from test_case import TestCase @@ -78,6 +80,9 @@ class TestPowerEmptyPoll(TestCase): def prepare_binary(self, name): example_dir = "examples/" + name out = self.dut.build_dpdk_apps('./' + example_dir) + if 'meson' == load_global_setting(HOST_BUILD_TYPE_SETTING): + return os.path.join(self.target_dir, + self.dut.apps_name[os.path.basename(name)]) self.verify("Error" not in out, "Compilation error") self.verify("No such" not in out, "Compilation error") binary_dir = os.path.join(self.target_dir, example_dir, 'build') -- 2.21.0
support meson build. Signed-off-by: yufengmx <yufengx.mo@intel.com> --- tests/TestSuite_power_pbf.py | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/tests/TestSuite_power_pbf.py b/tests/TestSuite_power_pbf.py index eb5a16e..d10af99 100644 --- a/tests/TestSuite_power_pbf.py +++ b/tests/TestSuite_power_pbf.py @@ -40,6 +40,8 @@ from collections import Counter from pprint import pformat # import dts libs +from settings import load_global_setting +from settings import HOST_BUILD_TYPE_SETTING from test_case import TestCase from exception import VerifyFailure from utils import create_mask @@ -136,6 +138,9 @@ class TestPowerPbf(TestCase): def prepare_binary(self, name): example_dir = "examples/" + name out = self.dut.build_dpdk_apps('./' + example_dir) + if 'meson' == load_global_setting(HOST_BUILD_TYPE_SETTING): + return os.path.join(self.target_dir, + self.dut.apps_name[os.path.basename(name)]) self.verify("Error" not in out, "Compilation error") self.verify("No such" not in out, "Compilation error") binary_dir = os.path.join(self.target_dir, example_dir, 'build') @@ -151,13 +156,17 @@ class TestPowerPbf(TestCase): def init_test_binary_file(self): self.create_powermonitor_folder() # open debug SW - cmd = ("sed -i -e 's/" - "CONFIG_RTE_LIBRTE_POWER_DEBUG=n$/" - "CONFIG_RTE_LIBRTE_POWER_DEBUG=y/" - "' {0}/config/common_base").format(self.target_dir) - self.d_a_con(cmd) + SW = "CONFIG_RTE_LIBRTE_POWER_DEBUG" + if 'meson' == load_global_setting(HOST_BUILD_TYPE_SETTING): + self.dut.set_build_options({SW[7:]: 'y'}) + else: + cmd = "sed -i -e 's/{0}=n$/{0}=y/' {1}/config/common_base".format( + SW, self.target_dir) + self.d_a_con(cmd) + back = self.dut.skip_setup self.dut.skip_setup = False self.dut.build_install_dpdk(self.target) + self.dut.skip_setup = back # set up vm power management binary process setting self.vm_power_mgr = self.prepare_binary('vm_power_manager') # set up distributor binary process setting -- 2.21.0
support meson build. Signed-off-by: yufengmx <yufengx.mo@intel.com> --- tests/TestSuite_power_pstate.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tests/TestSuite_power_pstate.py b/tests/TestSuite_power_pstate.py index 2ee0981..4d122ae 100644 --- a/tests/TestSuite_power_pstate.py +++ b/tests/TestSuite_power_pstate.py @@ -38,6 +38,8 @@ from collections import Counter from pprint import pformat # import dts libs +from settings import load_global_setting +from settings import HOST_BUILD_TYPE_SETTING from test_case import TestCase from exception import VerifyFailure from utils import create_mask @@ -144,6 +146,9 @@ class TestPowerPstate(TestCase): def prepare_binary(self, name): example_dir = "examples/" + name out = self.dut.build_dpdk_apps('./' + example_dir) + if 'meson' == load_global_setting(HOST_BUILD_TYPE_SETTING): + return os.path.join(self.target_dir, + self.dut.apps_name[os.path.basename(name)]) self.verify("Error" not in out, "Compilation error") self.verify("No such" not in out, "Compilation error") binary_dir = os.path.join(self.target_dir, example_dir, 'build') -- 2.21.0
support meson build. Signed-off-by: yufengmx <yufengx.mo@intel.com> --- tests/TestSuite_power_telemetry.py | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/tests/TestSuite_power_telemetry.py b/tests/TestSuite_power_telemetry.py index 90404e3..8299d3b 100644 --- a/tests/TestSuite_power_telemetry.py +++ b/tests/TestSuite_power_telemetry.py @@ -42,6 +42,8 @@ import json from copy import deepcopy from pprint import pformat +from settings import load_global_setting +from settings import HOST_BUILD_TYPE_SETTING from utils import create_mask as dts_create_mask from settings import HEADER_SIZE from test_case import TestCase @@ -126,15 +128,24 @@ class TestPowerTelemetry(TestCase): if self.dut.skip_setup: return SW = "CONFIG_RTE_LIBRTE_TELEMETRY" - cmd = "sed -i -e 's/{0}=n$/{0}=y/' {1}/config/common_base".format( - SW, self.target_dir) - self.d_a_con(cmd) + if 'meson' == load_global_setting(HOST_BUILD_TYPE_SETTING): + self.dut.set_build_options({SW[7:]: 'y'}) + else: + cmd = "sed -i -e 's/{0}=n$/{0}=y/' {1}/config/common_base".format( + SW, self.target_dir) + self.d_a_con(cmd) # re-compile dpdk source code + back = self.dut.skip_setup + self.dut.skip_setup = False self.dut.build_install_dpdk(self.target) + self.dut.skip_setup = back def prepare_binary(self, name): example_dir = "examples/" + name out = self.dut.build_dpdk_apps('./' + example_dir) + if 'meson' == load_global_setting(HOST_BUILD_TYPE_SETTING): + return os.path.join(self.target_dir, + self.dut.apps_name[os.path.basename(name)]) self.verify("Error" not in out, "Compilation error") self.verify("No such" not in out, "Compilation error") binary_dir = os.path.join(self.target_dir, example_dir, 'build') -- 2.21.0
support meson build. Signed-off-by: yufengmx <yufengx.mo@intel.com> --- tests/TestSuite_vm_pw_mgmt_policy.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tests/TestSuite_vm_pw_mgmt_policy.py b/tests/TestSuite_vm_pw_mgmt_policy.py index 37f49e4..3e3d473 100644 --- a/tests/TestSuite_vm_pw_mgmt_policy.py +++ b/tests/TestSuite_vm_pw_mgmt_policy.py @@ -44,6 +44,8 @@ from datetime import datetime, timedelta from copy import deepcopy from pprint import pformat +from settings import load_global_setting +from settings import HOST_BUILD_TYPE_SETTING from utils import create_mask as dts_create_mask from test_case import TestCase from pmd_output import PmdOutput @@ -78,6 +80,9 @@ class TestVmPwMgmtPolicy(TestCase): _host_crb = host_crb if host_crb else self.dut example_dir = "examples/" + name out = _host_crb.build_dpdk_apps('./' + example_dir) + if 'meson' == load_global_setting(HOST_BUILD_TYPE_SETTING): + return os.path.join(self.target_dir, + _host_crb.apps_name[os.path.basename(name)]) self.verify("Error" not in out, "Compilation error") self.verify("No such" not in out, "Compilation error") binary_dir = os.path.join(self.target_dir, example_dir, 'build') -- 2.21.0
support meson build. Signed-off-by: yufengmx <yufengx.mo@intel.com> --- conf/app_name.cfg | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/conf/app_name.cfg b/conf/app_name.cfg index ff58137..c283c03 100644 --- a/conf/app_name.cfg +++ b/conf/app_name.cfg @@ -62,6 +62,9 @@ hotplug_mp=target/examples/dpdk-hotplug_mp mp_server=target/examples/dpdk-mp_server simple_mp=target/examples/dpdk-simple_mp symmetric_mp=target/examples/dpdk-symmetric_mp +vm_power_manager=target/examples/dpdk-vm_power_manager +guest_cli=target/examples/dpdk-guest_cli +distributor=target/examples/dpdk-distributor [makefile] pdump=target/app/dpdk-pdump proc-info=target/app/dpdk-procinfo @@ -119,3 +122,7 @@ hotplug_mp=examples/multi_process/hotplug_mp/build/app/hotplug_mp mp_server=examples/multi_process/client_server_mp/mp_server/build/app/mp_server simple_mp=examples/multi_process/simple_mp/build/app/simple_mp symmetric_mp=examples/multi_process/symmetric_mp/build/app/symmetric_mp +vm_power_manager=examples/vm_power_manager/build/vm_power_mgr +guest_cli=examples/vm_power_manager/guest_cli/build/guest_vm_power_mgr +distributor=examples/distributor/build/distributor_app + -- 2.21.0
Tested by Mo, YufengX <yufengx.mo@intel.com>.
> -----Original Message-----
> From: Mo, YufengX
> Sent: Tuesday, September 15, 2020 4:34 PM
> To: dts@dpdk.org; Yao, Lei A <lei.a.yao@intel.com>
> Cc: Mo, YufengX <yufengx.mo@intel.com>
> Subject: [dts][PATCH V1 0/7] power: power suite series support meson
>
>
> v1:
> - power: power suite series support meson.
>
> yufengmx (7):
> power_bidirection_channel: support meson
> power_empty_poll: support meson
> power_pbf: support meson
> power_pstate: support meson
> power_telemetry: support meson
> vm_pw_mgmt_policy: support meson
> conf: power suite series support meson
>
> conf/app_name.cfg | 7 +++++++
> tests/TestSuite_power_bidirection_channel.py | 5 +++++
> tests/TestSuite_power_empty_poll.py | 5 +++++
> tests/TestSuite_power_pbf.py | 19 ++++++++++++++-----
> tests/TestSuite_power_pstate.py | 5 +++++
> tests/TestSuite_power_telemetry.py | 17 ++++++++++++++---
> tests/TestSuite_vm_pw_mgmt_policy.py | 5 +++++
> 7 files changed, 55 insertions(+), 8 deletions(-)
>
> --
> 2.21.0
Hi, yufeng
We have configure the app path in the config file, so it does not need re-combine the path of it in the suite.
So it does not need to judge the build method in the suite.
Regards,
Ma,lihong
> -----Original Message-----
> --- a/tests/TestSuite_power_bidirection_channel.py
> +++ b/tests/TestSuite_power_bidirection_channel.py
>
> +from settings import load_global_setting from settings import
> +HOST_BUILD_TYPE_SETTING
> from utils import create_mask as dts_create_mask from qemu_libvirt import
> LibvirtKvm from exception import VerifyFailure @@ -63,6 +65,9 @@ class
> TestPowerBidirectionChannel(TestCase):
> _host_crb = host_crb if host_crb else self.dut
> example_dir = "examples/" + name
> out = _host_crb.build_dpdk_apps('./' + example_dir)
> + if 'meson' == load_global_setting(HOST_BUILD_TYPE_SETTING):
> + return os.path.join(self.target_dir,
> +
> + _host_crb.apps_name[os.path.basename(name)])