diff --git a/test/cmdtest_d/base.py b/test/cmdtest_d/base.py index 6cda6a27..1cec2938 100755 --- a/test/cmdtest_d/base.py +++ b/test/cmdtest_d/base.py @@ -95,21 +95,21 @@ class CmdTestBase: except: msg(f'{fn}: file does not exist or could not be deleted') - def skip_for_platform(self, name, extra_msg=None): - if gc.platform == name: - msg(gray('Skipping test {!r} for {} platform{}'.format( + def skip_on_condition(self, condition, message, extra_msg): + if condition: + msg(gray('Skipping test {!r} {}{}'.format( self.test_name, - name, + message, f' ({extra_msg})' if extra_msg else ""))) return True else: return False def skip_for_mac(self, extra_msg=None): - return self.skip_for_platform('darwin', extra_msg) + return self.skip_on_condition(gc.platform=='darwin', 'for macOS platform', extra_msg) def skip_for_win(self, extra_msg=None): - return self.skip_for_platform('win32', extra_msg) + return self.skip_on_condition(gc.platform=='win32', 'for win32 platform', extra_msg) def spawn_chk(self, *args, **kwargs): """ diff --git a/test/cmdtest_d/input.py b/test/cmdtest_d/input.py index e558dbf2..9dbd4316 100755 --- a/test/cmdtest_d/input.py +++ b/test/cmdtest_d/input.py @@ -106,6 +106,12 @@ class CmdTestInput(CmdTestBase): ) } + def skip_no_readline_insert(self, extra_msg=None): + return self.skip_on_condition( + gc.platform == 'darwin', + ' (no readline insert support)', + extra_msg) + def get_seed_from_stdin(self): self.spawn(msg_only=True) from subprocess import run, PIPE @@ -336,7 +342,7 @@ class CmdTestInput(CmdTestBase): False) def line_input_insert_term1(self): - if self.skip_for_mac('readline text buffer issues'): + if self.skip_no_readline_insert(): return 'skip' return self._line_input( ['prompt> ', True, 'foo', True], @@ -346,7 +352,7 @@ class CmdTestInput(CmdTestBase): hold_protect_delay) def line_input_insert_term2(self): - if self.skip_for_mac('readline text buffer issues'): + if self.skip_no_readline_insert(): return 'skip' return self._line_input( ['prompt> ', True, 'foo', False], @@ -363,7 +369,7 @@ class CmdTestInput(CmdTestBase): hold_protect_delay) def line_input_edit_term_insert(self): - if self.skip_for_mac('readline text buffer issues'): + if self.skip_no_readline_insert(): return 'skip' return self._line_input( ['prompt> ', True, 'φυφυ', True], @@ -373,7 +379,7 @@ class CmdTestInput(CmdTestBase): hold_protect_delay) def line_input_erase_term(self): - if self.skip_for_mac('readline text buffer issues'): + if self.skip_no_readline_insert(): return 'skip' return self._line_input( ['prompt> ', True, 'foobarbaz', True],