public inbox for linux-pm@vger.kernel.org
 help / color / mirror / Atom feed
From: Petr Vorel <pvorel@suse.cz>
To: ltp@lists.linux.it
Cc: Petr Vorel <pvorel@suse.cz>, Li Wang <liwang@redhat.com>,
	Cyril Hrubis <chrubis@suse.cz>, Jan Stancek <jstancek@redhat.com>,
	Andrea Cervesato <andrea.cervesato@suse.com>,
	Daniel Lezcano <daniel.lezcano@linaro.org>,
	"Rafael J . Wysocki" <rafael@kernel.org>,
	Zhang Rui <rui.zhang@intel.com>,
	Lukasz Luba <lukasz.luba@arm.com>,
	linux-pm@vger.kernel.org, helena.anna.dubel@intel.com,
	tomasz.ossowski@intel.com, Piotr Kubaj <piotr.kubaj@intel.com>,
	automated-testing@lists.yoctoproject.org
Subject: [PATCH v2 2/2] power_management: Remove unused tools
Date: Mon, 30 Mar 2026 11:08:43 +0200	[thread overview]
Message-ID: <20260330090844.79598-3-pvorel@suse.cz> (raw)
In-Reply-To: <20260330090844.79598-1-pvorel@suse.cz>

Remove now unneeded tools and functions from pm_include.sh (see previous commit).
Also move functions from pm_include.sh used only in single shell script to it.

This removes the rest of python code in power management tests.

Signed-off-by: Petr Vorel <pvorel@suse.cz>
---
 testcases/kernel/power_management/Makefile    |   2 +-
 .../kernel/power_management/lib/Makefile      |  25 -
 .../power_management/lib/pm_sched_mc.py       | 835 ------------------
 .../kernel/power_management/pm_ilb_test.py    |  57 --
 .../kernel/power_management/pm_include.sh     | 311 +------
 .../power_management/pm_sched_domain.py       |  54 --
 .../kernel/power_management/runpwtests03.sh   |  10 +
 .../kernel/power_management/runpwtests06.sh   |  31 +
 8 files changed, 43 insertions(+), 1282 deletions(-)
 delete mode 100644 testcases/kernel/power_management/lib/Makefile
 delete mode 100755 testcases/kernel/power_management/lib/pm_sched_mc.py
 delete mode 100755 testcases/kernel/power_management/pm_ilb_test.py
 delete mode 100755 testcases/kernel/power_management/pm_sched_domain.py

diff --git a/testcases/kernel/power_management/Makefile b/testcases/kernel/power_management/Makefile
index 935f47eea1..4357bd9c29 100644
--- a/testcases/kernel/power_management/Makefile
+++ b/testcases/kernel/power_management/Makefile
@@ -26,4 +26,4 @@ INSTALL_TARGETS 	:= *.py *.sh
 
 MAKE_DEPS		+= $(APICMDS_DIR)/tst_kvercmp
 
-include $(top_srcdir)/include/mk/generic_trunk_target.mk
+include $(top_srcdir)/include/mk/generic_leaf_target.mk
diff --git a/testcases/kernel/power_management/lib/Makefile b/testcases/kernel/power_management/lib/Makefile
deleted file mode 100644
index 2aadac0a5b..0000000000
--- a/testcases/kernel/power_management/lib/Makefile
+++ /dev/null
@@ -1,25 +0,0 @@
-#
-# Copyright (c) 2015 Fujitsu Ltd.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License along
-# with this program; if not, write to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-
-top_srcdir 		?= ../../../..
-
-include $(top_srcdir)/include/mk/env_pre.mk
-
-INSTALL_TARGETS 	:= *.py
-
-include $(top_srcdir)/include/mk/generic_leaf_target.mk
diff --git a/testcases/kernel/power_management/lib/pm_sched_mc.py b/testcases/kernel/power_management/lib/pm_sched_mc.py
deleted file mode 100755
index 743b6debf3..0000000000
--- a/testcases/kernel/power_management/lib/pm_sched_mc.py
+++ /dev/null
@@ -1,835 +0,0 @@
-#!/usr/bin/env python3
-''' Reusable functions related to sched mc FVT are put together
-'''
-
-import os
-import sys
-import re
-from time import time
-
-__author__ = "Vaidyanathan Srinivasan <svaidy@linux.vnet.ibm.com>"
-__author__ = "Poornima Nayak <mpnayak@linux.vnet.ibm.com>"
-
-
-cpu_map = {}
-stats_start = {}
-stats_stop = {}
-stats_percentage = {}
-intr_start = []
-intr_stop = []
-cpu_count = 0
-socket_count = 0
-cpu1_max_intr = 0
-cpu2_max_intr = 0
-intr_stat_timer_0 = []
-siblings_list = []
-
-def clear_dmesg():
-    '''
-       Clears dmesg
-    '''
-    try:
-        os.system('dmesg -c >/dev/null')
-    except OSError as e:
-        print('Clearing dmesg failed', e)
-        sys.exit(1)
-
-def count_num_cpu():
-    ''' Returns number of cpu's in system
-    '''
-    try:
-        cpuinfo = open('/proc/cpuinfo', 'r')
-        global cpu_count
-        for line in cpuinfo:
-            if line.startswith('processor'):
-                cpu_count += 1
-        cpuinfo.close()
-    except IOError as e:
-        print("Could not get cpu count", e)
-        sys.exit(1)
-
-def count_num_sockets():
-    ''' Returns number of cpu's in system
-    '''
-    socket_list = []
-    global socket_count
-    try:
-        for i in range(0, cpu_count):
-            phy_pkg_file = '/sys/devices/system/cpu/cpu%s' % i
-            phy_pkg_file += '/topology/physical_package_id'
-            socket_id = open(phy_pkg_file).read().rstrip()
-            if socket_id not in socket_list:
-                socket_list.append(socket_id)
-                socket_count = socket_count + 1
-    except Exception as details:
-        print("INFO: Failed to get number of sockets in system", details)
-        sys.exit(1)
-
-def is_multi_socket():
-    '''Return 1 if the system is multi socket else return 0
-    '''
-    try:
-        if socket_count > 1:
-            return 1
-        else:
-            return 0
-    except Exception:
-        print("Failed to check if system is multi socket system")
-        sys.exit(1)
-
-def is_hyper_threaded():
-    '''Return 1 if the system is hyper threaded else return 0
-    '''
-    try:
-        file_cpuinfo = open("/proc/cpuinfo", 'r')
-        for line in file_cpuinfo:
-            if line.startswith('siblings'):
-                siblings = line.split(":")
-            if line.startswith('cpu cores'):
-                cpu_cores = line.split(":")
-                break
-        if int( siblings[1] ) / int( cpu_cores[1] )> 1:
-            file_cpuinfo.close()
-            return 1
-        else:
-            return 0
-    except Exception:
-        print("Failed to check if system is hyper-threaded")
-        sys.exit(1)
-
-def is_multi_core():
-    ''' Return true if system has sockets has multiple cores
-    '''
-
-    try:
-        file_cpuinfo = open("/proc/cpuinfo", 'r')
-        for line in file_cpuinfo:
-            if line.startswith('siblings'):
-                siblings = line.split(":")
-            if line.startswith('cpu cores'):
-                cpu_cores = line.split(":")
-                break
-
-        if int( siblings[1] ) == int( cpu_cores[1] ):
-            if int( cpu_cores[1] ) > 1:
-                multi_core = 1
-            else:
-                multi_core = 0
-        else:
-            num_of_cpus = int(siblings[1]) / int(cpu_cores[1])
-            if num_of_cpus > 1:
-                multi_core = 1
-            else:
-                multi_core = 0
-        file_cpuinfo.close()
-        return multi_core
-    except Exception:
-        print("Failed to check if system is multi core system")
-        sys.exit(1)
-
-def get_hyper_thread_count():
-    ''' Return number of threads in CPU. For eg for x3950 this function
-        would return 2. In future if 4 threads are supported in CPU, this
-        routine would return 4
-    '''
-    try:
-        file_cpuinfo = open("/proc/cpuinfo", 'r')
-        for line in file_cpuinfo:
-            if line.startswith('siblings'):
-                siblings = line.split(":")
-            if line.startswith('cpu cores'):
-                cpu_cores = line.split(":")
-                break
-        return( int( siblings[1] ) / int( cpu_cores[1] ) )
-    except Exception:
-        print("Failed to check if system is hyper-threaded")
-        sys.exit(1)
-
-def map_cpuid_pkgid():
-    ''' Routine to map physical package id to cpu id
-    '''
-    if is_hyper_threaded():
-        core_info = {}
-        try:
-            for i in range(0, cpu_count):
-                phy_pkg_file = '/sys/devices/system/cpu/cpu%s' % i
-                phy_pkg_file += '/topology/physical_package_id'
-                core_file = '/sys/devices/system/cpu/cpu%s' % i
-                core_file += '/topology/core_id'
-                core_id = open(core_file).read().rstrip()
-                cpu_phy_id = open(phy_pkg_file).read().rstrip()
-                if not cpu_phy_id in list(cpu_map.keys()):
-                    core_info = {}
-                else:
-                    core_info = cpu_map[cpu_phy_id]
-                if not core_id in list(core_info.keys()):
-                    core_info[core_id] = [i]
-                else:
-                    core_info[core_id].append(i)
-                cpu_map[cpu_phy_id] = core_info
-        except Exception as details:
-            print("Package, core & cpu map table creation failed", e)
-            sys.exit(1)
-    else:
-        for i in range(0, cpu_count):
-            try:
-                phy_pkg_file = '/sys/devices/system/cpu/cpu%s' %i
-                phy_pkg_file += '/topology/physical_package_id'
-                cpu_phy_id = open(phy_pkg_file).read().rstrip()
-                if not cpu_phy_id in list(cpu_map.keys()):
-                    cpu_map[cpu_phy_id] = [i]
-                else:
-                    cpu_map[cpu_phy_id].append(i)
-            except IOError as e:
-                print("Mapping of CPU to pkg id failed", e)
-                sys.exit(1)
-
-
-def generate_sibling_list():
-    ''' Routine to generate siblings list
-    '''
-    try:
-        for i in range(0, cpu_count):
-            siblings_file = '/sys/devices/system/cpu/cpu%s' % i
-            siblings_file += '/topology/thread_siblings_list'
-            threads_sibs = open(siblings_file).read().rstrip()
-            thread_ids = threads_sibs.split("-")
-
-            if not thread_ids in siblings_list:
-                siblings_list.append(thread_ids)
-    except Exception as details:
-        print("Exception in generate_siblings_list", details)
-        sys.exit(1)
-
-def get_siblings(cpu_id):
-    ''' Return siblings of cpu_id
-    '''
-    try:
-        cpus = ""
-        for i in range(0, len(siblings_list)):
-            for cpu in siblings_list[i]:
-                if cpu_id == cpu:
-                    for j in siblings_list[i]:
-                        # Exclude cpu_id in the list of siblings
-                        if j != cpu_id:
-                            cpus += j
-                    return cpus
-        return cpus
-    except Exception as details:
-        print("Exception in get_siblings", details)
-        sys.exit(1)
-
-def get_proc_data(stats_list):
-    ''' Read /proc/stat info and store in dictionary
-    '''
-    try:
-        file_procstat = open("/proc/stat", 'r')
-        for line in file_procstat:
-            if line.startswith('cpu'):
-                data = line.split()
-                stats_list[data[0]] = data
-        file_procstat.close()
-    except OSError as e:
-        print("Could not read statistics", e)
-        sys.exit(1)
-
-def get_proc_loc_count(loc_stats):
-    ''' Read /proc/interrupts info and store in list
-    '''
-    try:
-        file_procstat = open("/proc/interrupts", 'r')
-        for line in file_procstat:
-            if line.startswith(' LOC:') or line.startswith('LOC:'):
-                data = line.split()
-                for i in range(0, cpu_count):
-                    # To skip LOC
-                    loc_stats.append(data[i+1])
-                file_procstat.close()
-                return
-    except Exception as details:
-        print("Could not read interrupt statistics", details)
-        sys.exit(1)
-
-
-def set_sched_mc_power(sched_mc_level):
-    ''' Routine to set sched_mc_power_savings to required level
-    '''
-    try:
-        os.system('echo %s > \
-            /sys/devices/system/cpu/sched_mc_power_savings 2>/dev/null'
-            % sched_mc_level)
-
-        get_proc_data(stats_start)
-    except OSError as e:
-        print("Could not set sched_mc_power_savings to", sched_mc_level, e)
-    sys.exit(1)
-
-def set_sched_smt_power(sched_smt_level):
-    ''' Routine to set sched_smt_power_savings to required level
-    '''
-    try:
-        os.system('echo %s > \
-            /sys/devices/system/cpu/sched_smt_power_savings 2>/dev/null'
-            % sched_smt_level)
-
-        get_proc_data(stats_start)
-    except OSError as e:
-        print("Could not set sched_smt_power_savings to", sched_smt_level, e)
-    sys.exit(1)
-
-def set_timer_migration_interface(value):
-    ''' Set value of timer migration interface to a value
-        passed as argument
-    '''
-    try:
-        os.system('echo %s > \
-            /proc/sys/kernel/timer_migration 2>/dev/null' % value)
-    except OSError as e:
-        print("Could not set timer_migration to ", value, e)
-        sys.exit(1)
-
-def get_job_count(stress, workload, sched_smt):
-    ''' Returns number of jobs/threads to be triggered
-    '''
-
-    try:
-        if stress == "thread":
-            threads = get_hyper_thread_count()
-        if stress == "partial":
-            threads = cpu_count / socket_count
-            if is_hyper_threaded():
-                if workload == "ebizzy" and int(sched_smt) ==0:
-                    threads = threads / get_hyper_thread_count()
-                if workload == "kernbench" and int(sched_smt) < 2:
-                    threads = threads / get_hyper_thread_count()
-        if stress == "full":
-            threads = cpu_count
-        if stress == "single_job":
-            threads = 1
-            duration = 180
-        return threads
-    except Exception as details:
-        print("get job count failed ", details)
-        sys.exit(1)
-
-def trigger_ebizzy (sched_smt, stress, duration, background, pinned):
-    ''' Triggers ebizzy workload for sched_mc=1
-        testing
-    '''
-    try:
-        threads = get_job_count(stress, "ebizzy", sched_smt)
-        workload = "ebizzy"
-        olddir = os.getcwd()
-        path = '%s/testcases/bin' % os.environ['LTPROOT']
-        os.chdir(path)
-        workload_file = ""
-        for file_name in os.listdir('.'):
-            if file_name == workload:
-                workload_file = file_name
-                break
-        if workload_file == "":
-            print("INFO: ebizzy benchmark not found")
-            os.chdir(olddir)
-            sys.exit(1)
-        get_proc_data(stats_start)
-        get_proc_loc_count(intr_start)
-        try:
-            if background == "yes":
-                succ = os.system('./ebizzy -t%s -s4096 -S %s >/dev/null &'
-                    % (threads, duration))
-            else:
-                if pinned == "yes":
-                    succ = os.system('taskset -c %s ./ebizzy -t%s -s4096 -S %s >/dev/null'
-                        % (cpu_count -1, threads, duration))
-                else:
-                    succ = os.system('./ebizzy -t%s -s4096 -S %s >/dev/null'
-                        % (threads, duration))
-
-            if succ == 0:
-                print("INFO: ebizzy workload triggerd")
-                os.chdir(olddir)
-                #Commented bcoz it doesnt make sense to capture it when workload triggered
-                #in background
-                #get_proc_loc_count(intr_stop)
-                #get_proc_data(stats_stop)
-            else:
-                print("INFO: ebizzy workload triggerd failed")
-                os.chdir(olddir)
-                sys.exit(1)
-        except Exception as details:
-            print("Ebizzy workload trigger failed ", details)
-            sys.exit(1)
-    except Exception as details:
-        print("Ebizzy workload trigger failed ", details)
-        sys.exit(1)
-
-def trigger_kernbench (sched_smt, stress, background, pinned, perf_test):
-    ''' Trigger load on system like kernbench.
-        Copys existing copy of LTP into as LTP2 and then builds it
-        with make -j
-    '''
-    olddir = os.getcwd()
-    try:
-        threads = get_job_count(stress, "kernbench", sched_smt)
-
-        dst_path = "/root"
-        workload = "kernbench"
-        olddir = os.getcwd()
-        path = '%s/testcases/bin' % os.environ['LTPROOT']
-        os.chdir(path)
-        workload_file = ""
-        for file_name in os.listdir('.'):
-            if file_name == workload:
-                workload_file = file_name
-                break
-        if workload_file != "":
-            benchmark_path = path
-        else:
-            print("INFO: kernbench benchmark not found")
-            os.chdir(olddir)
-            sys.exit(1)
-
-        os.chdir(dst_path)
-        linux_source_dir=""
-        for file_name in os.listdir('.'):
-            if file_name.find("linux-2.6") != -1 and os.path.isdir(file_name):
-                linux_source_dir=file_name
-                break
-        if linux_source_dir != "":
-            os.chdir(linux_source_dir)
-        else:
-            print("INFO: Linux kernel source not found in /root. Workload\
-               Kernbench cannot be executed")
-            sys.exit(1)
-
-        get_proc_data(stats_start)
-        get_proc_loc_count(intr_start)
-        if pinned == "yes":
-            os.system ( 'taskset -c %s %s/kernbench -o %s -M -H -n 1 \
-                >/dev/null 2>&1 &' % (cpu_count-1, benchmark_path, threads))
-
-            # We have to delete import in future
-            import time
-            time.sleep(240)
-            stop_wkld("kernbench")
-        else:
-            if background == "yes":
-                os.system ( '%s/kernbench -o %s -M -H -n 1 >/dev/null 2>&1 &' \
-                    % (benchmark_path, threads))
-            else:
-                if perf_test == "yes":
-                    os.system ( '%s/kernbench -o %s -M -H -n 1 >/dev/null 2>&1' \
-                        % (benchmark_path, threads))
-                else:
-                    os.system ( '%s/kernbench -o %s -M -H -n 1 >/dev/null 2>&1 &' \
-                        % (benchmark_path, threads))
-                    # We have to delete import in future
-                    import time
-                    time.sleep(240)
-                    stop_wkld("kernbench")
-
-        print("INFO: Workload kernbench triggerd")
-        os.chdir(olddir)
-    except Exception as details:
-        print("Workload kernbench trigger failed ", details)
-        sys.exit(1)
-
-def trigger_workld(sched_smt, workload, stress, duration, background, pinned, perf_test):
-    ''' Triggers workload passed as argument. Number of threads
-        triggered is based on stress value.
-    '''
-    try:
-        if workload == "ebizzy":
-            trigger_ebizzy (sched_smt, stress, duration, background, pinned)
-        if workload == "kernbench":
-            trigger_kernbench (sched_smt, stress, background, pinned, perf_test)
-    except Exception as details:
-        print("INFO: Trigger workload failed", details)
-        sys.exit(1)
-
-def generate_report():
-    ''' Generate report of CPU utilization
-    '''
-    cpu_labels = ('cpu', 'user', 'nice', 'system', 'idle', 'iowait', 'irq',
-	'softirq', 'x', 'y')
-    if (not os.path.exists('/procstat')):
-        os.mkdir('/procstat')
-
-    get_proc_data(stats_stop)
-
-    reportfile = open('/procstat/cpu-utilisation', 'a')
-    debugfile = open('/procstat/cpu-utilisation.debug', 'a')
-    for l in stats_stop:
-        percentage_list = []
-        total = 0
-        for i in range(1, len(stats_stop[l])):
-            stats_stop[l][i] =  int(stats_stop[l][i]) - int(stats_start[l][i])
-            total += stats_stop[l][i]
-        percentage_list.append(l)
-        for i in range(1, len(stats_stop[l])):
-            percentage_list.append(float(stats_stop[l][i])*100/total)
-
-        stats_percentage[l] = percentage_list
-
-    for i in range(0, len(cpu_labels)):
-        print(cpu_labels[i], '\t', end=' ', file=debugfile)
-    print(file=debugfile)
-    for l in sorted(stats_stop.keys()):
-        print(l, '\t', end=' ', file=debugfile)
-        for i in range(1, len(stats_stop[l])):
-            print(stats_stop[l][i], '\t', end=' ', file=debugfile)
-        print(file=debugfile)
-
-    for i in range(0, len(cpu_labels)):
-        print(cpu_labels[i], '\t', end=' ', file=reportfile)
-    print(file=reportfile)
-    for l in sorted(stats_percentage.keys()):
-        print(l, '\t', end=' ', file=reportfile)
-        for i in range(1, len(stats_percentage[l])):
-            print(" %3.4f" % stats_percentage[l][i], end=' ', file=reportfile)
-        print(file=reportfile)
-
-    #Now get the package ID information
-    try:
-        print("cpu_map: ", cpu_map, file=debugfile)
-        keyvalfile = open('/procstat/keyval', 'a')
-        print("nr_packages=%d" % len(cpu_map), file=keyvalfile)
-        print("system-idle=%3.4f" % (stats_percentage['cpu'][4]), file=keyvalfile)
-        for pkg in sorted(cpu_map.keys()):
-            if is_hyper_threaded():
-                for core in sorted(cpu_map[pkg].keys()):
-                    total_idle = 0
-                    total = 0
-                    for cpu in cpu_map[pkg][core]:
-                        total_idle += stats_stop["cpu%d" % cpu][4]
-                        for i in range(1, len(stats_stop["cpu%d" % cpu])):
-                            total += stats_stop["cpu%d" % cpu][i]
-            else:
-                total_idle = 0
-                total = 0
-                for cpu in cpu_map[pkg]:
-                    total_idle += stats_stop["cpu%d" % cpu][4]
-                    for i in range(1, len(stats_stop["cpu%d" % cpu])):
-                        total += stats_stop["cpu%d" % cpu][i]
-            print("Package: ", pkg, "Idle %3.4f%%" \
-	        % (float(total_idle)*100/total), file=reportfile)
-            print("package-%s=%3.4f" % \
-		(pkg, (float(total_idle)*100/total)), file=keyvalfile)
-    except Exception as details:
-        print("Generating utilization report failed: ", details)
-        sys.exit(1)
-
-    #Add record delimiter '\n' before closing these files
-    print(file=debugfile)
-    debugfile.close()
-    print(file=reportfile)
-    reportfile.close()
-    print(file=keyvalfile)
-    keyvalfile.close()
-
-def generate_loc_intr_report():
-    ''' Generate interrupt report of CPU's
-    '''
-    try:
-        if (not os.path.exists('/procstat')):
-            os.mkdir('/procstat')
-
-        get_proc_loc_count(intr_stop)
-
-        reportfile = open('/procstat/cpu-loc_interrupts', 'a')
-        print("==============================================", file=reportfile)
-        print("     Local timer interrupt stats              ", file=reportfile)
-        print("==============================================", file=reportfile)
-
-        for i in range(0, cpu_count):
-            intr_stop[i] =  int(intr_stop[i]) - int(intr_start[i])
-            print("CPU%s: %s" %(i, intr_stop[i]), file=reportfile)
-        print(file=reportfile)
-        reportfile.close()
-    except Exception as details:
-        print("Generating interrupt report failed: ", details)
-        sys.exit(1)
-
-def record_loc_intr_count():
-    ''' Record Interrupt statistics when timer_migration
-        was disabled
-    '''
-    try:
-        global intr_start, intr_stop
-        for i in range(0, cpu_count):
-            intr_stat_timer_0.append(intr_stop[i])
-        intr_start = []
-        intr_stop = []
-    except Exception as details:
-        print("INFO: Record interrupt statistics when timer_migration=0",details)
-
-def expand_range(range_val):
-    '''
-       Expand the range of value into actual numbers
-    '''
-    ids_list = list()
-    try:
-        sep_comma = range_val.split(",")
-        for i in range(0, len(sep_comma)):
-            hyphen_values = sep_comma[i].split("-")
-            if len(hyphen_values) == 1:
-                ids_list.append(int(hyphen_values[0]))
-            else:
-                for j in range(int(hyphen_values[0]), int(hyphen_values[1])+1):
-                    ids_list.append(j)
-        return(ids_list)
-    except Exception as details:
-        print("INFO: expand_pkg_grps failed ", details)
-
-def is_quad_core():
-    '''
-       Read /proc/cpuinfo and check if system is Quad core
-    '''
-    try:
-        cpuinfo = open('/proc/cpuinfo', 'r')
-        for line in cpuinfo:
-            if line.startswith('cpu cores'):
-                cores = line.split("cpu cores")
-                num_cores = cores[1].split(":")
-                cpuinfo.close()
-                if int(num_cores[1]) == 4:
-                    return(1)
-                else:
-                    return(0)
-    except IOError as e:
-        print("Failed to get cpu core information", e)
-        sys.exit(1)
-
-def validate_cpugrp_map(cpu_group, sched_mc_level, sched_smt_level):
-    '''
-       Verify if cpugrp belong to same package
-    '''
-    modi_cpu_grp = cpu_group[:]
-    try:
-        if is_hyper_threaded():
-            for pkg in sorted(cpu_map.keys()):
-                # if CPU utilized is across package this condition will be true
-                if len(modi_cpu_grp) != len(cpu_group):
-                    break
-                for core in sorted(cpu_map[pkg].keys()):
-                    core_cpus = cpu_map[pkg][core]
-                    if core_cpus == modi_cpu_grp:
-                        return 0
-                    else:
-                        #if CPUs used across the cores
-                        for i in range(0, len(core_cpus)):
-                            if core_cpus[i] in modi_cpu_grp:
-                                modi_cpu_grp.remove(core_cpus[i])
-                                if len(modi_cpu_grp) == 0:
-                                    return 0
-                            #This code has to be deleted
-                            #else:
-                                # If sched_smt == 0 then its oky if threads run
-                                # in different cores of same package
-                                #if sched_smt_level > 0 :
-                                    #return 1
-        else:
-            for pkg in sorted(cpu_map.keys()):
-                pkg_cpus = cpu_map[pkg]
-                if len(cpu_group) == len(pkg_cpus):
-                    if pkg_cpus == cpu_group:
-                        return(0)
-                else:
-                    if int(cpus_utilized[0]) in cpu_map[pkg] or int(cpus_utilized[1]) in cpu_map[pkg]:
-                        return(0)
-
-        return(1)
-
-    except Exception as details:
-        print("Exception in validate_cpugrp_map: ", details)
-        sys.exit(1)
-
-
-def verify_sched_domain_dmesg(sched_mc_level, sched_smt_level):
-    '''
-       Read sched domain information from dmesg.
-    '''
-    cpu_group = list()
-    try:
-        dmesg_info = os.popen('dmesg').read()
-        if dmesg_info != "":
-            lines = dmesg_info.split('\n')
-            for i in range(0, len(lines)):
-                if lines[i].endswith('CPU'):
-                    groups = lines[i+1].split("groups:")
-                    group_info = groups[1]
-                    if group_info.find("(") != -1:
-                        openindex=group_info.index("(")
-                        closeindex=group_info.index(")")
-                        group_info=group_info.replace\
-                            (group_info[openindex:closeindex+1],"")
-
-                    subgroup = group_info.split(",")
-                    for j in range(0, len(subgroup)):
-                        cpu_group = expand_range(subgroup[j])
-                        status = validate_cpugrp_map(cpu_group, sched_mc_level,\
-                        sched_smt_level)
-                        if status == 1:
-                            if is_quad_core() == 1:
-                                if int(sched_mc_level) == 0:
-                                    return(0)
-                                else:
-                                    return(1)
-                            else:
-                                return(1)
-            return(0)
-        else:
-            return(1)
-    except Exception as details:
-        print("Reading dmesg failed", details)
-        sys.exit(1)
-
-def get_cpu_utilization(cpu):
-    ''' Return cpu utilization of cpu_id
-    '''
-    try:
-        for l in sorted(stats_percentage.keys()):
-            if cpu == stats_percentage[l][0]:
-                return stats_percentage[l][1]
-        return -1
-    except Exception as details:
-        print("Exception in get_cpu_utilization", details)
-        sys.exit(1)
-
-def validate_cpu_consolidation(stress, work_ld, sched_mc_level, sched_smt_level):
-    ''' Verify if cpu's on which threads executed belong to same
-    package
-    '''
-    cpus_utilized = list()
-    threads = get_job_count(stress, work_ld, sched_smt_level)
-    try:
-        for l in sorted(stats_percentage.keys()):
-            #modify threshold
-            cpu_id = stats_percentage[l][0].split("cpu")
-            if cpu_id[1] == '':
-                continue
-            if int(cpu_id[1]) in cpus_utilized:
-                continue
-            if is_hyper_threaded():
-                if work_ld == "kernbench" and sched_smt_level < sched_mc_level:
-                    siblings = get_siblings(cpu_id[1])
-                    if siblings != "":
-                        sib_list = siblings.split()
-                        utilization = int(stats_percentage[l][1])
-                        for i in range(0, len(sib_list)):
-                            utilization += int(get_cpu_utilization("cpu%s" %sib_list[i]))
-                    else:
-                        utilization = stats_percentage[l][1]
-                    if utilization > 40:
-                        cpus_utilized.append(int(cpu_id[1]))
-                        if siblings != "":
-                            for i in range(0, len(sib_list)):
-                                cpus_utilized.append(int(sib_list[i]))
-                else:
-                    # This threshold wuld be modified based on results
-                    if stats_percentage[l][1] > 40:
-                        cpus_utilized.append(int(cpu_id[1]))
-            else:
-                if work_ld == "kernbench" :
-                    if stats_percentage[l][1] > 50:
-                        cpus_utilized.append(int(cpu_id[1]))
-                else:
-                    if stats_percentage[l][1] > 70:
-                        cpus_utilized.append(int(cpu_id[1]))
-            cpus_utilized.sort()
-        print("INFO: CPU's utilized ", cpus_utilized)
-
-        # If length of CPU's utilized is not = number of jobs exit with 1
-        if len(cpus_utilized) < threads:
-            return 1
-
-        status = validate_cpugrp_map(cpus_utilized, sched_mc_level, \
-            sched_smt_level)
-        if status == 1:
-            print("INFO: CPUs utilized is not in same package or core")
-
-        return(status)
-    except Exception as details:
-        print("Exception in validate_cpu_consolidation: ", details)
-        sys.exit(1)
-
-def get_cpuid_max_intr_count():
-    '''Return the cpu id's of two cpu's with highest number of intr'''
-    try:
-        highest = 0
-        second_highest = 0
-        cpus_utilized = []
-
-        #Skipping CPU0 as it is generally high
-        for i in range(1, cpu_count):
-            if int(intr_stop[i]) > int(highest):
-                if highest != 0:
-                    second_highest = highest
-                    cpu2_max_intr = cpu1_max_intr
-                highest = int(intr_stop[i])
-                cpu1_max_intr = i
-            else:
-                if int(intr_stop[i]) > int(second_highest):
-                    second_highest = int(intr_stop[i])
-                    cpu2_max_intr = i
-        cpus_utilized.append(cpu1_max_intr)
-        cpus_utilized.append(cpu2_max_intr)
-
-        for i in range(1, cpu_count):
-            if i != cpu1_max_intr and i != cpu2_max_intr:
-                diff = second_highest - intr_stop[i]
-                ''' Threshold of difference has to be manipulated '''
-                if diff < 10000:
-                    print("INFO: Diff in interrupt count is below threshold")
-                    cpus_utilized = []
-                    return cpus_utilized
-        print("INFO: Interrupt count in other CPU's low as expected")
-        return cpus_utilized
-    except Exception as details:
-        print("Exception in get_cpuid_max_intr_count: ", details)
-        sys.exit(1)
-
-def validate_ilb (sched_mc_level, sched_smt_level):
-    ''' Validate if ilb is running in same package where work load is running
-    '''
-    try:
-        cpus_utilized = get_cpuid_max_intr_count()
-        if not cpus_utilized:
-            return 1
-
-        status = validate_cpugrp_map(cpus_utilized, sched_mc_level, sched_smt_level)
-        return status
-    except Exception as details:
-        print("Exception in validate_ilb: ", details)
-        sys.exit(1)
-
-def reset_schedmc():
-    ''' Routine to reset sched_mc_power_savings to Zero level
-    '''
-    try:
-        os.system('echo 0 > \
-            /sys/devices/system/cpu/sched_mc_power_savings 2>/dev/null')
-    except OSError as e:
-        print("Could not set sched_mc_power_savings to 0", e)
-        sys.exit(1)
-
-def reset_schedsmt():
-    ''' Routine to reset sched_smt_power_savings to Zero level
-    '''
-    try:
-        os.system('echo 0 > \
-            /sys/devices/system/cpu/sched_smt_power_savings 2>/dev/null')
-    except OSError as e:
-        print("Could not set sched_smt_power_savings to 0", e)
-        sys.exit(1)
-
-def stop_wkld(work_ld):
-    ''' Kill workload triggered in background
-    '''
-    try:
-        os.system('pkill %s 2>/dev/null' %work_ld)
-        if work_ld == "kernbench":
-            os.system('pkill make 2>/dev/null')
-    except OSError as e:
-        print("Exception in stop_wkld", e)
-        sys.exit(1)
diff --git a/testcases/kernel/power_management/pm_ilb_test.py b/testcases/kernel/power_management/pm_ilb_test.py
deleted file mode 100755
index f20717090b..0000000000
--- a/testcases/kernel/power_management/pm_ilb_test.py
+++ /dev/null
@@ -1,57 +0,0 @@
-#!/usr/bin/env python3
-''' This Python script interprets interrupt values.
-    Validates Ideal load balancer runs in same package where workload is running
-'''
-
-import os
-import sys
-from optparse import OptionParser
-from pm_sched_mc import *
-
-__author__ = "Poornima Nayak <mpnayak@linux.vnet.ibm.com>"
-
-class Usage(Exception):
-    def __init__(self, msg):
-        self.msg = msg
-
-def main(argv=None):
-    if argv is None:
-        argv = sys.argv
-
-    usage = "-w"
-    parser = OptionParser(usage)
-    parser.add_option("-c", "--mc_level", dest="mc_level",
-        default=0, help="Sched mc power saving value 0/1/2")
-    parser.add_option("-t", "--smt_level", dest="smt_level",
-        default=0, help="Sched smt power saving value 0/1/2")
-    parser.add_option("-w", "--workload", dest="work_ld",
-        default="ebizzy", help="Workload can be ebizzy/kernbench")
-    (options, args) = parser.parse_args()
-
-    try:
-        count_num_cpu()
-        count_num_sockets()
-        if is_multi_socket():
-            set_sched_mc_power(options.mc_level)
-        if is_hyper_threaded():
-            set_sched_smt_power(options.smt_level)
-        map_cpuid_pkgid()
-        print("INFO: Created table mapping cpu to package")
-        background="no"
-        duration=120
-        pinned="yes"
-
-        trigger_workld(options.smt_level,options.work_ld, "single_job", duration, background, pinned, "no")
-        generate_loc_intr_report()
-        status = validate_ilb(options.mc_level, options.smt_level)
-        reset_schedmc()
-        if is_hyper_threaded():
-            reset_schedsmt()
-        return(status)
-
-    except Exception as details:
-        print("INFO: Idle Load Balancer test failed", details)
-        return(1)
-
-if __name__ == "__main__":
-    sys.exit(main())
diff --git a/testcases/kernel/power_management/pm_include.sh b/testcases/kernel/power_management/pm_include.sh
index b83324f607..4cc75aa9ac 100755
--- a/testcases/kernel/power_management/pm_include.sh
+++ b/testcases/kernel/power_management/pm_include.sh
@@ -1,19 +1,4 @@
-#!/bin/bash
-
-TMPDIR=/tmp
-
-PASS=0
-FAIL=1
-NOSUPPORT=2
-MISSING_FILE=3
-UNTESTED=4
-YES=0
-
-cleanup() {
-	if [ -f ${1} ] ; then
-		rm -f ${1}
-	fi
-}
+#!/bin/sh
 
 check_arch() {
 	case "$(uname -m)" in
@@ -24,297 +9,3 @@ check_arch() {
 		;;
 	esac
 }
-
-check_config_options() {
-	if ( ! ${3} "${1}" ${2} | grep -v "#" > /dev/null ) ; then
-		tst_brkm TCONF "NOSUPPORT: current system dosen't support ${1}"
-	fi
-}
-
-get_topology() {
-	declare -a cpus
-	declare -a phyid
-
-	total_cpus=`tst_ncpus`
-	(( total_cpus-=1 ))
-	for cpu in $(seq 0 "${total_cpus}" )
-	do
-		cpus[$cpu]=cpu${cpu}
-		phyid[$cpu]=$(cat \
-		/sys/devices/system/cpu/cpu${cpu}/topology/physical_package_id)
-	done
-	j=0
-	while [ "${j}" -lt "${total_cpus}" ]
-	do
-		(( k = $j + 1 ))
-		if [ ${phyid[$j]} -eq ${phyid[$k]} ] ; then
-			echo "${cpus[$j]} -P ${cpus[$k]}" | sed -e "s/cpu//g"
-		fi
-		(( j+=1 ))
-	done
-}
-
-check_cpufreq() {
-	total_cpus=`tst_ncpus`
-	(( total_cpus-=1 ))
-
-	for cpu in $(seq 0 "${total_cpus}" )
-	do
-		if [ ! -d /sys/devices/system/cpu/cpu${cpu}/cpufreq ] ; then
-			tst_brkm TCONF "NOSUPPORT: cpufreq support not " \
-				"found please check Kernel configuration " \
-				"or BIOS settings"
-		fi
-	done
-}
-
-get_supporting_freq() {
-	cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_available_frequencies \
-		| uniq
-}
-
-get_supporting_govr() {
-	cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_available_governors \
-		| uniq
-}
-
-is_hyper_threaded() {
-	siblings=`grep siblings /proc/cpuinfo | uniq | cut -f2 -d':'`
-	cpu_cores=`grep "cpu cores" /proc/cpuinfo | uniq | cut -f2 -d':'`
-	[ $siblings -gt $cpu_cores ]; echo $?
-}
-
-check_input() {
-	validity_check=${2:-valid}
-	testfile=$3
-	if [ "${validity_check}" = "invalid" ] ; then
-		PASS="Testcase FAIL - Able to execute"
-		FAIL="Testcase PASS - Unable to execute"
-	else
-		PASS="Testcase PASS"
-		FAIL="Testcase FAIL"
-	fi
-	RC=0
-	for input in ${1}
-	do
-		echo ${input} > ${test_file} 2>/dev/null
-		return_value=$?
-		output=$(cat ${test_file})
-		if [ "${return_value}" = "0" -a "${input}" = "${output}" ] ; then
-			echo "${0}: ${PASS}: echo ${input} > ${test_file}"
-			if [ "${validity_check}" = "invalid" ] ; then
-				RC=1
-			fi
-		else
-			echo "${0}: ${FAIL}: echo ${input} > ${test_file}"
-			if [ "${validity_check}" = "valid" ] ; then
-				RC=1
-			fi
-		fi
-	done
-	return $RC
-}
-
-is_multi_socket() {
-	no_of_sockets=`cat \
-		/sys/devices/system/cpu/cpu*/topology/physical_package_id \
-		| sort -u | wc -l`
-	[ $no_of_sockets -gt 1 ] ; echo $?
-}
-
-is_multi_core() {
-	siblings=`grep siblings /proc/cpuinfo | uniq | cut -f2 -d':'`
-	cpu_cores=`grep "cpu cores" /proc/cpuinfo | uniq | cut -f2 -d':'`
-	if [ $siblings -eq $cpu_cores ]; then
-		[ $cpu_cores -gt 1 ]; echo $?
-	else
-		: $(( num_of_cpus = siblings / cpu_cores ))
-		[ $num_of_cpus -gt 1 ]; echo $?
-	fi
-}
-
-is_dual_core() {
-	siblings=`grep siblings /proc/cpuinfo | uniq | cut -f2 -d':'`
-	cpu_cores=`grep "cpu cores" /proc/cpuinfo | uniq \
-			| cut -f2 -d':'`
-        if [ $siblings -eq $cpu_cores ]; then
-                [ $cpu_cores -eq 2 ]; echo $?
-        else
-                : $(( num_of_cpus = siblings / cpu_cores ))
-                [ $num_of_cpus -eq 2 ]; echo $?
-        fi
-}
-
-get_kernel_version() {
-	# Get kernel minor version
-	export kernel_version=`uname -r | awk -F. '{print $1"."$2"."$3}' \
-		| cut -f1 -d'-'`
-}
-
-get_valid_input() {
-	kernel_version=$1
-	case "$kernel_version" in
-	'2.6.26' | '2.6.27' | '2.6.28')
-			export valid_input="0 1" ;;
-		*) export valid_input="0 1 2" ;;
-	esac
-}
-
-analyze_result_hyperthreaded() {
-	sched_mc=$1
-    pass_count=$2
-    sched_smt=$3
-	PASS="Test PASS"
-	FAIL="Test FAIL"
-
-	RC=0
-	case "$sched_mc" in
-	0)
-		case "$sched_smt" in
-		0)
-			if [ $pass_count -lt 5 ]; then
-				echo "${PASS}: cpu consolidation failed for" \
-					"sched_mc=$sched_mc & sched_smt=$sched_smt"
-			else
-				RC=1
-				echo "${FAIL}: cpu consolidation passed for" \
-					"sched_mc=$sched_mc & sched_smt=$sched_smt"
-			fi
-			;;
-		*)
-			if [ $pass_count -lt 5 ]; then
-				RC=1
-				echo "${FAIL}: cpu consolidation for" \
-					"sched_mc=$sched_mc & sched_smt=$sched_smt"
-			else
-				echo "${PASS}: cpu consolidation for" \
-					"sched_mc=$sched_mc & sched_smt=$sched_smt"
-			fi
-			;;
-		esac ;;
-	*)
-		if [ $pass_count -lt 5 ]; then
-			RC=1
-			echo "${FAIL}: cpu consolidation for" \
-				"sched_mc=$sched_mc & sched_smt=$sched_smt"
-		else
-			echo "${PASS}: cpu consolidation for" \
-				"sched_mc=$sched_mc & sched_smt=$sched_smt"
-		fi
-		;;
-	esac
-	return $RC
-}
-
-analyze_package_consolidation_result() {
-	sched_mc=$1
-    pass_count=$2
-
-	if [ $# -gt 2 ]
-	then
-		sched_smt=$3
-	else
-		sched_smt=-1
-	fi
-
-	PASS="Test PASS"
-	FAIL="Test FAIL"
-
-	RC=0
-	if [ $hyper_threaded -eq $YES -a $sched_smt -gt -1 ]; then
-		analyze_result_hyperthreaded $sched_mc $pass_count $sched_smt
-	else
-		case "$sched_mc" in
-	    0)
-    	    if [ $pass_count -lt 5 ]; then
-				echo "${PASS}: cpu consolidation failed for" \
-					"sched_mc=$sched_mc"
-        	else
-				RC=1
-				echo "${FAIL}: cpu consolidation passed for" \
-					"sched_mc=$sched_mc"
-			fi
-			;;
-    	*)
-			if [ $pass_count -lt 5 ]; then
-				RC=1
-				echo "${FAIL}: consolidation at package level" \
-					"failed for sched_mc=$sched_mc"
-			else
-				echo "${PASS}: consolidation at package level" \
-					"passed for sched_mc=$sched_mc"
-			fi
-        	;;
-    	esac
-	fi
-	return $RC
-}
-
-analyze_core_consolidation_result() {
-	sched_smt=$1
-	pass_count=$2
-	PASS="Test PASS"
-	FAIL="Test FAIL"
-
-	RC=0
-	case "$sched_smt" in
-	0)
-		if [ $pass_count -lt 5 ]; then
-			echo "${PASS}: consolidation at core level failed" \
-				"when sched_smt=$sched_smt"
-		else
-			RC=1
-			echo "${FAIL}: consolidation at core level passed for" \
-				"sched_smt=$sched_smt"
-		fi ;;
-	*)
-		if [ $pass_count -lt 5 ]; then
-			RC=1
-			echo "${FAIL}: consolidation at core level failed for" \
-				"sched_smt=$sched_smt"
-		else
-			echo "${PASS}: consolidation at core level passed for" \
-				"sched_smt=$sched_smt"
-		fi ;;
-	esac
-	return $RC
-}
-
-analyze_sched_domain_result(){
-	sched_mc=$1
-	result=$2
-	sched_smt=$3
-	PASS="Test PASS"
-	FAIL="Test FAIL"
-
-	RC=0
-	if [ $hyper_threaded -eq $YES ]; then
-		if [ $sched_smt ]; then
-			if [ "$result" = 0 ];then
-				echo "${PASS}: sched domain test for" \
-					"sched_mc=$sched_mc & sched_smt=$sched_smt"
-			else
-				RC=1
-				echo "${FAIL}: sched domain test for" \
-					"sched_mc=$sched_mc & sched_smt=$sched_smt"
-			fi
-		else
-			if [ "$result" = 0 ];then
-				echo "${PASS}: sched domain test for" \
-					"sched_mc=$sched_mc"
-			else
-				RC=1
-				echo "${FAIL}: sched domain test for" \
-					"sched_mc=$sched_mc"
-			fi
-		fi
-	else
-		if [ "$result" = 0 ];then
-			echo "${PASS}: sched domain test for sched_mc=$sched_mc"
-		else
-			RC=1
-			echo "${FAIL}: sched domain test for sched_mc=$sched_mc"
-		fi
-	fi
-	return $RC
-}
diff --git a/testcases/kernel/power_management/pm_sched_domain.py b/testcases/kernel/power_management/pm_sched_domain.py
deleted file mode 100755
index dddc481690..0000000000
--- a/testcases/kernel/power_management/pm_sched_domain.py
+++ /dev/null
@@ -1,54 +0,0 @@
-#!/usr/bin/env python3
-''' This Python script validates sched domain information in dmesg
-    with information in sysfs topology
-'''
-
-import os
-import sys
-from pm_sched_mc import *
-from optparse import OptionParser
-
-__author__ = "Poornima Nayak <mpnayak@linux.vnet.ibm.com>"
-
-class Usage(Exception):
-    def __init__(self, msg):
-        self.msg = msg
-
-def main(argv=None):
-    if argv is None:
-        argv = sys.argv
-
-    usage = "-w"
-    parser = OptionParser(usage)
-    parser.add_option("-c", "--mc_level", dest="mc_level", default=-1,
-        help="Sched mc power saving value 0/1/2")
-    parser.add_option("-t", "--smt_level", dest="smt_level", default=-1,
-        help="Sched smt power saving value 0/1/2")
-    (options, args) = parser.parse_args()
-
-    try:
-        clear_dmesg()
-        count_num_cpu()
-        map_cpuid_pkgid()
-
-        if is_hyper_threaded() and int(options.smt_level) >= 0:
-            set_sched_smt_power(options.smt_level)
-
-        if int(options.mc_level) >= 0:
-            set_sched_mc_power(options.mc_level)
-        if int(options.smt_level) >= 0 or int(options.mc_level) >= 0:
-            status = verify_sched_domain_dmesg(options.mc_level, options.smt_level)
-            reset_schedmc()
-            if is_hyper_threaded():
-                reset_schedsmt()
-                return(status)
-        else:
-            print("INFO: Invalid arguments given")
-            return 1
-    except Exception as details:
-        print("INFO: sched domain test failed: ", details)
-        return(1)
-
-# Run test based on the command line arguments
-if __name__ == "__main__":
-    sys.exit(main())
diff --git a/testcases/kernel/power_management/runpwtests03.sh b/testcases/kernel/power_management/runpwtests03.sh
index ebd0957e64..78e0a1b9a7 100755
--- a/testcases/kernel/power_management/runpwtests03.sh
+++ b/testcases/kernel/power_management/runpwtests03.sh
@@ -24,6 +24,16 @@ export TST_TOTAL=4
 . test.sh
 . pm_include.sh
 
+get_supporting_freq() {
+	cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_available_frequencies \
+		| uniq
+}
+
+get_supporting_govr() {
+	cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_available_governors \
+		| uniq
+}
+
 check_cpufreq_sysfs_files() {
 	total_cpus=`expr $(tst_ncpus) - 1`
 	RC=0
diff --git a/testcases/kernel/power_management/runpwtests06.sh b/testcases/kernel/power_management/runpwtests06.sh
index 16e50a670b..1638aaaf82 100755
--- a/testcases/kernel/power_management/runpwtests06.sh
+++ b/testcases/kernel/power_management/runpwtests06.sh
@@ -24,6 +24,37 @@ export TST_TOTAL=1
 . test.sh
 . pm_include.sh
 
+check_input() {
+	validity_check=${2:-valid}
+	testfile=$3
+	if [ "${validity_check}" = "invalid" ] ; then
+		PASS="Testcase FAIL - Able to execute"
+		FAIL="Testcase PASS - Unable to execute"
+	else
+		PASS="Testcase PASS"
+		FAIL="Testcase FAIL"
+	fi
+	RC=0
+	for input in ${1}
+	do
+		echo ${input} > ${test_file} 2>/dev/null
+		return_value=$?
+		output=$(cat ${test_file})
+		if [ "${return_value}" = "0" -a "${input}" = "${output}" ] ; then
+			echo "${0}: ${PASS}: echo ${input} > ${test_file}"
+			if [ "${validity_check}" = "invalid" ] ; then
+				RC=1
+			fi
+		else
+			echo "${0}: ${FAIL}: echo ${input} > ${test_file}"
+			if [ "${validity_check}" = "valid" ] ; then
+				RC=1
+			fi
+		fi
+	done
+	return $RC
+}
+
 test_timer_migration() {
 	valid_input="0 1"
 	invalid_input="3 4 5 6 7 8 a abcefg x1999 xffff -1 -00000
-- 
2.53.0


      parent reply	other threads:[~2026-03-30  9:09 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-03-30  9:08 [PATCH v2 0/2] power_management: remove unsupported tests Petr Vorel
2026-03-30  9:08 ` [PATCH v2 1/2] Remove now unsupported power management tests Petr Vorel
2026-03-30  9:08 ` Petr Vorel [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260330090844.79598-3-pvorel@suse.cz \
    --to=pvorel@suse.cz \
    --cc=andrea.cervesato@suse.com \
    --cc=automated-testing@lists.yoctoproject.org \
    --cc=chrubis@suse.cz \
    --cc=daniel.lezcano@linaro.org \
    --cc=helena.anna.dubel@intel.com \
    --cc=jstancek@redhat.com \
    --cc=linux-pm@vger.kernel.org \
    --cc=liwang@redhat.com \
    --cc=ltp@lists.linux.it \
    --cc=lukasz.luba@arm.com \
    --cc=piotr.kubaj@intel.com \
    --cc=rafael@kernel.org \
    --cc=rui.zhang@intel.com \
    --cc=tomasz.ossowski@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox