def test_parse_info_level1(self): #import sys #sys.path.append('../bin/') from ir_log import IRLog from ir_text import IRText from ir_config import IRConfig from ir_mongodb_helper import IRMongodbHelper IRLog.get_instance().start_log() IRConfig.get_instance().load('../data/test/bug_test.cfg') assert None != IRConfig.get_instance() IRText.parse_info_level1('../data/test/info_level1_test') IRLog.get_instance().stop_log() con = IRMongodbHelper.get_instance().get_connection() db = con[IRConfig.get_instance().get('bug_db_name')] assert None != db col = db[IRConfig.get_instance().get('bug_text_collection_name')] assert None != col # in the test data, we have 1000 in total. # within, 40 have no resolution, 154 are incomplete assert 833 == col.count() assert 'gnome is full of bugs ! (100000 currently)' == \ col.find({'bug_id':100000})[0]["summ"] res = col.find( {"summ": { '$regex': '(>)|(<)|(")|(&apo)s|(&)' }}) assert res.count() == 0
def test_filter(self): from ir_log import IRLog from ir_config import IRConfig from ir_mongodb_helper import IRMongodbHelper from ir_gnome_st_tools import IRSTTools from ir_text import IRText import pymongo IRLog.get_instance().start_log() IRConfig.get_instance().load('../data/test/bug_test.cfg') IRText.parse_info_level1('../data/test/info_level1_test') con = IRMongodbHelper.get_instance().get_connection() db = con[IRConfig.get_instance().get('bug_db_name')] assert None != db col = db[IRConfig.get_instance().get('bug_text_collection_name')] assert None != col # Maybe a bug here: # The test of filter (originally) depends on parse_info_level1 # But parse_info_level1 seems to invoke filter... for bug in col.find(): # TODO: it's not correct. no stacktrace in desc desc, stack = IRSTTools.filter(bug["desc"]) IRLog.get_instance().stop_log()
def test_compare_stackinfo(self): from ir_log import IRLog from ir_config import IRConfig from ir_mongodb_helper import IRMongodbHelper from ir_gnome_st_tools import IRSTTools from ir_text import IRText from random import randint import pymongo IRLog.get_instance().start_log() IRConfig.get_instance().load('../data/test/bug_test.cfg') IRText.parse_info_level1('../data/test/stacktrace_test') con = IRMongodbHelper.get_instance().get_connection() db = con[IRConfig.get_instance().get('bug_db_name')] assert None != db col = db[IRConfig.get_instance().get('bug_text_collection_name')] assert None != col bugs = col.find() total = col.count() st1 = bugs[0]["stacktrace"] for i in range(total): st2 = bugs[i]["stacktrace"] result_weight = IRSTTools.compare_stackinfo(st1, st2, 'weight') result_max = IRSTTools.compare_stackinfo(st1, st2, 'max') IRLog.get_instance().println('Weight: %f, Max: %f' \ % (result_weight, result_max)) IRLog.get_instance().stop_log()
def test_parse_info_level1(self): #import sys #sys.path.append('../bin/') from ir_log import IRLog from ir_text import IRText from ir_config import IRConfig from ir_mongodb_helper import IRMongodbHelper IRLog.get_instance().start_log() IRConfig.get_instance().load('../data/test/bug_test.cfg') assert None != IRConfig.get_instance() IRText.parse_info_level1('../data/test/info_level1_test') IRLog.get_instance().stop_log() con = IRMongodbHelper.get_instance().get_connection() db = con[IRConfig.get_instance().get('bug_db_name')] assert None != db col = db[IRConfig.get_instance().get('bug_text_collection_name')] assert None != col # in the test data, we have 1000 in total. # within, 40 have no resolution, 154 are incomplete assert 833 == col.count() assert 'gnome is full of bugs ! (100000 currently)' == \ col.find({'bug_id':100000})[0]["summ"] res = col.find({"summ":{'$regex':'(>)|(<)|(")|(&apo)s|(&)'}}) assert res.count() == 0