Exemplo n.º 1
0
    def test_remove(self):
        parsed_dict, _ = self.run_dir(sys._getframe().f_code.co_name)
        self.assertTrue(parsed_dict)

        p = parsed_dict
        person_usr = self.usr(p, self.basename(self.sources['person.h']), '4:7')
        person_talk_usr = self.usr(p, self.basename(self.sources['person.h']), '6:10')
        remove(p, 'person.h')
        self.assertFalse(p.has_key('person.h'))
        self.assertNotIn(DEFI, p[person_usr])
        self.assertNotIn(DECL, p[person_talk_usr])
Exemplo n.º 2
0
    def test_remove_and_update(self):
        name = sys._getframe().f_code.co_name

        src = 'person.h'
        orig = src + '.orig'
        patch = src + '.patch'

        basedir = os.path.abspath('tests/{}'.format(name))
        if not basedir.endswith('/'):
            basedir += '/'

        import shutil
        shutil.copyfile(os.path.join(basedir, orig), os.path.join(basedir, src))

        parsed_dict, _ = self.run_dir(name)
        self.assertTrue(parsed_dict)
        filename = sys._getframe().f_code.co_name + '.db'
        d = Storage(filename)
        d.close()

        d = Storage(filename)
        remove(parsed_dict, src)
        d.update(parsed_dict)

        # patch and re-run
        self.patch_file(name, patch)

        import re
        def is_matching_file(file):
            logging.debug('src: {}, file: {}'.format(src, file))
            return not re.match(src, file)

        s = self.sources
        new_parsed_dict, _ = self.run_dir(name, is_matching_file)
        n = new_parsed_dict
        self.assertTrue(n.has_key(src))
        self.is_definition_of(n, self.usr, s[src], '5:7', s[src], '5:7')
        self.is_definition_of(n, self.usr, s[src], '7:9', s[src], '7:9')
        self.is_definition_of(n, self.usr, s[src], '8:10', s['person.cpp'], '3:14')
        self.is_definition_of(n, self.ref_usr, s[src], '7:30', s[src], '11:9')

        os.remove(filename)
Exemplo n.º 3
0
    def test_remove_load_after_save(self):
        parsed_dict, _ = self.run_dir(sys._getframe().f_code.co_name)
        self.assertTrue(parsed_dict)

        person_usr = self.usr(parsed_dict, self.basename(self.sources['person.h']), '4:7')
        person_talk_usr = self.usr(parsed_dict, self.basename(self.sources['person.h']), '6:10')

        filename = sys._getframe().f_code.co_name + '.db'
        d = Storage(filename)
        d.close()

        d = Storage(filename)
        remove(parsed_dict, 'person.h')
        d.update(parsed_dict)

        p = parsed_dict
        self.assertFalse(d.has_key('person.h'))
        self.assertNotIn(DEFI, d[person_usr])
        self.assertNotIn(DECL, d[person_talk_usr])

        os.remove(filename)