blob: 2f6b7e3be1e46e3c640a4ebcc92a8749c432fcde [file] [log] [blame] [edit]
# Copyright 2023 The ChromiumOS Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
"""Unittests for remoteexec_lib.py"""
from chromite.lib import cros_test_lib
from chromite.lib import osutils
from chromite.lib import remoteexec_lib
class TestLogArchiver(cros_test_lib.RunCommandTempDirTestCase):
"""Tests for remoteexec_lib."""
def setUp(self):
self.src_dir = self.tempdir / "src_dir"
self.dest_dir = self.tempdir / "dest_dir"
osutils.SafeMakedirs(self.src_dir)
osutils.SafeMakedirs(self.dest_dir)
self.archiver = remoteexec_lib.LogsArchiver(self.dest_dir)
self.archiver.src_dir_for_testing = self.src_dir
def _create_file(self, package_name: str, filename: str):
osutils.WriteFile(
self.src_dir / f"reclient-{package_name}" / filename,
f"Package: {package_name}\nFile: {filename}",
makedirs=True,
)
def testArchiveFiles(self):
"""Test LogArchiver.Archive() method."""
self._create_file("chromeos-chrome", "test.INFO.log")
self._create_file("chromeos-chrome", "test.INFO")
self._create_file("chromeos-chrome", "reproxy_test.INFO")
self._create_file("chromeos-chrome", "reproxy_test.rrpl")
log_files = self.archiver.archive()
self.assertEqual(
log_files,
[
"reclient-chromeos-chrome/test.INFO.log.gz",
"reclient-chromeos-chrome/reproxy_test.INFO.gz",
"reclient-chromeos-chrome/reproxy_test.rrpl.gz",
],
)