qemu-trivial
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] vl: Abort if multiple machines are registered as default


From: Laurent Vivier
Subject: Re: [PATCH] vl: Abort if multiple machines are registered as default
Date: Fri, 7 Feb 2020 12:28:19 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.3.1

Le 07/02/2020 à 12:25, Philippe Mathieu-Daudé a écrit :
> On 2/7/20 12:08 PM, Laurent Vivier wrote:
>> Le 07/02/2020 à 12:02, Philippe Mathieu-Daudé a écrit :
>>> It would be confusing to have multiple default machines.
>>> Abort if this ever occurs.
>>>
>>> Signed-off-by: Philippe Mathieu-Daudé <address@hidden>
>>> ---
>>>   vl.c | 7 +++++++
>>>   1 file changed, 7 insertions(+)
>>>
>>> diff --git a/vl.c b/vl.c
>>> index 7dcb0879c4..da828188eb 100644
>>> --- a/vl.c
>>> +++ b/vl.c
>>> @@ -2354,6 +2354,8 @@ static MachineClass *machine_parse(const char
>>> *name, GSList *machines)
>>>       GSList *el;
>>>         if (is_help_option(name)) {
>>> +        int default_count = 0;
>>> +
>>>           printf("Supported machines are:\n");
>>>           machines = g_slist_sort(machines, machine_class_cmp);
>>>           for (el = machines; el; el = el->next) {
>>> @@ -2364,6 +2366,11 @@ static MachineClass *machine_parse(const char
>>> *name, GSList *machines)
>>>               printf("%-20s %s%s%s\n", mc->name, mc->desc,
>>>                      mc->is_default ? " (default)" : "",
>>>                      mc->deprecation_reason ? " (deprecated)" : "");
>>> +            default_count += !!mc->is_default;
>>> +        }
>>> +        if (default_count > 1) {
>>> +            error_printf("Multiple default machines available\n");
>>> +            abort();
>>>           }
>>>           exit(0);
>>>       }
>>>
>>
>> Does it really deserve an abort?
>> Ideal solution would be to be able to check this at build or in the unit
>> tests.
> 
> This is for developers, not for users. I'll use Marc-André suggestion
> and use an assertion.

I agree, but it's why it would be better if it is detected before it
comes to the user.

Perhaps you can add a test to run "qemu -h" to trigger the abort() early
in the develompment process (if it doesn't already exist).

Thanks,
Laurent
Thanks,
LAurent




reply via email to

[Prev in Thread] Current Thread [Next in Thread]