diff options
Diffstat (limited to 'orderfile/post_process_orderfile_test.py')
-rwxr-xr-x | orderfile/post_process_orderfile_test.py | 94 |
1 files changed, 0 insertions, 94 deletions
diff --git a/orderfile/post_process_orderfile_test.py b/orderfile/post_process_orderfile_test.py deleted file mode 100755 index 2532b8b3..00000000 --- a/orderfile/post_process_orderfile_test.py +++ /dev/null @@ -1,94 +0,0 @@ -#!/usr/bin/env python2 -# -*- coding: utf-8 -*- -# Copyright 2019 The Chromium OS 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 for post_process_orderfile.py.""" - -from __future__ import division, print_function - -import os -import shutil -import tempfile -import unittest - -import post_process_orderfile - - -def _write_nm_file(name): - with open(name, 'w') as out: - out.write('000001 s NotAValidSymbol1\n') - out.write('000002 S NotAValidSymbol2\n') - out.write('000010 t FirstValidSymbol\n') - out.write('000012 t \n') - out.write('000020 T Builtins_SecondValidSymbol\n') - out.write('000030 T $SymbolToIgnore\n') - out.write('000036 T Builtins_LastValidSymbol\n') - - -def _write_orderfile(name): - with open(name, 'w') as out: - out.write('SymbolOrdered1\n') - out.write('SymbolOrdered2\n') - - -def _cleanup(files): - for f in files: - shutil.rmtree(f, ignore_errors=True) - - -class Tests(unittest.TestCase): - """All of our tests for post_process_orderfile.""" - - #pylint: disable=protected-access - def test__parse_nm_output(self): - temp_dir = tempfile.mkdtemp() - self.addCleanup(_cleanup, [temp_dir]) - chrome_nm_file = os.path.join(temp_dir, 'chrome_nm.txt') - _write_nm_file(chrome_nm_file) - with open(chrome_nm_file) as f: - results = list(post_process_orderfile._parse_nm_output(f)) - self.assertEqual(len(results), 3) - self.assertIn('FirstValidSymbol', results) - self.assertIn('Builtins_SecondValidSymbol', results) - self.assertIn('Builtins_LastValidSymbol', results) - - def test__remove_duplicates(self): - duplicates = ['marker1', 'marker2', 'marker3', 'marker2', 'marker1'] - results = list(post_process_orderfile._remove_duplicates(duplicates)) - self.assertEqual(results, ['marker1', 'marker2', 'marker3']) - - def test_run(self): - temp_dir = tempfile.mkdtemp() - self.addCleanup(_cleanup, [temp_dir]) - orderfile_input = os.path.join(temp_dir, 'orderfile.in.txt') - orderfile_output = os.path.join(temp_dir, 'orderfile.out.txt') - chrome_nm_file = os.path.join(temp_dir, 'chrome_nm.txt') - _write_nm_file(chrome_nm_file) - _write_orderfile(orderfile_input) - with open(orderfile_input) as in_stream, \ - open(orderfile_output, 'w') as out_stream, \ - open(chrome_nm_file) as chrome_nm_stream: - post_process_orderfile.run(in_stream, chrome_nm_stream, out_stream) - - with open(orderfile_output) as check: - results = [x.strip() for x in check.readlines()] - self.assertEqual( - results, - [ - # Start marker should be put first. - 'chrome_begin_ordered_code', - # Symbols in orderfile come next. - 'SymbolOrdered1', - 'SymbolOrdered2', - # Builtin functions in chrome_nm come next, and sorted. - 'Builtins_LastValidSymbol', - 'Builtins_SecondValidSymbol', - # Last symbol should be end marker. - 'chrome_end_ordered_code' - ]) - - -if __name__ == '__main__': - unittest.main() |