def test_projectInitialization(self):
     project = StatMakefileProject(self.PROJECT_EXAMPLE_PATH)
     makFile = StatMakefile(self.PROJECT_EXAMPLE_PATH)
     self.assertEqual(self.PROJECT_EXAMPLE_PATH, project.makefile)
     self.assertEqual(self.PROJECT_EXAMPLE_NAME, project.name)
     self.assertEqual(makFile[StatMakefile.NAME], project.outputName)
     self.assertSameItems([makFile[key] for key in makFile], [project[key] for key in project])
Example #2
0
 def setUp(self):
     self.makefile = StatMakefile(TEST_MAKEFILE_NAME)
     self.execute = self.patch(CUT, execute.__name__, return_value=(0, []))
     self.patch(CUT, 'os.environ', new=TEST_ENVIRONMENT_MOCK)
     self.patch(CUT,
                formatMakeCommand.__name__,
                side_effect=formatMakeCommandFake)
     self.expectedCommand = formatMakeCommandFake(TEST_MAKEFILE_NAME,
                                                  TEST_MAKE_ARGUMENTS)
Example #3
0
 def test_initializationUponNoneExistingMakefile(self):
     nonExistingFile = './non_existing_file.mak'
     try:
         StatMakefile(nonExistingFile)
     except StatMakFileException as e:
         self.assertEqual(
             "Makefile '{fileName}' doesn't exist!".format(
                 fileName=nonExistingFile), str(e))
     else:
         self.fail('The operation should have raised an exception')
Example #4
0
    def test_parsingOfDynamicallyDefinedValues(self):
        expected = {
            StatMakefile.SOURCES: [
                'test_main.c', 'code/src/sys_checksum.c',
                'code/src/fletcher.c', 'tests/src/ut_fletcher_tests.c',
                'tests/src/ut_checksum_tests.c', 'shared/fa/src/ut_fa_stub.c'
            ],
            StatMakefile.INCLUDES: ['code/inc', 'tests/inc']
        }

        parser = StatMakefile(self.DYNAMIC_MAKEFILE)

        for variable in expected:
            self.assertEqual(expected[variable], parser[variable].split())
    def test_generate(self):
        config = StatConfiguration()
        makFile = attributes.AUTO_GENERATED_MAKEFILE
        generator = StatMakefileGenerator(productMakefile=TEST_PRODUCT_FILE)
        generator.generate()
        self.assertTrue(os.path.isfile(makFile))

        self.parser = StatMakefile(makFile)

        for parameter in iter(config):
            self.assertEqual(config[parameter], self.parser[parameter])
        self.assertEqual(TEST_PRODUCT_NAME, self.parser[StatMakefile.NAME])
        self.assertEqual(TEST_PRODUCT_EXEC, self.parser[StatMakefile.EXEC])
        self.assertEqual(platform.system(), self.parser[StatMakefile.OS])

        self.__verifyProductMakefileIsIncluded()
        self.__verifyToolsMakefileIsIncluded()
        os.remove(makFile)
Example #6
0
 def test_initializationUponSimpleMakefile(self):
     expected = {
         StatMakefile.SOURCES:
         ['tests/src/sys_checksum.c', 'tests/src/ut_fletcher_tests.c'],
         StatMakefile.INCLUDES: ['tests/inc'],
         StatMakefile.INTERFACES: [],
         StatMakefile.DEFINES: [
             'SIMPLE_DEFINE', 'ANOTHER_DEFINE', 'ADDITIONAL_DEFINE',
             'EXTRA_DEFINE', 'SPARE_DEFINE', 'LAST_DEFINE',
             'DEFINITION_VALUED=7', 'DEFINITION_SIMPLE'
         ],
     }
     parser = StatMakefile(self.SIMPLE_MAKEFILE)
     self.assertEqual(parser.name,
                      os.path.basename(self.SIMPLE_MAKEFILE).split('.')[0])
     for variable in expected:
         self.assertEqual(expected[variable], parser[variable].split())
     self.assertEqual('simple', parser['NAME'])
Example #7
0
    def test_parsingOfCompoundMakefileWithInclude(self):
        expected = {
            StatMakefile.SOURCES: [
                'test_main.c', 'code/src/sys_checksum.c', 'code/src/tools.c',
                'code/src/logs.c', 'code/src/fletcher.c',
                'tests/src/ut_fletcher_tests.c',
                'tests/src/ut_checksum_tests.c', 'shared/fa/src/ut_fa_stub.c'
            ],
            StatMakefile.INCLUDES: ['code/inc', 'tests/inc'],
            StatMakefile.DEFINES: [
                'SIMPLE_DEFINE', 'ANOTHER_DEFINE', 'ADDITIONAL_DEFINE',
                'EXTRA_DEFINE', 'SPARE_DEFINE', 'LAST_DEFINE',
                'SYSTEM_DEFINE_EXTRA'
            ],
        }

        parser = StatMakefile(self.COMPOUND_MAKEFILE)

        for variable in expected:
            self.assertEqual(expected[variable], parser[variable].split())
Example #8
0
 def __init__(self, makefileName, makeArguments, isVerbose=True):
     self.__fileName = makefileName
     self.__makefile = StatMakefile(makefileName)
     self.__beSilent = not isVerbose
     self.__log = []
     self.__arguments = makeArguments
 def __readUserConfiguration(self):
     if os.path.isfile(attributes.CONFIG_FILENAME):
         self.update(StatMakefile(attributes.CONFIG_FILENAME))
Example #10
0
 def __init__(self, fileName):
     self.__fileName = fileName
     self.__makefile = StatMakefile(fileName)
     self.__tree = None