On Fri, 10 Jul 2020 at 16:46, Max Reitz <mre...@redhat.com> wrote: > > On 10.07.20 17:42, Peter Maydell wrote: > > On Fri, 10 Jul 2020 at 16:31, Max Reitz <mre...@redhat.com> wrote: > >> > >> On 10.07.20 17:18, Peter Maydell wrote: > >>> readarray only arrived sometime in bash 4, and the OSX system > >>> bash is 3.2.57, so it won't have that builtin. > >> > >> It arrived with 4.0, actually, which was released 11 years ago. > >> I had assumed that would be sufficiently mature. > >> > >> So, um, 11 years isn’t sufficiently mature then and I’ll have to work > >> around not having readarray for macOS? > > > > It's the usual Apple-vs-GPL3 issue. > > > > I note that the iotests do seem to regularly run into > > non-portable constructs: Kevin's latest pullreq has > > just failed due to a use of 'truncate' that doesn't > > work on the BSDs. > > :/ > > I’ll send a patch to drop readarray.
Thanks. I realised as a result of discussion on IRC that this slipped through my testing because my OSX system wasn't running iotests at all because it didn't have a GNU sed available. As Dan says, the other option is to do the same thing we do for GNU sed, and skip all the iotests if we don't have a new enough bash. I can always install sed and bash out of homebrew to bring my setup into line with the cirrus CI one. If we take that path we should update the cirrus CI config to make sure it also installs homebrew bash (and that the iotests use bash-from-the-path, not /bin/bash.) -- PMM