Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(382)

Unified Diff: native_client_sdk/src/project_templates/init_project_test.py

Issue 16972010: Dropping nacl sdk dead code (documentation, project_template). (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: native_client_sdk/src/project_templates/init_project_test.py
diff --git a/native_client_sdk/src/project_templates/init_project_test.py b/native_client_sdk/src/project_templates/init_project_test.py
deleted file mode 100755
index ae1d0b291fe31ffcfe50ec9d4a62e491486fbdbb..0000000000000000000000000000000000000000
--- a/native_client_sdk/src/project_templates/init_project_test.py
+++ /dev/null
@@ -1,263 +0,0 @@
-#!/usr/bin/env python
-# Copyright (c) 2012 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.
-
-"""Unit tests for init_project.py."""
-
-__author__ = 'mlinck@google.com (Michael Linck)'
-
-import fileinput
-import os
-import shutil
-import sys
-import unittest
-import mox
-import init_project
-
-
-def TestMock(file_path, open_func):
- temp_file = open_func(file_path)
- temp_file.close()
-
-
-class TestGlobalFunctions(unittest.TestCase):
- """Class for test cases to cover globally declared helper functions."""
-
- def testGetCamelCaseName(self):
- output = init_project.GetCamelCaseName('camel_case_name')
- self.assertEqual(output, 'CamelCaseName')
- output = init_project.GetCamelCaseName('print_42')
- self.assertEqual(output, 'Print42')
-
- def testGetCodeDirectory(self):
- output = init_project.GetCodeDirectory(True, '')
- self.assertEqual(output, 'c')
- output = init_project.GetCodeDirectory(False, '')
- self.assertEqual(output, 'cc')
- output = init_project.GetCodeDirectory(True, 'test')
- self.assertEqual(output, 'test/c')
- output = init_project.GetCodeDirectory(False, 'test')
- self.assertEqual(output, 'test/cc')
-
- def testGetCodeSourceFiles(self):
- output = init_project.GetCodeSourceFiles(False)
- self.assertEqual(output, init_project.CC_SOURCE_FILES)
- output = init_project.GetCodeSourceFiles(True)
- self.assertEqual(output, init_project.C_SOURCE_FILES)
-
- def testGetCommonSourceFiles(self):
- output = init_project.GetCommonSourceFiles()
- expected_output_linux = init_project.COMMON_PROJECT_FILES
- expected_output_windows = init_project.COMMON_PROJECT_FILES
- expected_output_windows.extend(['scons.bat'])
- linux_match = (output == expected_output_linux)
- windows_match = (output == expected_output_windows)
- passed = (linux_match | windows_match)
- self.assertTrue(passed)
-
- def testGetHTMLDirectory(self):
- output = init_project.GetHTMLDirectory('')
- self.assertEqual(output, 'html')
- output = init_project.GetHTMLDirectory('test')
- self.assertEqual(output, 'test/html')
-
- def testGetHTMLSourceFiles(self):
- output = init_project.GetHTMLSourceFiles()
- self.assertEqual(output, init_project.HTML_FILES)
-
- def testGetTargetFileName(self):
- output = init_project.GetTargetFileName('project_file.cc', 'bonkers')
- self.assertEqual(output, 'bonkers.cc')
- output = init_project.GetTargetFileName('constant.html', 'bonkers')
- self.assertEqual(output, 'constant.html')
-
- def testParseArguments(self):
- output = init_project.ParseArguments(['-n', 'test_name', '-d', 'test/dir'])
- self.assertEqual(output.is_c_project, False)
- self.assertEqual(output.project_name, 'test_name')
- self.assertEqual(output.project_directory, 'test/dir')
- output = init_project.ParseArguments(['-n', 'test_name_2', '-c'])
- self.assertEqual(output.is_c_project, True)
- self.assertEqual(output.project_name, 'test_name_2')
- self.assertEqual(output.project_directory,
- init_project.GetDefaultProjectDir())
-
-
-class TestProjectInitializer(unittest.TestCase):
- """Class for test cases to cover public interface of ProjectInitializer."""
-
- def __init__(self):
- unittest.TestCase.__init__(self)
- self.os_mock = None
- self.fileinput_mock = None
- self.sys_mock = None
- self.shutil_mock = None
-
- def setUp(self):
- self.script_dir = os.path.abspath(os.path.dirname(__file__))
- self.nacl_src_dir = os.getenv('NACL_SDK_ROOT', None)
- self.mock_factory = mox.Mox()
- # This mock is only valid for initialization and will be overwritten
- # after ward by self.os_mock.
- init_path_mock = self.mock_factory.CreateMock(os.path)
- init_path_mock.join('test/dir', 'test_project').AndReturn(
- 'test/dir/test_project')
- init_path_mock.exists('test/dir/test_project').AndReturn(False)
- init_os_mock = self.mock_factory.CreateMock(os)
- init_os_mock.path = init_path_mock
- init_os_mock.makedirs('test/dir/test_project')
- self.mock_factory.ReplayAll()
- self.test_subject = init_project.ProjectInitializer(
- # True => is C project, False => is vs project
- True, False, 'test_project', 'test/dir', 'pepper_14', self.script_dir,
- self.nacl_src_dir, os_resource=init_os_mock)
- self.mock_factory.VerifyAll()
- self.InitializeResourceMocks()
-
- def InitializeResourceMocks(self):
- """Can be called multiple times if multiple functions need to be tested."""
- self.fileinput_mock = self.mock_factory.CreateMock(fileinput)
- self.test_subject.fileinput = self.fileinput_mock
- self.os_mock = self.mock_factory.CreateMock(os)
- self.test_subject.os = self.os_mock
- self.shutil_mock = self.mock_factory.CreateMock(shutil)
- self.test_subject.shutil = self.shutil_mock
- self.sys_mock = self.mock_factory.CreateMock(sys)
- self.test_subject.sys = self.sys_mock
-
- def testCopyAndRenameFiles(self):
- self.shutil_mock.copy('source/dir/normal_name.txt',
- 'test/dir/test_project/normal_name.txt')
- self.shutil_mock.copy('source/dir/project_file.txt',
- 'test/dir/test_project/test_project.txt')
- self.os_mock.path = os.path
- self.mock_factory.ReplayAll()
- self.test_subject.CopyAndRenameFiles(
- 'source/dir', ['normal_name.txt', 'project_file.txt'])
- self.mock_factory.VerifyAll()
-
- def testPrepareDirectoryContent(self):
- self.shutil_mock.copy(
- '%s/c/build.scons' % self.script_dir,
- 'test/dir/test_project/build.scons')
- self.shutil_mock.copy(
- '%s/c/project_file.c' % self.script_dir,
- 'test/dir/test_project/test_project.c')
- self.shutil_mock.copy(
- '%s/html/project_file.html' % self.script_dir,
- 'test/dir/test_project/test_project.html')
- self.shutil_mock.copy(
- '%s/scons' % self.script_dir,
- 'test/dir/test_project/scons')
- self.shutil_mock.copy(
- '%s/scons.bat' % self.script_dir,
- 'test/dir/test_project/scons.bat')
- self.os_mock.path = os.path
- self.mock_factory.ReplayAll()
- self.test_subject.PrepareDirectoryContent()
- self.mock_factory.VerifyAll()
-
- def testPrepareFileContent(self):
- self.testCopyAndRenameFiles()
- # We need a new set of resource mocks since the old ones have already been
- # used.
- self.InitializeResourceMocks()
- path_mock = self.mock_factory.CreateMock(os.path)
- stdout_mock = self.mock_factory.CreateMock(sys.stdout)
- self.os_mock.path = path_mock
- path_mock.abspath(self.nacl_src_dir).AndReturn(self.nacl_src_dir)
- self.fileinput_mock.input(
- 'test/dir/test_project/normal_name.txt',
- inplace=1, mode='U').AndReturn(
- ['A line with <PROJECT_NAME>.',
- 'A line with <ProjectName>.',
- 'A line with <NACL_SDK_ROOT>.',
- 'A line with <NACL_PLATFORM>.'])
- stdout_mock.write('A line with test_project.')
- stdout_mock.write('A line with <ProjectName>.')
- stdout_mock.write('A line with <NACL_SDK_ROOT>.')
- stdout_mock.write('A line with <NACL_PLATFORM>.')
- self.fileinput_mock.input(
- 'test/dir/test_project/normal_name.txt',
- inplace=1, mode='U').AndReturn(
- ['A line with test_project.',
- 'A line with <ProjectName>.',
- 'A line with <NACL_SDK_ROOT>.',
- 'A line with <NACL_PLATFORM>.'])
- stdout_mock.write('A line with test_project.')
- stdout_mock.write('A line with TestProject.')
- stdout_mock.write('A line with <NACL_SDK_ROOT>.')
- stdout_mock.write('A line with <NACL_PLATFORM>.')
- self.fileinput_mock.input(
- 'test/dir/test_project/normal_name.txt',
- inplace=1, mode='U').AndReturn(
- ['A line with test_project.',
- 'A line with TestProject.',
- 'A line with <NACL_SDK_ROOT>.',
- 'A line with <NACL_PLATFORM>.'])
- stdout_mock.write('A line with test_project.')
- stdout_mock.write('A line with TestProject.')
- stdout_mock.write('A line with %s.' % self.nacl_src_dir)
- stdout_mock.write('A line with <NACL_PLATFORM>.')
- self.fileinput_mock.input(
- 'test/dir/test_project/normal_name.txt',
- inplace=1, mode='U').AndReturn(
- ['A line with test_project.',
- 'A line with TestProject.',
- 'A line with some/dir.',
- 'A line with <NACL_PLATFORM>.'])
- stdout_mock.write('A line with test_project.')
- stdout_mock.write('A line with TestProject.')
- stdout_mock.write('A line with some/dir.')
- stdout_mock.write('A line with pepper_14.')
- # One multi-line file with different replacements has already been mocked
- # so we make this next test simpler.
- self.fileinput_mock.input(
- 'test/dir/test_project/test_project.txt',
- inplace=1, mode='U').AndReturn(['A line with no replaceable text.'])
- stdout_mock.write('A line with no replaceable text.')
- self.fileinput_mock.input(
- 'test/dir/test_project/test_project.txt',
- inplace=1, mode='U').AndReturn(['A line with no replaceable text.'])
- stdout_mock.write('A line with no replaceable text.')
- self.fileinput_mock.input(
- 'test/dir/test_project/test_project.txt',
- inplace=1, mode='U').AndReturn(['A line with no replaceable text.'])
- stdout_mock.write('A line with no replaceable text.')
- self.fileinput_mock.input(
- 'test/dir/test_project/test_project.txt',
- inplace=1, mode='U').AndReturn(['A line with no replaceable text.'])
- stdout_mock.write('A line with no replaceable text.')
- self.sys_mock.stdout = stdout_mock
- self.mock_factory.ReplayAll()
- self.test_subject.PrepareFileContent()
- self.mock_factory.VerifyAll()
-
- def testReplaceInFile(self):
- self.fileinput_mock.input('test/path', inplace=1, mode='U').AndReturn(
- ['A sentence replace_me.'])
- stdout_mock = self.mock_factory.CreateMock(sys.stdout)
- stdout_mock.write('A sentence with_this.')
- self.sys_mock.stdout = stdout_mock
- self.mock_factory.ReplayAll()
- self.test_subject.ReplaceInFile('test/path', 'replace_me', 'with_this')
- self.mock_factory.VerifyAll()
-
-
-def RunTests():
- # It's possible to do this with one suite instead of two, but then it's
- # harder to read the test output.
- return_value = 1
- suite_one = unittest.TestLoader().loadTestsFromTestCase(TestGlobalFunctions)
- result_one = unittest.TextTestRunner(verbosity=2).run(suite_one)
- suite_two = unittest.TestLoader().loadTestsFromTestCase(
- TestProjectInitializer)
- result_two = unittest.TextTestRunner(verbosity=2).run(suite_two)
- if result_one.wasSuccessful() and result_two.wasSuccessful():
- return_value = 0
- return return_value
-
-
-if __name__ == '__main__':
- sys.exit(RunTests())
« no previous file with comments | « native_client_sdk/src/project_templates/init_project.py ('k') | native_client_sdk/src/project_templates/scons » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698