diff options
Diffstat (limited to 'third_party/libwebrtc/build/fuchsia/binary_sizes_test.py')
-rwxr-xr-x | third_party/libwebrtc/build/fuchsia/binary_sizes_test.py | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/third_party/libwebrtc/build/fuchsia/binary_sizes_test.py b/third_party/libwebrtc/build/fuchsia/binary_sizes_test.py new file mode 100755 index 0000000000..962e4c9123 --- /dev/null +++ b/third_party/libwebrtc/build/fuchsia/binary_sizes_test.py @@ -0,0 +1,61 @@ +#!/usr/bin/env python +# 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. + +import copy +import math +import os +import shutil +import subprocess +import tempfile +import time +import unittest + +import binary_sizes + +from common import DIR_SOURCE_ROOT + + +class TestBinarySizes(unittest.TestCase): + tmpdir = None + + @classmethod + def setUpClass(cls): + cls.tmpdir = tempfile.mkdtemp() + + @classmethod + def tearDownClass(cls): + shutil.rmtree(cls.tmpdir) + + # TODO(crbug.com/1145648): Add tests covering FAR file input and histogram + # output. + + def testCommitFromBuildProperty(self): + commit_position = binary_sizes.CommitPositionFromBuildProperty( + 'refs/heads/master@{#819458}') + self.assertEqual(commit_position, 819458) + + def testCompressedSize(self): + """Verifies that the compressed file size can be extracted from the + blobfs-compression output.""" + + uncompressed_file = tempfile.NamedTemporaryFile(delete=False) + for line in range(200): + uncompressed_file.write( + 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. ' + 'Sed eleifend') + uncompressed_file.close() + compressed_path = uncompressed_file.name + '.compressed' + compressor_path = os.path.join(DIR_SOURCE_ROOT, 'third_party', + 'fuchsia-sdk', 'sdk', 'tools', 'x64', + 'blobfs-compression') + subprocess.call([compressor_path, uncompressed_file.name, compressed_path]) + self.assertEqual(binary_sizes.CompressedSize(uncompressed_file.name), + os.path.getsize(compressed_path)) + os.remove(uncompressed_file.name) + os.remove(compressed_path) + + +if __name__ == '__main__': + unittest.main() |