On Thu, Jun 22, 2023 at 5:12 PM Paolo Bonzini <pbonz...@redhat.com> wrote: > > On Thu, Jun 22, 2023 at 11:08 PM John Snow <js...@redhat.com> wrote: > > > > On Thu, Jun 22, 2023 at 5:05 PM Paolo Bonzini <pbonz...@redhat.com> wrote: > > > > > > On Thu, Jun 22, 2023 at 11:03 PM John Snow <js...@redhat.com> wrote: > > > > If we always install it in editable mode, and the path where it is > > > > "installed" is what we expect it to be, it shouldn't have any problems > > > > with being out of date.... I think. We could conceivably use the > > > > "faux" package version the internal package has to signal when the > > > > script needs to re-install it. > > > > > > Stupid question, why not treat it just like avocado? > > > > > > > How do you mean? (i.e. installing it on-demand in reaction to "make > > check-avocado"?) > > Yes, installing it on-demand the first time "make check-iotests" is > run, using a "depend:" keyword argument in > tests/qemu-iotests/meson.build. > > BTW, > > from distlib.scripts import ScriptMaker > ScriptMaker('..', '.').make('foo.py') > > Seems to do the right thing as long as foo.py includes a shebang (I > tested it inside a virtual environment). > > Paolo
That's possible, but it means that it will break if you run configure and then immediately go to invoke iotests, unless we have a way to have iotests bootstrap itself. Which I think can't be done through the makefile, because we don't know which "make" to run in order to get that to happen. (Or at least, I don't!) Possibly I could teach mkvenv a new trick, like "mkvenv init iotests" and have the mkvenv script DTRT at that point, whatever that is -- ideally exiting very quickly without doing anything.