Re: [PATCH 1/1] [gdb/contrib] Add make-check-all.sh

Tom de Vries via Gdb-patches
2023-04-18T12:44:16Z

On 4/5/23 11:01, Tom de Vries via Gdb-patches wrote:
> On 4/4/23 13:35, Andrew Burgess wrote:
>> Tom de Vries via Gdb-patches <gdb-patches@sourceware.org> writes:
>>
>>> Add script gdb/contrib/make-check-all.sh, that's intended to function
>>> as a
>>> drop-in replacement of make check, but excercising all host/target
>>> boards in
>>> gdb/testsuite/boards.
>>>
>>> Shell-checked and tested on x86_64-linux.
>>
>> Hi Tom,
>>
>> Thanks for putting this together, I think this could be really useful.
>>
>
> That's great to hear :)
>
>> I'm not a fan of the way you've split the patch description into email
>> 0/1 and not included it with this commit.  I think there's lots of
>> useful information in there, and I'd much rather have the whole
>> description included in the commit message -- it's much easier to find
>> then rather than having to hunt on the mailing list in the future.
>>
>
> Ack, I've reworked this into a patch rather than patch series.
>
>>> ---
>>>   gdb/contrib/make-check-all.sh | 255 ++++++++++++++++++++++++++++++++++
>>>   1 file changed, 255 insertions(+)
>>>   create mode 100755 gdb/contrib/make-check-all.sh
>>>
>>> diff --git a/gdb/contrib/make-check-all.sh
>>> b/gdb/contrib/make-check-all.sh
>>> new file mode 100755
>>> index 00000000000..1befe418b81
>>> --- /dev/null
>>> +++ b/gdb/contrib/make-check-all.sh
>>> @@ -0,0 +1,255 @@
>>> +#!/bin/bash
>>> +
>>> +# Copyright (C) 2023 Free Software Foundation, Inc.
>>> +# 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 3 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, see <http://www.gnu.org/licenses/>.
>>> +
>>> +# Run make check with all boards from gdb/testsuite/boards.
>>
>> I think you need some kind of usage test here too.  Imagine a new
>> developer finds this file and looks inside.  Ideally, I think they
>> should know how to use it, and what it will do for them without having
>> to read any of the actual script content.
>>
>
> Added.
>
>> On implementation, I wonder if it would be useful to provide a mechanism
>> by which the gdb.sum and gdb.log files for each test run could be
>> preserved?
>>
>
> Done, I've renamed --keep to --keep-tmp, and added this new
> functionality under --keep.
>
> I've also added "set -e" to make sure ^C aborts the script rather than
> just one make check invocation, and moved the tmpdir removal to a
> cleanup function that's executed on exit, to make sure ^C doesn't leave
> tmpdirs behind.
>

I'd like to commit this at the end of the week, if there are no further
review comments.

Simon, I remember discussing something similar with you a few years ago
( https://sourceware.org/pipermail/gdb-patches/2020-May/169003.html ),
so I wondered if you have any comments on this approach.

Thanks,
- Tom