16.09.2019 19:32, John Snow wrote: > > > On 9/16/19 10:56 AM, Vladimir Sementsov-Ogievskiy wrote: >> 12.09.2019 3:16, John Snow wrote: >>> Like script_main, but doesn't require a single point of entry. >>> Replace all existing initialization sections with this drop-in replacement. >>> >>> This brings debug support to all existing script-style iotests. >>> >>> Note: supported_oses=['linux'] was omitted, as it is a default argument. >> >> But after this patch all test which didn't check os start to check linux >> (as it's default).. So all tests which worked on other platforms will now >> be skipped on these other platforms? >> > > def verify_platform(supported_oses=['linux']): > if True not in [sys.platform.startswith(x) for x in supported_oses]: > notrun('not suitable for this OS: %s' % sys.platform) > > > It was already the default. I didn't *make* it the default.
Yes. But for some tests, verify_platform wasn't called before this patch at all. And now it is called and checks "linux". It's the change. Or what I miss? > There is no > change here. Feel free to propose a fix, but I don't think it's within > the scope of this series. > >> Finally do we support something except linux for iotests? >> for bash tests _supported_os also used only with "Linux" in 87 tests.. >> > > Evidently, not really. See bc521696607c5348fcd8a9e57b408d0ac0dbe2f8 > >> May be we'd better drop both _supported_os and supported_oses alltogether, >> and don't care? >> > > Beyond the scope of this series. > >> Anyway, if we support only linux, any reason to skip almost all tests, >> if someone tries to run test on other platform? Let him run what he wants. > > Maybe true, maybe not. > >> >>> Signed-off-by: John Snow <js...@redhat.com> >>> --- >> >> [..] >> >>> +def execute_test(test_function=None, *args, **kwargs): >>> + """Run either unittest or script-style tests.""" >>> + >>> + debug = execute_setup_common(*args, **kwargs) >>> if not test_function: >>> - execute_unittest(output, verbosity, debug) >>> + execute_unittest(debug) >>> else: >>> test_function() >>> >>> +# This is called from script-style iotests without a single point of entry >>> +def script_initialize(*args, **kwargs): >>> + """Initialize script-style tests without running any tests.""" >>> + execute_setup_common(*args, **kwargs) >>> + >>> +# This is called from script-style iotests with a single point of entry >>> def script_main(test_function, *args, **kwargs): >>> """Run script-style tests outside of the unittest framework""" >>> execute_test(test_function, *args, **kwargs) >>> >>> +# This is called from unittest style iotests >>> def main(*args, **kwargs): >>> """Run tests using the unittest framework""" >> >> >> Hmm, now two different styles of code documenting used: comment and >> doc-string, >> both containing almost equal meaning.. I don't like it, still don't really >> mind. > > I think I was trying to document what the function /does/ separately > from a note about explaining how and where it is used. It's quite nearly > redundant and if it's distracting I can remove it. > -- Best regards, Vladimir