コード例 #1
0
 def test_dump_config_equals_self_config(self):
     try:
         ######
         # we need temp_cfg because self.s will be gcollected (NoneType) by
         # the time we get to SystemExit exception
         # temp_cfg will differ from self.s.config because of
         # 'dump_config_hierarchy'. we have to make a deepcopy because
         # config is a locked dict
         temp_s = script.BaseScript(
             initial_config_file='test/test.json',
             option_args=[
                 '--cfg', 'test/test_override.py,test/test_override2.py'
             ],
         )
         from copy import deepcopy
         temp_cfg = deepcopy(temp_s.config)
         temp_cfg.update({'dump_config': True})
         ######
         self.s = script.BaseScript(
             initial_config_file='test/test.json',
             option_args=[
                 '--cfg', 'test/test_override.py,test/test_override2.py'
             ],
             config={'dump_config': True})
     except SystemExit:
         target_cfg = parse_config_file('test_logs/localconfig.json')
         self.assertEqual(
             target_cfg,
             temp_cfg,
             msg="all of the items (combined) in each cfg file dumped via "
             "--dump-config does not equal self.config ")
コード例 #2
0
 def test_dump_config_hierarchy_matches_self_config(self):
     try:
         ######
         # we need temp_cfg because self.s will be gcollected (NoneType) by
         # the time we get to SystemExit exception
         # temp_cfg will differ from self.s.config because of
         # 'dump_config_hierarchy'. we have to make a deepcopy because
         # config is a locked dict
         temp_s = script.BaseScript(
             initial_config_file='test/test.json',
             option_args=['--cfg', 'test/test_override.py,test/test_override2.py'],
         )
         from copy import deepcopy
         temp_cfg = deepcopy(temp_s.config)
         temp_cfg.update({'dump_config_hierarchy': True})
         ######
         self.s = script.BaseScript(
             initial_config_file='test/test.json',
             option_args=['--cfg', 'test/test_override.py,test/test_override2.py'],
             config={'dump_config_hierarchy': True}
         )
     except SystemExit:
         local_cfg_files = parse_config_file('test_logs/localconfigfiles.json')
         # finally let's just make sure that all the items added up, equals
         # what we started with: self.config
         target_cfg = {}
         for cfg_file in local_cfg_files:
             target_cfg.update(local_cfg_files[cfg_file])
         self.assertEqual(
             target_cfg, temp_cfg,
             msg="all of the items (combined) in each cfg file dumped via "
                 "--dump-config-hierarchy does not equal self.config "
         )
コード例 #3
0
 def _test_log_level(self, log_level, log_level_file_list):
     self.s = script.BaseScript(config={'log_type': 'multi'},
                                initial_config_file='test/test.json')
     if log_level != FATAL:
         self.s.log('testing', level=log_level)
     else:
         self.s._post_fatal = types.MethodType(_post_fatal, self.s)
         try:
             self.s.fatal('testing')
         except SystemExit:
             contents = None
             if os.path.exists('tmpfile_stdout'):
                 fh = open('tmpfile_stdout')
                 contents = fh.read()
                 fh.close()
             self.assertEqual(contents.rstrip(), test_string,
                              "_post_fatal failed!")
     del (self.s)
     msg = ""
     for level in log_level_file_list:
         log_path = "test_logs/test_%s.log" % level
         if not os.path.exists(log_path):
             msg += "%s doesn't exist!\n" % log_path
         else:
             filesize = os.path.getsize(log_path)
             if not filesize > 0:
                 msg += "%s is size 0!\n" % log_path
     self.assertEqual(msg, "", msg=msg)
コード例 #4
0
 def test_query_exe(self):
     self.s = script.BaseScript(
         initial_config_file='test/test.json',
         config={'exes': {'foo': 'bar'}},
     )
     path = self.s.query_exe('foo')
     self.assertEqual(path, 'bar')
コード例 #5
0
 def test_existing_rmtree(self):
     self._create_temp_file()
     self.s = script.BaseScript(initial_config_file='test/test.json')
     self.s.mkdir_p('test_dir/foo/bar/baz')
     self.s.rmtree('test_dir')
     self.assertFalse(os.path.exists('test_dir'),
                      msg="rmtree unsuccessful")
コード例 #6
0
 def test_run_command(self):
     self._create_temp_file()
     self.s = script.BaseScript(initial_config_file='test/test.json')
     temp_file_name = os.path.basename(self.temp_file)
     self.assertEqual(self.s.run_command("cat %s" % temp_file_name,
                                         cwd="test_dir"), 0,
                      msg="run_command('cat file') did not exit 0")
コード例 #7
0
 def test_chmod(self):
     self._create_temp_file()
     self.s = script.BaseScript(initial_config_file='test/test.json')
     self.s.chmod(self.temp_file, 0o100700)
     self.assertEqual(os.stat(self.temp_file)[0],
                      33216,
                      msg="chmod unsuccessful")
コード例 #8
0
 def test_move1(self):
     self._create_temp_file()
     self.s = script.BaseScript(initial_config_file='test/test.json')
     temp_file2 = '%s2' % self.temp_file
     self.s.move(self.temp_file, temp_file2)
     self.assertFalse(os.path.exists(self.temp_file),
                      msg="%s still exists after move()" % self.temp_file)
コード例 #9
0
 def test_move2(self):
     self._create_temp_file()
     self.s = script.BaseScript(initial_config_file='test/test.json')
     temp_file2 = '%s2' % self.temp_file
     self.s.move(self.temp_file, temp_file2)
     self.assertTrue(os.path.exists(temp_file2),
                     msg="%s doesn't exist after move()" % temp_file2)
コード例 #10
0
 def test_log(self):
     self.s = get_debug_script_obj()
     self.s.log_obj = None
     self._test_log_helper(self.s)
     del (self.s)
     self.s = script.BaseScript(initial_config_file='test/test.json')
     self._test_log_helper(self.s)
コード例 #11
0
 def test_chdir(self):
     self.s = script.BaseScript(initial_config_file='test/test.json')
     cwd = os.getcwd()
     self.s.chdir('test_logs')
     self.assertEqual(os.path.join(cwd, "test_logs"), os.getcwd(),
                      msg="chdir error")
     self.s.chdir(cwd)
コード例 #12
0
def get_debug_script_obj():
    s = script.BaseScript(config={
        'log_type': 'multi',
        'log_level': DEBUG
    },
                          initial_config_file='test/test.json')
    return s
コード例 #13
0
 def test_chmod_rmtree(self):
     self._create_temp_file()
     win32file.SetFileAttributesW(self.temp_file,
                                  win32file.FILE_ATTRIBUTE_READONLY)
     self.s = script.BaseScript(initial_config_file='test/test.json')
     self.s.rmtree('test_dir')
     self.assertFalse(os.path.exists('test_dir'), msg="rmtree unsuccessful")
コード例 #14
0
 def test_env_normal(self):
     self.s = script.BaseScript(initial_config_file='test/test.json')
     script_env = self.s.query_env()
     self.assertEqual(script_env,
                      os.environ,
                      msg="query_env() != env\n%s\n%s" %
                      (script_env, os.environ))
コード例 #15
0
 def test_add_summary_warning(self):
     self.s = script.BaseScript(config={'log_type': 'multi'},
                                initial_config_file='test/test.json')
     warning_logsize = os.path.getsize("test_logs/test_warning.log")
     self.s.add_summary('two', level=WARNING)
     warning_logsize2 = os.path.getsize("test_logs/test_warning.log")
     self.assertTrue(warning_logsize < warning_logsize2,
                     msg="add_summary(level=%s) not logged in warning log" % WARNING)
コード例 #16
0
ファイル: test_base_script.py プロジェクト: hop11/gecko-dev
 def test_add_summary_info(self):
     self.s = script.BaseScript(config={"log_type": "multi"},
                                initial_config_file="test/test.json")
     info_logsize = os.path.getsize("test_logs/test_info.log")
     self.s.add_summary("one")
     info_logsize2 = os.path.getsize("test_logs/test_info.log")
     self.assertTrue(info_logsize < info_logsize2,
                     msg="add_summary() info not logged")
コード例 #17
0
 def test_add_summary_info(self):
     self.s = script.BaseScript(config={'log_type': 'multi'},
                                initial_config_file='test/test.json')
     info_logsize = os.path.getsize("test_logs/test_info.log")
     self.s.add_summary('one')
     info_logsize2 = os.path.getsize("test_logs/test_info.log")
     self.assertTrue(info_logsize < info_logsize2,
                     msg="add_summary() info not logged")
コード例 #18
0
ファイル: test_base_script.py プロジェクト: hop11/gecko-dev
 def test_query_exe(self):
     self.s = script.BaseScript(
         initial_config_file="test/test.json",
         config={"exes": {
             "foo": "bar"
         }},
     )
     path = self.s.query_exe("foo")
     self.assertEqual(path, "bar")
コード例 #19
0
 def test_copyfile(self):
     self._create_temp_file()
     self.s = script.BaseScript(initial_config_file='test/test.json')
     temp_file2 = '%s2' % self.temp_file
     self.s.copyfile(self.temp_file, temp_file2)
     self.assertEqual(os.path.getsize(self.temp_file),
                      os.path.getsize(temp_file2),
                      msg="%s and %s are different sizes after copyfile()" %
                      (self.temp_file, temp_file2))
コード例 #20
0
ファイル: test_base_script.py プロジェクト: hop11/gecko-dev
def get_debug_script_obj():
    s = script.BaseScript(
        config={
            "log_type": "multi",
            "log_level": DEBUG
        },
        initial_config_file="test/test.json",
    )
    return s
コード例 #21
0
 def test_get_output_from_command(self):
     self._create_temp_file()
     self.s = script.BaseScript(initial_config_file='test/test.json')
     contents = self.s.get_output_from_command(
         ["bash", "-c", "cat %s" % self.temp_file])
     self.assertEqual(
         test_string,
         contents,
         msg="get_output_from_command('cat file') differs from fh.write")
コード例 #22
0
 def test_query_exe_string_replacement(self):
     self.s = script.BaseScript(
         initial_config_file='test/test.json',
         config={
             'base_work_dir': 'foo',
             'work_dir': 'bar',
             'exes': {'foo': os.path.join('%(abs_work_dir)s', 'baz')},
         },
     )
     path = self.s.query_exe('foo')
     self.assertEqual(path, os.path.join('foo', 'bar', 'baz'))
コード例 #23
0
ファイル: test_base_script.py プロジェクト: hop11/gecko-dev
 def test_query_exe_string_replacement(self):
     self.s = script.BaseScript(
         initial_config_file="test/test.json",
         config={
             "base_work_dir": "foo",
             "work_dir": "bar",
             "exes": {
                 "foo": os.path.join("%(abs_work_dir)s", "baz")
             },
         },
     )
     path = self.s.query_exe("foo")
     self.assertEqual(path, os.path.join("foo", "bar", "baz"))
コード例 #24
0
    def test_long_dir_rmtree(self):
        self.s = script.BaseScript(initial_config_file='test/test.json')
        # create a very long path that the command-prompt cannot delete
        # by using unicode format (max path length 32000)
        path = u'\\\\?\\%s\\test_dir' % os.getcwd()
        win32file.CreateDirectoryExW(u'.', path)

        for x in range(0, 20):
            print("path=%s" % path)
            path = path + u'\\%sxxxxxxxxxxxxxxxxxxxx' % x
            win32file.CreateDirectoryExW(u'.', path)
        self.s.rmtree('test_dir')
        self.assertFalse(os.path.exists('test_dir'), msg="rmtree unsuccessful")
コード例 #25
0
 def test_dump_config_hierarchy_valid_files_len(self):
     try:
         self.s = script.BaseScript(
             initial_config_file='test/test.json',
             option_args=['--cfg', 'test/test_override.py,test/test_override2.py'],
             config={'dump_config_hierarchy': True}
         )
     except SystemExit:
         local_cfg_files = parse_config_file('test_logs/localconfigfiles.json')
         # first let's see if the correct number of config files were
         # realized
         self.assertEqual(
             len(local_cfg_files), 4,
             msg="--dump-config-hierarchy dumped wrong number of config files"
         )
コード例 #26
0
 def test_summary(self):
     self.s = script.BaseScript(config={'log_type': 'multi'},
                                initial_config_file='test/test.json')
     self.s.add_summary('one')
     self.s.add_summary('two', level=WARNING)
     info_logsize = os.path.getsize("test_logs/test_info.log")
     warning_logsize = os.path.getsize("test_logs/test_warning.log")
     self.s.summary()
     info_logsize2 = os.path.getsize("test_logs/test_info.log")
     warning_logsize2 = os.path.getsize("test_logs/test_warning.log")
     msg = ""
     if info_logsize >= info_logsize2:
         msg += "summary() didn't log to info!\n"
     if warning_logsize >= warning_logsize2:
         msg += "summary() didn't log to warning!\n"
     self.assertEqual(msg, "", msg=msg)
コード例 #27
0
 def test_dump_config_hierarchy_keys_unique_and_valid(self):
     try:
         self.s = script.BaseScript(
             initial_config_file='test/test.json',
             option_args=['--cfg', 'test/test_override.py,test/test_override2.py'],
             config={'dump_config_hierarchy': True}
         )
     except SystemExit:
         local_cfg_files = parse_config_file('test_logs/localconfigfiles.json')
         # now let's see if only unique items were added from each config
         t_override = local_cfg_files.get('test/test_override.py', {})
         self.assertTrue(
             t_override.get('keep_string') == "don't change me" and len(t_override.keys()) == 1,
             msg="--dump-config-hierarchy dumped wrong keys/value for "
                 "`test/test_override.py`. There should only be one "
                 "item and it should be unique to all the other "
                 "items in test_log/localconfigfiles.json."
         )
コード例 #28
0
 def setUp(self):
     self.ATTEMPT_N = 1
     self.s = script.BaseScript(initial_config_file='test/test.json')
コード例 #29
0
 def test_info_logsize(self):
     self.s = script.BaseScript(config={'log_type': 'multi'},
                                initial_config_file='test/test.json')
     info_logsize = os.path.getsize("test_logs/test_info.log")
     self.assertTrue(info_logsize > 0,
                     msg="initial info logfile missing/size 0")
コード例 #30
0
 def test_read_from_nonexistent_file(self):
     self.s = script.BaseScript(initial_config_file='test/test.json')
     contents = self.s.read_from_file("nonexistent_file!!!")
     self.assertEqual(contents, None)