12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- #!/usr/bin/env vpython3
- # Copyright 2020 The Chromium Authors. All rights reserved.
- # Use of this source code is governed by a BSD-style license that can be
- # found in the LICENSE file.
- """Tests of file_util functions."""
- import os
- import shutil
- import unittest
- import file_util
- import test_runner_test
- class TestCoverageUtil(test_runner_test.TestCase):
- """Test cases for file_util.py"""
- def create_origin_profraw_file_if_not_exist(self):
- """Creates the profraw file in the correct udid data folder to move if it
- doesn't exist
- """
- if not os.path.exists(self.origin_profraw_file_path):
- with open(self.origin_profraw_file_path, 'w') as outfile:
- outfile.write("Some raw coverage data.\n")
- def setUp(self):
- super(TestCoverageUtil, self).setUp()
- self.test_folder = os.path.join(os.getcwd(), "file_util_test_data")
- self.simulators_folder = os.path.join(self.test_folder, "Devices")
- self.existing_udid = "existing-udid"
- self.existing_udid_folder = os.path.join(self.simulators_folder,
- "existing-udid")
- self.existing_udid_data_folder = os.path.join(self.simulators_folder,
- self.existing_udid, "data")
- if not os.path.exists(self.existing_udid_data_folder):
- os.makedirs(self.existing_udid_data_folder)
- self.profraw_file_name = "default.profraw"
- self.origin_profraw_file_path = os.path.join(self.existing_udid_data_folder,
- self.profraw_file_name)
- self.not_existing_udid = "not-existing-udid"
- self.not_existing_udid_data_folder = os.path.join(self.simulators_folder,
- self.not_existing_udid,
- "data")
- if os.path.exists(self.not_existing_udid_data_folder):
- shutil.rmtree(self.not_existing_udid_data_folder)
- self.output_folder = os.path.join(self.test_folder, "output")
- if not os.path.exists(self.output_folder):
- os.makedirs(self.output_folder)
- self.expected_profraw_output_path = os.path.join(self.output_folder,
- "profraw",
- self.profraw_file_name)
- self.mock(file_util, 'SIMULATORS_FOLDER', self.simulators_folder)
- def tearDown(self):
- shutil.rmtree(self.test_folder)
- def test_move_raw_coverage_data(self):
- """Tests if file_util can correctly move raw coverage data"""
- self.create_origin_profraw_file_if_not_exist()
- self.assertTrue(os.path.exists(self.origin_profraw_file_path))
- self.assertFalse(os.path.exists(self.expected_profraw_output_path))
- file_util.move_raw_coverage_data(self.existing_udid, self.output_folder)
- self.assertFalse(os.path.exists(self.origin_profraw_file_path))
- self.assertTrue(os.path.exists(self.expected_profraw_output_path))
- os.remove(self.expected_profraw_output_path)
- def test_move_raw_coverage_data_origin_not_exist(self):
- """Ensures that file_util won't break when raw coverage data folder or
- file doesn't exist
- """
- # Tests origin directory doesn't exist.
- file_util.move_raw_coverage_data(self.not_existing_udid, self.output_folder)
- self.assertFalse(os.path.exists(self.expected_profraw_output_path))
- # Tests profraw file doesn't exist.
- if os.path.exists(self.origin_profraw_file_path):
- os.remove(self.origin_profraw_file_path)
- self.assertFalse(os.path.exists(self.origin_profraw_file_path))
- self.assertFalse(os.path.exists(self.expected_profraw_output_path))
- file_util.move_raw_coverage_data(self.existing_udid, self.output_folder)
- self.assertFalse(os.path.exists(self.expected_profraw_output_path))
- if __name__ == '__main__':
- unittest.main()
|