Regarding the decorator "pytest.mark.execute_serially", I saw all the test cases are marked as execute_serially in tests/shell/test_shell_interactive.py. I guess a few tests should be run exclusively, but the other tests do not require the serial option. What do you think about this? I think we should consider to use the decorator when adding test cases. Minimized serial run can help to reduce overall test running time by parallelism.
I think the following cases do not require the decorator.
a. Check consistency from test result
b. Test query cancellation
c. Test shell options which are effective on local shell
> From Tim's comment:
I think you're right that many of the shell tests don't inherently require to be executed serially. Some of them would require work to execute in parallel, particularly the ones that inspect files like .impalahistory and tests that check the values of global impala daemon metrics.