Merge changes I79f72bb4,Ic9c10b05 into main am: c0631c8948 am: b2c6bbddca
Original change: https://android-review.googlesource.com/c/platform/tools/asuite/+/3366541
Change-Id: I23910121425025f1b7b47cdcd3ce9a075bccc9fe
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
diff --git a/atest/atest_utils.py b/atest/atest_utils.py
index 2bc306d..d46b2db 100644
--- a/atest/atest_utils.py
+++ b/atest/atest_utils.py
@@ -311,9 +311,8 @@
is_rolling = True
def reset_output():
- if not is_rolling:
- return
- io_output.write(_BASH_CLEAR_PREVIOUS_LINE_CODE * (len(last_lines) + 2))
+ if is_rolling and last_lines:
+ io_output.write(_BASH_CLEAR_PREVIOUS_LINE_CODE * (len(last_lines) + 2))
def write_output(new_lines: list[str]):
if not is_rolling:
@@ -327,6 +326,7 @@
io_output.flush()
original_stdout = sys.stdout
+ original_stderr = sys.stderr
lock = threading.Lock()
@@ -351,6 +351,7 @@
original_stdout.flush()
sys.stdout = SafeStdout()
+ sys.stderr = sys.stdout
for line in iter(io_input.readline, ''):
if not line:
@@ -376,6 +377,7 @@
io_output.flush()
sys.stdout = original_stdout
+ sys.stderr = original_stderr
io_input.close()
diff --git a/atest/atest_utils_unittest.py b/atest/atest_utils_unittest.py
index 243b6b5..6fae039 100755
--- a/atest/atest_utils_unittest.py
+++ b/atest/atest_utils_unittest.py
@@ -137,6 +137,21 @@
io_output.getvalue(),
)
+ @mock.patch.object(atest_utils, 'get_terminal_size', return_value=(5, -1))
+ def test_stream_io_output_no_lines_written_no_lines_cleared(self, _):
+ """Test when nothing is written, no lines are cleared."""
+ io_input = StringIO()
+ io_output = StringIO()
+
+ atest_utils.stream_io_output(
+ io_input, max_lines=2, io_output=io_output, is_io_output_atty=True
+ )
+
+ self.assertNotIn(
+ atest_utils._BASH_CLEAR_PREVIOUS_LINE_CODE,
+ io_output.getvalue(),
+ )
+
class ConcatenatePathTest(unittest.TestCase):
"""Class that tests path concatenation."""