On Fri, Oct 07, 2022 at 08:55:20PM +0000, Sean Christopherson wrote: > On Mon, Sep 12, 2022, Colton Lewis wrote: > > @@ -393,7 +403,7 @@ int main(int argc, char *argv[]) > > > > guest_modes_append_default(); > > > > - while ((opt = getopt(argc, argv, "ghi:p:m:nb:f:v:or:s:x:")) != -1) { > > + while ((opt = getopt(argc, argv, "ghi:p:m:nb:v:or:s:x:w:")) != -1) { > > This string is getting quite annoying to maintain, e.g. all of these patches > conflict with recent upstream changes, and IIRC will conflict again with Vipin's > changes. AFAICT, the string passed to getopt() doesn't need to be constant, i.e. > can be built programmatically. Not in this series, but as future cleanup we should > at least consider a way to make this slightly less painful to maintain. > I wonder if a getopt string like above is really saying "we're doing too much in a single test binary". Are all these switches just for one-off experiments which developers need? Or, are testers expected to run this binary multiple times with different combinations of switches? If it's the latter, then I think we need a test runner script and config file to capture those separate invocations (similar to kvm-unit-tests). Or, change from a collection of command line switches to building the file multiple times with different compile time switches and output filenames. Then, testers are just expected to run all binaries (which is what I think most believe / do today). Thanks, drew