Exemplo n.º 1
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.º 2
0
 def test_logoutLoggedOut(self):
     # test logging out when already logged out: should be a no-op
     stdout, stderr, status = cli.run(['logout'])
     self.assertEqual(status, 0)
     # check that we're still logged out:
     stdout, stderr, status = cli.run(['whoami'])
     self.assertIn('not logged in', stdout+stderr)
Exemplo n.º 3
0
    def generatedTestMethod(self):
        test_dir = util.writeTestFiles(filesForReporterTest(**kwargs), test_dir=self.test_dir)

        # build first, to make test timing more accurate:
        stdout, stderr, statuscode = cli.run(['--target', systemDefaultTarget(), 'build'], cwd=test_dir)
        #print('build:', stdout)
        #print('build:', stderr)
        #print('build statuscode was:', statuscode)
        self.assertEqual(statuscode, 0)

        tstart = time.time()
        stdout, stderr, statuscode = cli.run(['-vvv', '--target', systemDefaultTarget(), 'test'], cwd=test_dir)
        duration = time.time() - tstart

        # useful output for debugging failed tests:
        if bool(statuscode) == bool(kwargs['test_passes']) or \
                duration >= 5.5 + kwargs['reporter_waits'] or \
                (kwargs['test_speed'] == 'fast' and (duration >= 1.5 + kwargs['reporter_waits'])):
            print(stdout + stderr)
            print(statuscode)
            print('duration:', duration)

        if kwargs['test_passes']:
            self.assertEqual(statuscode, 0)
        else:
            self.assertNotEqual(statuscode, 0)

        # **no** tests should cause a timeout (Which is set at 4.5 seconds in
        # the test reporter), + the wait-for duration (+ 1 second slack for
        # process startup etc.)
        self.assertTrue(duration < 5.5 + kwargs['reporter_waits'])

        # if a test isn't slow, then it should run in less than 1 seconds
        if kwargs['test_speed'] == 'fast':
            self.assertTrue(duration < 1.5 + kwargs['reporter_waits'])
Exemplo n.º 4
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.º 5
0
 def test_logoutLoggedOut(self):
     # test logging out when already logged out: should be a no-op
     stdout, stderr, status = cli.run(['logout'])
     self.assertEqual(status, 0)
     # check that we're still logged out:
     stdout, stderr, status = cli.run(['whoami'])
     self.assertIn('not logged in', stdout + stderr)
Exemplo n.º 6
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.º 7
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.º 8
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.º 9
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.º 10
0
    def test_notOutdated(self):
        path = util.writeTestFiles(Test_Outdated, True)

        stdout, stderr, statuscode = cli.run(['-t', 'x86-linux-native', 'up'], cwd=path)
        self.assertEqual(statuscode, 0)

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

        util.rmRf(path)
Exemplo n.º 11
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.º 12
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.º 13
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.º 14
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.º 15
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.º 16
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.º 17
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.º 18
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.º 19
0
 def test_preVersionPreventsBump(self):
     with open(os.path.join(self.test_dir, 'module.json'), 'w') as f:
         f.write(Test_PreventVersion_JSON)
     stdout, stderr, statuscode = cli.run(['version', '1.2.3'], cwd=self.test_dir)
     self.assertNotEqual(statuscode, 0)
     stdout = self.runCheckCommand(['version'])
     self.assertNotIn('1.2.3', stdout)
Exemplo n.º 20
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.º 21
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.º 22
0
 def test_setNonexistentTarget(self):
     stdout, stderr, statuscode = cli.run(['target', 'thisdoesnotexist'],
                                          cwd=self.test_dir)
     self.assertNotEqual(statuscode, 0)
     self.assertNotIn('Exception', stdout + stderr)
     self.assertIn('does not exist in the targets registry',
                   stdout + stderr)
Exemplo n.º 23
0
 def runCheckCommand(self, args, test_dir):
     stdout, stderr, statuscode = cli.run(args, cwd=test_dir)
     if statuscode != 0:
         print('command failed with status %s' % statuscode)
         print(stdout)
         print(stderr)
     self.assertEqual(statuscode, 0)
     return stdout + stderr
Exemplo n.º 24
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.º 25
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.º 26
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.º 27
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.º 28
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.º 29
0
 def runCheckCommand(self, args, test_dir):
     stdout, stderr, statuscode = cli.run(args, cwd=self.test_dir)
     if statuscode != 0:
         print('command failed with status %s' % statuscode)
         print(stdout)
         print(stderr)
     self.assertEqual(statuscode, 0)
     return stdout or stderr
Exemplo n.º 30
0
def runCheckCommand(args, test_dir):
    stdout, stderr, statuscode = cli.run(args, cwd=test_dir)
    if statuscode != 0:
        print('command failed with status %s' % statuscode)
        print(stdout)
        print(stderr)
    assert(statuscode == 0)
    return '%s %s' % (stdout, stderr)
Exemplo n.º 31
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.º 32
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.º 33
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.º 34
0
 def test_preVersionPreventsBump(self):
     with open(os.path.join(self.test_dir, 'module.json'), 'w') as f:
         f.write(Test_PreventVersion_JSON)
     stdout, stderr, statuscode = cli.run(['version', '1.2.3'],
                                          cwd=self.test_dir)
     self.assertNotEqual(statuscode, 0)
     stdout = self.runCheckCommand(['version'])
     self.assertNotIn('1.2.3', stdout)
Exemplo n.º 35
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.º 36
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.º 37
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.º 38
0
 def test_publishPrivate(self):
     with open(os.path.join(self.test_dir, 'module.json'), 'w') as f:
         f.write(Private_Module_JSON)
     stdout, stderr, status = cli.run(['--target', Test_Target, 'publish'],
                                      cwd=self.test_dir)
     self.assertNotEqual(status, 0)
     self.assertTrue(
         'is private and cannot be published' in ('%s %s' %
                                                  (stdout, stderr)))
Exemplo n.º 39
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.º 40
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.º 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 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.º 43
0
    def test_uninstallNonExistent(self):
        test_dir = tempfile.mkdtemp()
        with open(os.path.join(test_dir, 'module.json'), 'w') as f:
            f.write(Test_Module_JSON)
        stdout = self.runCheckCommand(['--target', Test_Target, 'install'], test_dir)
        self.assertTrue(os.path.exists(os.path.join(test_dir, 'yotta_modules', 'testing-dummy')))

        stdout, stderr, statuscode = cli.run(['uninstall', 'nonexistent'], cwd=test_dir)
        self.assertNotEqual(statuscode, 0)

        rmRf(test_dir)
Exemplo n.º 44
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.º 45
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.º 46
0
    def generatedTestMethod(self):
        test_dir = util.writeTestFiles(filesForReporterTest(**kwargs),
                                       test_dir=self.test_dir)

        # build first, to make test timing more accurate:
        stdout, stderr, statuscode = cli.run(
            ['--target', systemDefaultTarget(), 'build'], cwd=test_dir)
        #print('build:', stdout)
        #print('build:', stderr)
        #print('build statuscode was:', statuscode)
        self.assertEqual(statuscode, 0)

        tstart = time.time()
        stdout, stderr, statuscode = cli.run(
            ['-vvv', '--target',
             systemDefaultTarget(), 'test'], cwd=test_dir)
        duration = time.time() - tstart

        # useful output for debugging failed tests:
        if bool(statuscode) == bool(kwargs['test_passes']) or \
                duration >= 5.5 + kwargs['reporter_waits'] or \
                (kwargs['test_speed'] == 'fast' and (duration >= 1.5 + kwargs['reporter_waits'])):
            print(stdout + stderr)
            print(statuscode)
            print('duration:', duration)

        if kwargs['test_passes']:
            self.assertEqual(statuscode, 0)
        else:
            self.assertNotEqual(statuscode, 0)

        # **no** tests should cause a timeout (Which is set at 4.5 seconds in
        # the test reporter), + the wait-for duration (+ 1 second slack for
        # process startup etc.)
        self.assertTrue(duration < 5.5 + kwargs['reporter_waits'])

        # if a test isn't slow, then it should run in less than 1 seconds
        if kwargs['test_speed'] == 'fast':
            self.assertTrue(duration < 1.5 + kwargs['reporter_waits'])
Exemplo n.º 47
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.º 48
0
 def test_publishNotAuthed(self):
     # ensure we're not logged in by setting a different settings directory:
     saved_settings_dir = None
     if 'YOTTA_USER_SETTINGS_DIR' in os.environ:
         saved_settings_dir = os.environ['YOTTA_USER_SETTINGS_DIR']
     os.environ['YOTTA_USER_SETTINGS_DIR'] = 'tmp_yotta_settings'
     try:
         with open(os.path.join(self.test_dir, 'module.json'), 'w') as f:
             f.write(Public_Module_JSON)
         stdout, stderr, status = cli.run(['-n', '--target', Test_Target, 'publish'], cwd=self.test_dir)
         if status != 0:
             out = stdout+stderr
             self.assertTrue(out.find('login required') != -1 or out.find('not module owner') != -1)
     finally:
         if saved_settings_dir is not None:
             os.environ['YOTTA_USER_SETTINGS_DIR'] = saved_settings_dir
         else:
             del os.environ['YOTTA_USER_SETTINGS_DIR']
Exemplo n.º 49
0
 def test_publishPrivate(self):
     with open(os.path.join(self.test_dir, 'module.json'), 'w') as f:
         f.write(Private_Module_JSON)
     stdout, stderr, status = cli.run(['--target', Test_Target, 'publish'], cwd=self.test_dir)
     self.assertNotEqual(status, 0)
     self.assertTrue('is private and cannot be published' in ('%s %s' % (stdout, stderr)))
Exemplo n.º 50
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.º 51
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.º 52
0
 def testUnlinkNonexistentTarget(self):
     test_module = util.writeTestFiles(util.Test_Testing_Trivial_Lib_Dep, True)
     stdout, stderr, statuscode = cli.run(['-t', Test_Target, '--plain', 'unlink-target', 'doesnotexist'], cwd=test_module)
     self.assertNotEqual(statuscode, 0)
     util.rmRf(test_module)