예제 #1
0
파일: core.py 프로젝트: griddynamics/bunch
 def mustfail(self, xml_item):
     mf_type = self.__xml2mf_type(xml_item)
     if mf_type:
         item = BunchResultItem(xml_item)
         mustfail = self.matches(mf_type, item.name())
         result = item.result()
         failed = (result == 'failed')
         return mustfail, failed, result
예제 #2
0
파일: core.py 프로젝트: jixiaofei/bunch
 def mustfail(self, xml_item):
     mf_type = self.__xml2mf_type(xml_item)
     if mf_type:
         item = BunchResultItem(xml_item)
         mustfail = self.matches(mf_type, item.name())
         result = item.result()
         failed = (result == 'failed')
         return mustfail, failed, result
예제 #3
0
파일: core.py 프로젝트: griddynamics/bunch
    def success(self, et):
        if et is not None:
            et = et.find('.')
            results = BunchResults(et)
            succeded = True
            if len(results) > 0:
                itself = BunchResultItem(et)
                item_type = itself.get_type()
                if item_type is not None:
                    matches = self.matches(item_type, itself.name())
                    if matches:
                        result = itself.result()
                        if result == 'passed':
                            return False
                        if result == "failed":
                            return True
                #go subitems
                for item_type in MustfailRegistry.ITEM_TYPES:
                    result_map = results.get_by_type(item_type)
                    for xml_item, item_result in result_map.items():
                        item, result = item_result
                        matches = self.matches(item_type, item)
                        if result == 'skipped':
                            #then skip
                            continue
                        if matches:
                            if result == 'passed':
                                return False
                            if result == "failed":
                                return True
                        elif result == 'failed':
                            #look deeper
                            subresults = BunchResults(xml_item)
                            if (not len(subresults) > 0) or (not self.success(xml_item)):
                                return False
                        elif result == 'passed':
                            #look deeper
                            subresults = BunchResults(xml_item)
                            if len(subresults) > 0 and not self.success(xml_item):
                                    return False

            elif et.tag == 'step':
                matches = self.matches(MustfailRegistry.TYPE_STEP, et.find('properties/sentence').text)
                result = et.find('result').text
                if result == 'passed':
                    if matches:
                        return False
                    else:
                        return True
                if result == "failed":
                    if matches:
                        return True
                    else:
                        return False

            return succeded

        return True
예제 #4
0
파일: core.py 프로젝트: griddynamics/bunch
 def mustfail_info(self, xml_item):
     mf_type = self.__xml2mf_type(xml_item)
     if mf_type:
         item = BunchResultItem(xml_item)
         return self.__mf_info(mf_type, item.name())
예제 #5
0
파일: core.py 프로젝트: jixiaofei/bunch
    def success(self, et):
        if et is not None:
            et = et.find('.')
            results = BunchResults(et)
            succeded = True
            if len(results) > 0:
                itself = BunchResultItem(et)
                item_type = itself.get_type()
                if item_type is not None:
                    matches = self.matches(item_type, itself.name())
                    if matches:
                        result = itself.result()
                        if result == 'passed':
                            return False
                        if result == "failed":
                            return True
                #go subitems
                for item_type in MustfailRegistry.ITEM_TYPES:
                    result_map = results.get_by_type(item_type)
                    for xml_item, item_result in result_map.items():
                        item, result = item_result
                        matches = self.matches(item_type, item)
                        if result == 'skipped':
                            #then skip
                            continue
                        if matches:
                            if result == 'passed':
                                return False
                            if result == "failed":
                                return True
                        elif result == 'failed':
                            #look deeper
                            subresults = BunchResults(xml_item)
                            if (not len(subresults) > 0) or (
                                    not self.success(xml_item)):
                                return False
                        elif result == 'passed':
                            #look deeper
                            subresults = BunchResults(xml_item)
                            if len(subresults) > 0 and not self.success(
                                    xml_item):
                                return False

            elif et.tag == 'step':
                matches = self.matches(MustfailRegistry.TYPE_STEP,
                                       et.find('properties/sentence').text)
                result = et.find('result').text
                if result == 'passed':
                    if matches:
                        return False
                    else:
                        return True
                if result == "failed":
                    if matches:
                        return True
                    else:
                        return False

            return succeded

        return True
예제 #6
0
파일: core.py 프로젝트: jixiaofei/bunch
 def result(self, xml_item):
     return self.success(xml_item), BunchResultItem(xml_item).result()
예제 #7
0
파일: core.py 프로젝트: jixiaofei/bunch
 def mustfail_info(self, xml_item):
     mf_type = self.__xml2mf_type(xml_item)
     if mf_type:
         item = BunchResultItem(xml_item)
         return self.__mf_info(mf_type, item.name())