Exemplo n.º 1
0
 def testMissingDependenciesShrinkwrap(self):
     test_dir = util.writeTestFiles(Test_Shrinkwrap_Missing_Dependency, True)
     stdout, stderr, statuscode = cli.run(['-t', Test_Target, '--plain', 'shrinkwrap'], cwd=test_dir)
     self.assertNotEqual(statuscode, 0)
     self.assertFalse(os.path.exists(os.path.join(test_dir, 'yotta-shrinkwrap.json')))
     self.assertIn('is missing', stdout+stderr)
     util.rmRf(test_dir)
Exemplo n.º 2
0
    def testLink(self):
        linked_in_module = util.writeTestFiles(util.Test_Trivial_Lib, True)

        stdout, stderr, statuscode = cli.run(
            ['-t', Test_Target, '--plain', 'link'], cwd=linked_in_module)
        self.assertEqual(statuscode, 0)
        self.assertTrue(
            os.path.exists(
                os.path.join(globalInstallDirectory(), 'test-trivial-lib')))

        test_module = util.writeTestFiles(util.Test_Testing_Trivial_Lib_Dep,
                                          True)
        stdout, stderr, statuscode = cli.run(
            ['-t', Test_Target, '--plain', 'list'], cwd=test_module)
        self.assertIn('missing', stdout + stderr)

        stdout, stderr, statuscode = cli.run(
            ['-t', Test_Target, '--plain', 'link', 'test-trivial-lib'],
            cwd=test_module)
        self.assertEqual(statuscode, 0)
        self.assertNotIn('broken', stdout + stderr)

        stdout, stderr, statuscode = cli.run(
            ['-t', Test_Target, '--plain', 'list'], cwd=test_module)
        self.assertNotIn('missing', stdout + stderr)

        util.rmRf(test_module)
        util.rmRf(linked_in_module)
Exemplo n.º 3
0
 def test_binNonExistent(self):
     test_dir = util.writeTestFiles(Test_Bin_Nonexistent)
     stdout, stderr, statuscode = cli.run(['--target', util.nativeTarget(), 'build'], cwd=test_dir)
     self.assertIn('directory "doesntexist" doesn\'t exist', stdout+stderr)
     # !!! FIXME: should this error be fatal?
     # self.assertNotEqual(statuscode, 0)
     util.rmRf(test_dir)
Exemplo n.º 4
0
 def test_yottaVersionCheckOKInstalling(self):
     test_dir = util.writeTestFiles(Test_Min_Version_OK)
     stdout, stderr, statuscode = cli.run(
         ['--target', 'x86-linux-native', 'install'], cwd=test_dir)
     self.assertEqual(statuscode, 0)
     self.assertNotIn('requires yotta version >', stdout + stderr)
     util.rmRf(test_dir)
Exemplo n.º 5
0
    def test_buildTrivialExe(self):
        test_dir = util.writeTestFiles(util.Test_Trivial_Exe)

        stdout = self.runCheckCommand(
            ['--target', util.nativeTarget(), 'build'], test_dir)

        util.rmRf(test_dir)
Exemplo n.º 6
0
 def testUnlinkModuleGlobally(self):
     test_module = util.writeTestFiles(util.Test_Testing_Trivial_Lib_Dep, True)
     stdout, stderr, statuscode = cli.run(['-t', Test_Target, '--plain', 'link'], cwd=test_module)
     self.assertEqual(statuscode, 0)
     stdout, stderr, statuscode = cli.run(['-t', Test_Target, '--plain', 'unlink'], cwd=test_module)
     self.assertEqual(statuscode, 0)
     util.rmRf(test_module)
Exemplo n.º 7
0
    def test_buildComplexSpaceInPath(self):
        test_dir = util.writeTestFiles(Test_Complex, True)

        stdout = self.runCheckCommand(
            ['--target', util.nativeTarget(), 'build'], test_dir)

        util.rmRf(test_dir)
Exemplo n.º 8
0
 def test_noop_start(self):
     test_dir = util.writeTestFiles(util.Test_Trivial_Exe, True)
     util.writeTestFiles(_nopStartTargetDescription('start-test-target'), test_dir=os.path.join(test_dir, 'yotta_targets', 'start-test-target'))
     output = util.runCheckCommand(['--target', 'start-test-target', 'build'], test_dir)
     output = util.runCheckCommand(['--target', 'start-test-target', 'start'], test_dir)
     self.assertIn('would start source/test-trivial-exe', output)
     util.rmRf(test_dir)
Exemplo n.º 9
0
    def test_targetAppConfigMerge(self):
        test_dir = util.writeTestFiles(Test_Target_Config_Merge_App, True)

        os.chdir(test_dir)
        c = validate.currentDirectoryModule()
        target, errors = c.satisfyTarget('bar,')
        merged_config = target.getMergedConfig()

        self.assertIn("foo", merged_config)
        self.assertIn("bar", merged_config)
        self.assertIn("new", merged_config)
        self.assertIn("a", merged_config['foo'])
        self.assertIn("b", merged_config['foo'])
        self.assertIn("c", merged_config['foo'])
        self.assertEqual(merged_config['foo']['a'], 321)
        self.assertEqual(merged_config['foo']['b'], 456)
        self.assertEqual(merged_config['foo']['c'], 112233)
        self.assertIn("bar", merged_config)
        self.assertIn("d", merged_config['bar'])
        self.assertEqual(merged_config['bar']['d'], "ghi")
        self.assertIn("new", merged_config)
        self.assertEqual(merged_config['new'], 123)

        os.chdir(self.restore_cwd)
        util.rmRf(test_dir)
Exemplo n.º 10
0
 def testUnlinkTargetGlobally(self):
     test_target = util.writeTestFiles(util.getNativeTargetDescription(), True)
     stdout, stderr, statuscode = cli.run(['-t', Test_Target, '--plain', 'link-target'], cwd=test_target)
     self.assertEqual(statuscode, 0)
     stdout, stderr, statuscode = cli.run(['-t', Test_Target, '--plain', 'unlink-target'], cwd=test_target)
     self.assertEqual(statuscode, 0)
     util.rmRf(test_target)
Exemplo n.º 11
0
 def test_yottaVersionCheckOKBuilding(self):
     test_dir = util.writeTestFiles(Test_Min_Version_OK)
     stdout, stderr, statuscode = cli.run(
         ['--target', util.nativeTarget(), 'build'], cwd=test_dir)
     self.assertEqual(statuscode, 0)
     self.assertNotIn('requires yotta version >', stdout + stderr)
     util.rmRf(test_dir)
Exemplo n.º 12
0
 def testMissingDependenciesShrinkwrap(self):
     test_dir = util.writeTestFiles(Test_Shrinkwrap_Missing_Dependency, True)
     stdout, stderr, statuscode = cli.run(['-t', Test_Target, '--plain', 'shrinkwrap'], cwd=test_dir)
     self.assertNotEqual(statuscode, 0)
     self.assertFalse(os.path.exists(os.path.join(test_dir, 'yotta-shrinkwrap.json')))
     self.assertIn('is missing', stdout+stderr)
     util.rmRf(test_dir)
Exemplo n.º 13
0
    def test_noop_debug(self):
        test_dir = util.writeTestFiles(util.Test_Trivial_Exe, True)
        target_dir = os.path.realpath(
            os.path.join(test_dir, 'yotta_targets', 'debug-test-target'))
        build_dir = os.path.realpath(
            os.path.join(test_dir, 'build', 'debug-test-target'))

        util.writeTestFiles(_nopDebugTargetDescription('debug-test-target'),
                            test_dir=target_dir)
        output = util.runCheckCommand(
            ['--target', 'debug-test-target', 'build'], test_dir)
        output = util.runCheckCommand(
            ['--target', 'debug-test-target', 'debug'], test_dir)
        json_output = output[:output.index(JSON_MARKER)]
        result = json.loads(json_output)

        self.assertTrue(result is not None)
        self.assertEqual(len(result['argv']), 3)
        self.assertEqual(result['argv'][0], 'source/test-trivial-exe')
        self.assertEqual(result['env']['YOTTA_PROGRAM'],
                         'source/test-trivial-exe')
        self.assertEqual(result['argv'][1], build_dir)
        self.assertEqual(result['env']['YOTTA_BUILD_DIR'], build_dir)
        self.assertEqual(result['argv'][2], target_dir)
        self.assertEqual(result['env']['YOTTA_TARGET_DIR'], target_dir)

        util.rmRf(test_dir)
Exemplo n.º 14
0
    def test_targetAppConfigMerge(self):
        test_dir = util.writeTestFiles(Test_Target_Config_Merge_App, True)

        os.chdir(test_dir)
        c = validate.currentDirectoryModule()
        target, errors = c.satisfyTarget('bar,')
        merged_config = target.getMergedConfig()

        self.assertIn("foo", merged_config)
        self.assertIn("bar", merged_config)
        self.assertIn("new", merged_config)
        self.assertIn("a", merged_config['foo'])
        self.assertIn("b", merged_config['foo'])
        self.assertIn("c", merged_config['foo'])
        self.assertEqual(merged_config['foo']['a'], 321)
        self.assertEqual(merged_config['foo']['b'], 456)
        self.assertEqual(merged_config['foo']['c'], 112233)
        self.assertIn("bar", merged_config)
        self.assertIn("d", merged_config['bar'])
        self.assertEqual(merged_config['bar']['d'], "ghi")
        self.assertIn("new", merged_config)
        self.assertEqual(merged_config['new'], 123)

        os.chdir(self.restore_cwd)
        util.rmRf(test_dir)
Exemplo n.º 15
0
    def test_outdated(self):
        path = util.writeTestFiles(Test_Outdated, True)

        stdout, stderr, statuscode = cli.run(['-t', 'x86-linux-native', 'outdated'], cwd=path)
        self.assertNotEqual(statuscode, 0)
        self.assertIn('test-testing-dummy', stdout + stderr)

        util.rmRf(path)
Exemplo n.º 16
0
    def test_prePublishPreventsPublish(self):
        path = util.writeTestFiles(Test_prePublish_Prevents_Publish, True)

        stdout, stderr, statuscode = cli.run(['-t', 'x86-linux-native', '--noninteractive', 'publish'], cwd=path)
        self.assertNotEqual(statuscode, 0)
        self.assertIn('prePublish script error code 1 prevents publishing', stdout + stderr)

        util.rmRf(path)
Exemplo n.º 17
0
    def test_warnOfficialKeywords(self):
        path = util.writeTestFiles(Test_Publish, True)

        stdout, stderr, statuscode = cli.run(['-t', 'x86-linux-native', '--noninteractive', 'publish'], cwd=path)
        self.assertNotEqual(statuscode, 0)
        self.assertIn('Is this really an officially supported mbed module', stdout + stderr)

        util.rmRf(path)
Exemplo n.º 18
0
    def test_prePublishPreventsPublish(self):
        path = util.writeTestFiles(Test_prePublish_Prevents_Publish, True)

        stdout, stderr, statuscode = cli.run(['-t', 'x86-linux-native', '--noninteractive', 'publish'], cwd=path)
        self.assertNotEqual(statuscode, 0)
        self.assertIn('prePublish script error code 1 prevents publishing', stdout + stderr)

        util.rmRf(path)
Exemplo n.º 19
0
    def testCreateShrinkwrap(self):
        test_dir = util.writeTestFiles(Test_Shrinkwrap, True)

        stdout, stderr, statuscode = cli.run(['-t', Test_Target, '--plain', 'shrinkwrap'], cwd=test_dir)
        self.assertEqual(statuscode, 0)
        self.assertTrue(os.path.exists(os.path.join(test_dir, 'yotta-shrinkwrap.json')))

        util.rmRf(test_dir)
Exemplo n.º 20
0
    def test_updateExplicit(self):
        path = util.writeTestFiles(Test_Outdated, True)

        stdout, stderr, statuscode = cli.run(['-t', 'x86-linux-native', 'update', 'test-testing-dummy'], cwd=path)
        self.assertEqual(statuscode, 0)
        self.assertIn('download test-testing-dummy', stdout + stderr)

        util.rmRf(path)
Exemplo n.º 21
0
 def test_yottaVersionTargetCheck(self):
     test_dir = util.writeTestFiles(Test_Min_Version_Target_Insufficient)
     stdout, stderr, statuscode = cli.run(
         ['--target', Test_Min_Version_Target_Name, 'install'],
         cwd=test_dir)
     self.assertNotEqual(statuscode, 0)
     self.assertIn('requires yotta version >', stdout + stderr)
     util.rmRf(test_dir)
Exemplo n.º 22
0
 def test_Defines_Library(self):
     test_dir = util.writeTestFiles(Test_Defines_Library)
     stdout = self.runCheckCommand(
         ['--target', util.nativeTarget(), 'build'], test_dir)
     self.assertIn(
         "defines.json ignored in library module 'test-defines-lib'",
         stdout)
     util.rmRf(test_dir)
Exemplo n.º 23
0
    def testCreateShrinkwrap(self):
        test_dir = util.writeTestFiles(Test_Shrinkwrap, True)

        stdout, stderr, statuscode = cli.run(['-t', Test_Target, '--plain', 'shrinkwrap'], cwd=test_dir)
        self.assertEqual(statuscode, 0)
        self.assertTrue(os.path.exists(os.path.join(test_dir, 'yotta-shrinkwrap.json')))

        util.rmRf(test_dir)
Exemplo n.º 24
0
    def test_warnOfficialKeywords(self):
        path = util.writeTestFiles(Test_Publish, True)

        stdout, stderr, statuscode = cli.run(['-t', 'x86-linux-native', '--noninteractive', 'publish'], cwd=path)
        self.assertNotEqual(statuscode, 0)
        self.assertIn('Is this really an officially supported mbed module', stdout + stderr)

        util.rmRf(path)
Exemplo n.º 25
0
 def test_unparseableSpec(self):
     test_dir = util.writeTestFiles(Test_Unparsable_Spec)
     stdout, stderr, statuscode = cli.run(
         ['--target', Test_Min_Version_Target_Name, 'install'],
         cwd=test_dir)
     self.assertNotEqual(statuscode, 0)
     self.assertIn('could not parse yotta version spec', stdout + stderr)
     util.rmRf(test_dir)
Exemplo n.º 26
0
 def test_testOutputFilterNotFound(self):
     test_dir = util.writeTestFiles(Test_Fitler_NotFound, True)
     stdout, stderr, statuscode = cli.run(['--target', systemDefaultTarget(), 'test'], cwd=test_dir)
     if statuscode == 0:
         print(stdout)
         print(stderr)
     self.assertNotEqual(statuscode, 0)
     util.rmRf(test_dir)
Exemplo n.º 27
0
 def test_testOutputFilterNotFound(self):
     test_dir = util.writeTestFiles(Test_Fitler_NotFound, True)
     stdout, stderr, statuscode = cli.run(
         ['--target', systemDefaultTarget(), 'test'], cwd=test_dir)
     if statuscode == 0:
         print(stdout)
         print(stderr)
     self.assertNotEqual(statuscode, 0)
     util.rmRf(test_dir)
Exemplo n.º 28
0
 def test_libAndBinSpecified(self):
     test_dir = util.writeTestFiles(Test_Lib_And_Bin)
     stdout, stderr, statuscode = cli.run(
         ['--target', util.nativeTarget(), 'build'], cwd=test_dir)
     self.assertNotEqual(statuscode, 0)
     self.assertIn(
         'Both "lib" and "bin" are specified in module.json: only one is allowed',
         stdout + stderr)
     util.rmRf(test_dir)
Exemplo n.º 29
0
    def test_updateExplicit(self):
        path = util.writeTestFiles(Test_Outdated, True)

        stdout, stderr, statuscode = cli.run(
            ['-t', 'x86-linux-native', 'update', 'test-testing-dummy'],
            cwd=path)
        self.assertEqual(statuscode, 0)
        self.assertIn('download test-testing-dummy', stdout + stderr)

        util.rmRf(path)
Exemplo n.º 30
0
    def testBaseTargetInstallWithShrinkwrap(self):
        test_dir = util.writeTestFiles(Test_Existing_Shrinkwrap, True)
        stdout, stderr, statuscode = cli.run(['-t', 'inherits-from-test-target', '--plain', 'install'], cwd=test_dir)
        self.assertEqual(statuscode, 0)

        stdout, stderr, statuscode = cli.run(['-t', 'inherits-from-test-target', '--plain', 'target'], cwd=test_dir)
        self.assertEqual(statuscode, 0)
        self.assertIn('%s %s' % (Test_Target_Name, Test_Target_Old_Version), stdout+stderr)

        util.rmRf(test_dir)
Exemplo n.º 31
0
 def test_buildTests(self):
     test_dir = util.writeTestFiles(Test_Tests, True)
     stdout = self.runCheckCommand(['--target', util.nativeTarget(), 'build'], test_dir)
     stdout = self.runCheckCommand(['--target', util.nativeTarget(), 'test'], test_dir)
     self.assertIn('test-a', stdout)
     self.assertIn('test-c', stdout)
     self.assertIn('test-d', stdout)
     self.assertIn('test-e', stdout)
     self.assertIn('test-f', stdout)
     self.assertIn('test-g', stdout)
     util.rmRf(test_dir)
Exemplo n.º 32
0
 def test_Defines_Application(self):
     test_dir = util.writeTestFiles(Test_Defines_Application)
     stdout = self.runCheckCommand(
         ['--target', util.nativeTarget(), 'build'], test_dir)
     output = subprocess.check_output([
         './build/' + util.nativeTarget().split(',')[0] +
         '/source/test-defines-app'
     ],
                                      cwd=test_dir).decode()
     self.assertIn("1234 yotta", output)
     util.rmRf(test_dir)
Exemplo n.º 33
0
    def testUpdateWithShrinkwrap(self):
        test_dir = util.writeTestFiles(Test_Existing_Shrinkwrap, True)
        stdout, stderr, statuscode = cli.run(['-t', Test_Target, '--plain', 'update'], cwd=test_dir)
        self.assertEqual(statuscode, 0)

        stdout, stderr, statuscode = cli.run(['-t', Test_Target, '--plain', 'list'], cwd=test_dir)
        self.assertEqual(statuscode, 0)
        # as opposed to 0.0.2 which is the latest
        self.assertIn('test-testing-dummy 0.0.1', stdout+stderr)

        util.rmRf(test_dir)
Exemplo n.º 34
0
 def test_tests(self):
     test_dir = util.writeTestFiles(Test_Tests, True)
     output = self.runCheckCommand(['--target', systemDefaultTarget(), 'build'], test_dir)
     output = self.runCheckCommand(['--target', systemDefaultTarget(), 'test'], test_dir)
     self.assertIn('test-a passed', output)
     self.assertIn('test-c passed', output)
     self.assertIn('test-d passed', output)
     self.assertIn('test-e passed', output)
     self.assertIn('test-f passed', output)
     self.assertIn('test-g passed', output)
     util.rmRf(test_dir)
Exemplo n.º 35
0
    def testUpdateWithShrinkwrap(self):
        test_dir = util.writeTestFiles(Test_Existing_Shrinkwrap, True)
        stdout, stderr, statuscode = cli.run(['-t', Test_Target, '--plain', 'update'], cwd=test_dir)
        self.assertEqual(statuscode, 0)

        stdout, stderr, statuscode = cli.run(['-t', Test_Target, '--plain', 'list'], cwd=test_dir)
        self.assertEqual(statuscode, 0)
        # as opposed to 0.0.2 which is the latest
        self.assertIn('test-testing-dummy 0.0.1', stdout+stderr)

        util.rmRf(test_dir)
Exemplo n.º 36
0
    def test_notfound_start(self):
        test_dir = util.writeTestFiles(util.Test_Trivial_Exe, True)
        target_descr = _nopStartTargetDescription('start-test-target')
        del target_descr['./scripts/nop.py']
        util.writeTestFiles(target_descr, test_dir=os.path.join(test_dir, 'yotta_targets', 'start-test-target'))

        # in this case, without the script present we expect a failure
        output = util.runCheckCommand(['--target', 'start-test-target', 'build'], test_dir)
        stdout, stderr, statuscode = cli.run(['--target', 'start-test-target', 'start'], cwd=test_dir)
        self.assertNotEqual(statuscode, 0)
        util.rmRf(test_dir)
Exemplo n.º 37
0
    def test_moduleConfigIgnored(self):
        test_dir = util.writeTestFiles(Test_Module_Config_Ignored, True)

        os.chdir(test_dir)
        c = validate.currentDirectoryModule()
        target, errors = c.satisfyTarget('bar,')
        merged_config = target.getMergedConfig()

        self.assertNotIn("new", merged_config)

        os.chdir(self.restore_cwd)
        util.rmRf(test_dir)
Exemplo n.º 38
0
    def test_moduleConfigIgnored(self):
        test_dir = util.writeTestFiles(Test_Module_Config_Ignored, True)

        os.chdir(test_dir)
        c = validate.currentDirectoryModule()
        target, errors = c.satisfyTarget('bar,')
        merged_config = target.getMergedConfig()

        self.assertNotIn("new", merged_config)

        os.chdir(self.restore_cwd)
        util.rmRf(test_dir)
Exemplo n.º 39
0
 def test_tests(self):
     test_dir = util.writeTestFiles(Test_Tests, True)
     output = self.runCheckCommand(
         ['--target', systemDefaultTarget(), 'build'], test_dir)
     output = self.runCheckCommand(
         ['--target', systemDefaultTarget(), 'test'], test_dir)
     self.assertIn('test-a passed', output)
     self.assertIn('test-c passed', output)
     self.assertIn('test-d passed', output)
     self.assertIn('test-e passed', output)
     self.assertIn('test-f passed', output)
     self.assertIn('test-g passed', output)
     util.rmRf(test_dir)
Exemplo n.º 40
0
    def testTargetLinkedBuild(self):
        linked_in_target = util.writeTestFiles(util.getNativeTargetDescription(), True)
        test_module = util.writeTestFiles(util.Test_Testing_Trivial_Lib_Dep_Preinstalled, True)

        stdout, stderr, statuscode = cli.run(['-t', 'test-native-target', '--plain', 'link-target'], cwd=linked_in_target)
        self.assertEqual(statuscode, 0)
        stdout, stderr, statuscode = cli.run(['-t', 'test-native-target', '--plain', 'link-target', 'test-native-target'], cwd=test_module)
        self.assertEqual(statuscode, 0)
        stdout, stderr, statuscode = cli.run(['-t', 'test-native-target', '--plain', 'build'], cwd=test_module)
        self.assertEqual(statuscode, 0)

        util.rmRf(test_module)
        util.rmRf(linked_in_target)
Exemplo n.º 41
0
    def testLinkedBuild(self):
        linked_in_module = util.writeTestFiles(util.Test_Trivial_Lib, True)
        test_module = util.writeTestFiles(util.Test_Testing_Trivial_Lib_Dep, True)

        stdout, stderr, statuscode = cli.run(['-t', util.nativeTarget(), '--plain', 'link'], cwd=linked_in_module)
        self.assertEqual(statuscode, 0)
        stdout, stderr, statuscode = cli.run(['-t', util.nativeTarget(), '--plain', 'link', 'test-trivial-lib'], cwd=test_module)
        self.assertEqual(statuscode, 0)
        stdout, stderr, statuscode = cli.run(['-t', util.nativeTarget(), '--plain', 'build'], cwd=test_module)
        self.assertEqual(statuscode, 0)

        util.rmRf(test_module)
        util.rmRf(linked_in_module)
Exemplo n.º 42
0
 def test_testOutputFilterFailing(self):
     test_dir = util.writeTestFiles(Test_Fitler_Fail, True)
     stdout, stderr, statuscode = cli.run(['--target', systemDefaultTarget(), 'test'], cwd=test_dir)
     if statuscode == 0:
         print(stdout)
         print(stderr)
     self.assertIn('test-a failed', '%s %s' % (stdout, stderr))
     self.assertIn('test-c failed', '%s %s' % (stdout, stderr))
     self.assertIn('test-d failed', '%s %s' % (stdout, stderr))
     self.assertIn('test-e failed', '%s %s' % (stdout, stderr))
     self.assertIn('test-f failed', '%s %s' % (stdout, stderr))
     self.assertIn('test-g failed', '%s %s' % (stdout, stderr))
     self.assertNotEqual(statuscode, 0)
     util.rmRf(test_dir)
Exemplo n.º 43
0
    def testUnlinkModule(self):
        linked_in_module = util.writeTestFiles(util.Test_Trivial_Lib, True)
        test_module = util.writeTestFiles(util.Test_Testing_Trivial_Lib_Dep, True)

        stdout, stderr, statuscode = cli.run(['-t', util.nativeTarget(), '--plain', 'link'], cwd=linked_in_module)
        self.assertEqual(statuscode, 0)
        stdout, stderr, statuscode = cli.run(['-t', util.nativeTarget(), '--plain', 'link', 'test-trivial-lib'], cwd=test_module)
        self.assertEqual(statuscode, 0)
        self.assertTrue(os.path.exists(os.path.join(test_module, 'yotta_modules', 'test-trivial-lib')))
        stdout, stderr, statuscode = cli.run(['-t', util.nativeTarget(), '--plain', 'unlink', 'test-trivial-lib'], cwd=test_module)
        self.assertEqual(statuscode, 0)
        self.assertTrue(not os.path.exists(os.path.join(test_module, 'yotta_modules', 'test-trivial-lib')))

        util.rmRf(test_module)
        util.rmRf(linked_in_module)
Exemplo n.º 44
0
    def testUnlinkTarget(self):
        linked_in_target = util.writeTestFiles(util.getNativeTargetDescription(), True)
        test_module = util.writeTestFiles(util.Test_Testing_Trivial_Lib_Dep_Preinstalled, True)

        stdout, stderr, statuscode = cli.run(['-t', 'test-native-target', '--plain', 'link-target'], cwd=linked_in_target)
        self.assertEqual(statuscode, 0)
        stdout, stderr, statuscode = cli.run(['-t', 'test-native-target', '--plain', 'link-target', 'test-native-target'], cwd=test_module)
        self.assertEqual(statuscode, 0)
        self.assertTrue(os.path.exists(os.path.join(test_module, 'yotta_targets', 'test-native-target')))
        stdout, stderr, statuscode = cli.run(['-t', 'test-native-target', '--plain', 'unlink-target', 'test-native-target'], cwd=test_module)
        self.assertEqual(statuscode, 0)
        self.assertTrue(not os.path.exists(os.path.join(test_module, 'yotta_targets', 'test-native-target')))

        util.rmRf(test_module)
        util.rmRf(linked_in_target)
Exemplo n.º 45
0
    def testInstallWithShrinkwrap(self):
        test_dir = util.writeTestFiles(Test_Existing_Shrinkwrap_Missing_Dependency, True)
        stdout, stderr, statuscode = cli.run(['-t', Test_Target, '--plain', 'install'], cwd=test_dir)
        self.assertEqual(statuscode, 0)

        stdout, stderr, statuscode = cli.run(['-t', Test_Target, '--plain', 'list'], cwd=test_dir)
        self.assertEqual(statuscode, 0)
        # as opposed to 0.0.2 which is the latest
        self.assertIn('test-testing-dummy 0.0.1', stdout+stderr)

        stdout, stderr, statuscode = cli.run(['-t', Test_Target, '--plain', 'target'], cwd=test_dir)
        self.assertEqual(statuscode, 0)
        self.assertIn('%s %s' % (Test_Target_Name, Test_Target_Old_Version), stdout+stderr)

        util.rmRf(test_dir)
Exemplo n.º 46
0
    def test_default_ignores(self):
        default_test_dir = util.writeTestFiles(Default_Test_Files)
        c = component.Component(default_test_dir)
        self.assertTrue(c.ignores('.something.c.swp'))
        self.assertTrue(c.ignores('.something.c~'))
        self.assertTrue(c.ignores('path/to/.something.c.swm'))
        self.assertTrue(c.ignores('path/to/.something.c~'))
        self.assertTrue(c.ignores('.DS_Store'))
        self.assertTrue(c.ignores('.git'))
        self.assertTrue(c.ignores('.hg'))
        self.assertTrue(c.ignores('.svn'))
        self.assertTrue(c.ignores('yotta_modules'))
        self.assertTrue(c.ignores('yotta_targets'))
        self.assertTrue(c.ignores('build'))
        self.assertTrue(c.ignores('.yotta.json'))

        util.rmRf(default_test_dir)
Exemplo n.º 47
0
    def testLink(self):
        linked_in_module = util.writeTestFiles(util.Test_Trivial_Lib, True)

        stdout, stderr, statuscode = cli.run(['-t', Test_Target, '--plain', 'link'], cwd=linked_in_module)
        self.assertEqual(statuscode, 0)
        self.assertTrue(os.path.exists(os.path.join(globalInstallDirectory(), 'test-trivial-lib')))

        test_module = util.writeTestFiles(util.Test_Testing_Trivial_Lib_Dep, True)
        stdout, stderr, statuscode = cli.run(['-t', Test_Target, '--plain', 'list'], cwd=test_module)
        self.assertIn('missing', stdout+stderr)

        stdout, stderr, statuscode = cli.run(['-t', Test_Target, '--plain', 'link', 'test-trivial-lib'], cwd=test_module)
        self.assertEqual(statuscode, 0)
        self.assertNotIn('broken', stdout+stderr)

        stdout, stderr, statuscode = cli.run(['-t', Test_Target, '--plain', 'list'], cwd=test_module)
        self.assertNotIn('missing', stdout+stderr)

        util.rmRf(test_module)
        util.rmRf(linked_in_module)
Exemplo n.º 48
0
    def test_noop_debug(self):
        test_dir = util.writeTestFiles(util.Test_Trivial_Exe, True)
        target_dir = os.path.realpath(os.path.join(test_dir, 'yotta_targets', 'debug-test-target'))
        build_dir = os.path.realpath(os.path.join(test_dir, 'build', 'debug-test-target'))

        util.writeTestFiles(_nopDebugTargetDescription('debug-test-target'), test_dir=target_dir)
        output = util.runCheckCommand(['--target', 'debug-test-target', 'build'], test_dir)
        output = util.runCheckCommand(['--target', 'debug-test-target', 'debug'], test_dir)
        json_output = output[:output.index(JSON_MARKER)]
        result = json.loads(json_output)

        self.assertTrue(result is not None)
        self.assertEqual(len(result['argv']), 3)
        self.assertEqual(result['argv'][0], 'source/test-trivial-exe')
        self.assertEqual(result['env']['YOTTA_PROGRAM'], 'source/test-trivial-exe')
        self.assertEqual(result['argv'][1], build_dir)
        self.assertEqual(result['env']['YOTTA_BUILD_DIR'], build_dir)
        self.assertEqual(result['argv'][2], target_dir)
        self.assertEqual(result['env']['YOTTA_TARGET_DIR'], target_dir)

        util.rmRf(test_dir)
Exemplo n.º 49
0
    def testLinkedReBuild(self):
        # test that changing which module is linked triggers a re-build
        linked_in_module_1 = util.writeTestFiles(util.Test_Trivial_Lib, True)
        linked_in_module_2 = util.writeTestFiles(util.Test_Trivial_Lib, True)
        test_module = util.writeTestFiles(util.Test_Testing_Trivial_Lib_Dep, True)

        stdout, stderr, statuscode = cli.run(['-t', util.nativeTarget(), '--plain', 'link'], cwd=linked_in_module_1)
        self.assertEqual(statuscode, 0)
        stdout, stderr, statuscode = cli.run(['-t', util.nativeTarget(), '--plain', 'link', 'test-trivial-lib'], cwd=test_module)
        self.assertEqual(statuscode, 0)
        stdout, stderr, statuscode = cli.run(['-t', util.nativeTarget(), '--plain', 'build'], cwd=test_module)
        self.assertEqual(statuscode, 0)

        # check that rebuild is no-op
        stdout, stderr, statuscode = cli.run(['-t', util.nativeTarget(), '--plain', 'build'], cwd=test_module)
        self.assertIn('no work to do', stdout+stderr)
        self.assertEqual(statuscode, 0)

        stdout, stderr, statuscode = cli.run(['-t', util.nativeTarget(), '--plain', 'link'], cwd=linked_in_module_2)
        self.assertEqual(statuscode, 0)

        stdout, stderr, statuscode = cli.run(['-t', util.nativeTarget(), '--plain', 'build'], cwd=test_module)
        self.assertNotIn('no work to do', stdout+stderr)
        self.assertEqual(statuscode, 0)

        util.rmRf(test_module)
        util.rmRf(linked_in_module_1)
        util.rmRf(linked_in_module_2)
Exemplo n.º 50
0
 def tearDownClass(cls):
     util.rmRf(cls.test_dir)
Exemplo n.º 51
0
 def test_testOutputFilterPassing(self):
     test_dir = util.writeTestFiles(Test_Fitler_Pass, True)
     stdout = self.runCheckCommand(['--target', systemDefaultTarget(), 'test'], test_dir)
     util.rmRf(test_dir)
Exemplo n.º 52
0
 def test_testAdditionalCMake(self):
     test_dir = util.writeTestFiles(util.Test_Test_Extra_CMake, True)
     output = self.runCheckCommand(['--target', systemDefaultTarget(), 'test'], test_dir)
     self.assertIn('test-trivial-lib-test-main passed', output)
     util.rmRf(test_dir)
Exemplo n.º 53
0
 def test_native_start(self):
     test_dir = util.writeTestFiles(util.Test_Trivial_Exe, True)
     output = util.runCheckCommand(['--target', util.nativeTarget(), 'build'], test_dir)
     output = util.runCheckCommand(['--target', util.nativeTarget(), 'start'], test_dir)
     self.assertIn('[trivial-exe-running]', output)
     util.rmRf(test_dir)