Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1c51c141 authored by Zhuoyao Zhang's avatar Zhuoyao Zhang Committed by Gerrit Code Review
Browse files

Merge "Fix a bug in run_tool_with_logging script" into main

parents 5b0dfe41 dfdf19f2
Loading
Loading
Loading
Loading
+5 −5
Original line number Diff line number Diff line
@@ -847,11 +847,11 @@ function run_tool_with_logging() {
  # Remove the trap to prevent duplicate log.
  trap - EXIT;
  "${logger}" \
    --tool_tag "${tool_tag}" \
    --start_timestamp "${start_time}" \
    --end_timestamp "$(date +%s.%N)" \
    --tool_args "$*" \
    --exit_code "${exit_code}" \
    --tool_tag="${tool_tag}" \
    --start_timestamp="${start_time}" \
    --end_timestamp="$(date +%s.%N)" \
    --tool_args="$*" \
    --exit_code="${exit_code}" \
    ${ANDROID_TOOL_LOGGER_EXTRA_ARGS} \
    > /dev/null 2>&1 &
  exit ${exit_code}
+17 −4
Original line number Diff line number Diff line
@@ -90,8 +90,8 @@ class RunToolWithLoggingTest(unittest.TestCase):

    test_tool.assert_called_once_with_args("arg1 arg2")
    expected_logger_args = (
        "--tool_tag FAKE_TOOL --start_timestamp \d+\.\d+ --end_timestamp"
        " \d+\.\d+ --tool_args arg1 arg2 --exit_code 0"
        "--tool_tag=FAKE_TOOL --start_timestamp=\d+\.\d+ --end_timestamp="
        "\d+\.\d+ --tool_args=arg1 arg2 --exit_code=0"
    )
    test_logger.assert_called_once_with_args(expected_logger_args)

@@ -163,8 +163,8 @@ class RunToolWithLoggingTest(unittest.TestCase):
    self.assertEqual(returncode, INTERRUPTED_RETURN_CODE)

    expected_logger_args = (
        "--tool_tag FAKE_TOOL --start_timestamp \d+\.\d+ --end_timestamp"
        " \d+\.\d+ --tool_args arg1 arg2 --exit_code 130"
        "--tool_tag=FAKE_TOOL --start_timestamp=\d+\.\d+ --end_timestamp="
        "\d+\.\d+ --tool_args=arg1 arg2 --exit_code=130"
    )
    test_logger.assert_called_once_with_args(expected_logger_args)

@@ -205,6 +205,19 @@ class RunToolWithLoggingTest(unittest.TestCase):

    self._assert_logger_dry_run()

  def test_tool_args_do_not_fail_logger(self):
    test_tool = TestScript.create(self.working_dir)
    logger_path = self._import_logger()

    self._run_script_and_wait(f"""
      TMPDIR="{self.working_dir.name}"
      ANDROID_TOOL_LOGGER="{logger_path}"
      ANDROID_TOOL_LOGGER_EXTRA_ARGS="--dry_run"
      run_tool_with_logging "FAKE_TOOL" {test_tool.executable} --tool-arg1
    """)

    self._assert_logger_dry_run()

  def _import_logger(self) -> Path:
    logger = "tool_event_logger"
    logger_path = Path(self.working_dir.name).joinpath(logger)