Ejemplo n.º 1
0
def test():
    figleaf.start()
    common()

    figleaf.start_section('a')
    a()
    figleaf.stop_section()
    common2()

    figleaf.start_section('b')
    b()
    figleaf.start_section('c')
    c()
    figleaf.stop()

    in_common = set()
    union = set()

    expected = dict(a = set([17, 18, 11, 14]),
                    b = set([22, 11, 21, 14]),
                    c = set([25, 26, 11, 14]))
    
    for i in ('a', 'b', 'c'):
        actual = figleaf.get_info(section_name=i).get(thisfile())
        print '******', thisfile()
        print 'section:', i, '; lines:', actual
        print expected[i]

        x = list(expected[i])
        x.sort()
        
        y = list(actual)
        y.sort()

        print x, y
        
        assert x == y                   # note: depends on absolute line no.
                                        # so don't shift lines in this file ;)
        if not in_common:
            in_common.update(actual)
        else:
            in_common.intersection_update(actual)
        union.update(actual)

    in_common = list(in_common)
    in_common.sort()
    print 'common:', in_common

    assert in_common == [11, 14]

    union = list(union)
    union.sort()
    print 'union:', union
    
    assert union == [11, 14, 17, 18, 21, 22, 25, 26]
Ejemplo n.º 2
0
    def _intercept(self, env, start_response):
        import figleaf
        try:
            import cPickle as pickle
        except ImportError:
            import pickle

        coverage = figleaf.get_info()
        s = pickle.dumps(coverage)
        start_response("200 OK", [('Content-type', 'application/x-pickle')])
        return [s]
Ejemplo n.º 3
0
    def _intercept(self, env, start_response):
        import figleaf
        try:
            import cPickle as pickle
        except ImportError:
            import pickle

        coverage = figleaf.get_info()
        s = pickle.dumps(coverage)
        start_response("200 OK", [('Content-type', 'application/x-pickle')])
        return [s]
Ejemplo n.º 4
0
 def _getModuleCoverage(self, module):
     """Yield coverage for files that belongs to module.
     """
     coverageMap = figleaf.get_info()
     self._gatherFiles(coverageMap)
     if module in self.moduleFilenameMap:
         for filename in sorted(self.moduleFilenameMap[module]):
             try:
                 yield filename, self._getFileCoverage(filename,
                                                       coverageMap)
             except IOError:
                 continue
Ejemplo n.º 5
0
    def __call__(self, env, start_response):
        import figleaf
        try:
            import cPickle as pickle
        except ImportError:
            import pickle

        if env['PATH_INFO'] == '/_coverage':
            coverage = figleaf.get_info()
            s = pickle.dumps(coverage)
            start_response("200 OK", [('Content-type', 'application/x-pickle')])
            return [s]
        return self.app(env, start_response)
Ejemplo n.º 6
0
 def _getFileCoverage(self, filename, coverageMap=None):
     """Return coverage information about file specified by
     filename.
     """
     if coverageMap is None:
         coverageMap = figleaf.get_info()
     num_total, num_covered = 0, 0,
     lines = figleaf.get_lines(open(filename))
     for i, line in enumerate(open(filename)):
         if (i + 1) in coverageMap[filename]:
             num_total += 1
             num_covered += 1
         elif (i + 1) in lines:
             num_total += 1
     return num_covered, num_total
Ejemplo n.º 7
0
        error = None
        result = None

        figleaf.start()

        try:

            if hasattr(handler, "process"):
                result = handler(args, remoteHost, session).process()
            else:
                result = handler(args, remoteHost, session)

        except Exception, e:
            error = "%s: %s" % (e.__class__, str(e))

        results[methodName] = {
            'parameters': args,
            'result': result,
            'error': error
        }

    coverage = figleaf.get_info()
    fData = cPickle.dumps(coverage)

    figleaf.stop()

    return {"results": results, "figLeafData": fData}


methodMap = {"login": SystemLogin, "echo": echo, "runCoverage": runCoverage}
res = {}
total_failed = 0
score ={}#[1,2,3]
for file in os.listdir('.'):
    if fnmatch.fnmatch(file, 'test_*.py'):
        print(file)
	figleaf.get_trace_obj();
        figleaf.start()
        f = file[:-3]
	mod=importlib.import_module(f)
        funcName = getName(file)
        result = getattr(mod,funcName)()
        score[i]=result
        print("result :"+str(result))
        figleaf.stop()
        res[i]=figleaf.get_info('test3.py')
#	res[i]=figleaf.annotate_coverage('test3.py')
#	figleaf.stop()
        print(res)
        i+=1
print("score: "+str(score))
print("res: "+str(res))
print("---------------------------------------")
for x in range(0,len(score)):
    total_failed += score[x]
total_tests = len(res)
print("Total tests: " + str(total_tests))
total_passed = total_tests - total_failed
passed = 0

print("total failed: "+str(total_failed))
Ejemplo n.º 9
0
        figleaf.start()

        try:

            if hasattr(handler, "process"):
                result = handler(args, remoteHost, session).process()
            else:
                result = handler(args, remoteHost, session)

        except Exception, e:
            error = "%s: %s" % (e.__class__, str(e))

        results[methodName] = { 'parameters': args,
                                'result': result,
                                'error': error }

    coverage = figleaf.get_info()
    fData = cPickle.dumps(coverage)

    figleaf.stop()

    return {"results": results,
            "figLeafData": fData }

methodMap = {
    "login": SystemLogin,
    "echo": echo,
    "runCoverage": runCoverage
}
Ejemplo n.º 10
0
def test():
    figleaf.start()
    common()

    figleaf.start_section('a')
    a()
    figleaf.stop_section()
    common2()

    figleaf.start_section('b')
    b()
    figleaf.start_section('c')
    c()
    figleaf.stop()

    in_common = set()
    union = set()

    expected = dict(a = set([17, 18, 11, 14]),
                    b = set([11, 14, 21, 22]),
                    c = set([11, 14, 25, 26]))
    expected_in_common = [11, 14]
    expected_union = [11, 14, 17, 18, 21, 22, 25, 26]
    if figleaf.internals.PythonCollector is not  figleaf.internals.Collector:
        expected['a'].update([40, 42, 43, 44, 45, 47])
        expected['b'].update([40, 42, 45, 47, 48, 49])
        expected['c'].update([40, 42, 45, 47, 50, 51])
        expected_in_common += [40, 42, 45, 47]
        expected_union += [40, 42, 43, 44, 45, 47, 48, 49, 50, 51]
    
    for i in ('a', 'b', 'c'):
        actual = figleaf.get_info(section_name=i).get(thisfile())
        print '******', thisfile()
        print 'section:', i, '; lines:', actual
        print expected[i]

        x = list(expected[i])
        x.sort()
        
        y = list(actual)
        y.sort()

        print x, y
        
        assert x == y                   # note: depends on absolute line no.
                                        # so don't shift lines in this file ;)
        if not in_common:
            in_common.update(actual)
        else:
            in_common.intersection_update(actual)
        union.update(actual)

    in_common = list(in_common)
    in_common.sort()
    print 'common:', in_common

    assert in_common == expected_in_common

    union = list(union)
    union.sort()
    print 'union:', union
    
    assert union == expected_union
Ejemplo n.º 11
0
res = {}
total_failed = 0
score = {}  #[1,2,3]
for file in os.listdir('.'):
    if fnmatch.fnmatch(file, 'test_*.py'):
        print(file)
        figleaf.get_trace_obj()
        figleaf.start()
        f = file[:-3]
        mod = importlib.import_module(f)
        funcName = getName(file)
        result = getattr(mod, funcName)()
        score[i] = result
        print("result :" + str(result))
        figleaf.stop()
        res[i] = figleaf.get_info('test3.py')
        #	res[i]=figleaf.annotate_coverage('test3.py')
        #	figleaf.stop()
        print(res)
        i += 1
print("score: " + str(score))
print("res: " + str(res))
print("---------------------------------------")
for x in range(0, len(score)):
    total_failed += score[x]
total_tests = len(res)
print("Total tests: " + str(total_tests))
total_passed = total_tests - total_failed
passed = 0

print("total failed: " + str(total_failed))