On Wed, 6 Oct 2021, Leah Leshchinsky wrote:
Currently, the command `tuna --cpus=CPU-LIST --spread` generates an error with the warning "tuna: --move requires a list of threads/irqs!". Similarly, when the command `tuna --threads=THREAD-LIST --spread` is run, it generates the warning "tuna: --move requires a cpu list!".
This can be confusing to the user, especially with commands that use both the "--spread" and "--move" flags. The warning should specify "--spread" when that is the source of the error.
Check whether the argument is a move or spread and update the warning string accordingly.
Signed-off-by: Leah Leshchinsky lleshchi@redhat.com
tuna-cmd.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/tuna-cmd.py b/tuna-cmd.py index 8617966..8dfad9e 100755 --- a/tuna-cmd.py +++ b/tuna-cmd.py @@ -633,15 +633,14 @@ def main(): elif o in ("-n", "--show_sockets"): show_sockets = True elif o in ("-m", "--move", "-x", "--spread"):
spread = o in ("-x", "--spread") if not cpu_list:
print("tuna: --move " + _("requires a cpu list!"))
print("tuna: %s " % ("--spread" if spread else "--move") + _("requires a cpu list!")) sys.exit(2) if not (thread_list or irq_list):
print("tuna: --move " + _("requires a list of threads/irqs!"))
print("tuna: %s " % ("--spread" if spread else "--move") + _("requires a list of threads/irqs!")) sys.exit(2)
spread = o in ("-x", "--spread")
if thread_list: tuna.move_threads_to_cpu(cpu_list, thread_list, spread=spread)
--
Excellent catch.
You could make this even simpler too though. It would also be confusing if the user typed '-x' and the message says '--spread', but since the variable 'o' contains exactly what the user passed you could print that directly without even moving the spread = o in ("-x", "--spread") line.
Eg, change the first print to print(f"tuna: {o} requires a cpu list!") and do something similar with the second print
John