def reportResult(self, testResult, testCaseName, testSuiteName, testNotes="", **kwargs):
        """
        Report results for test case
        Arguments are:
        - testResult: "p" for passed, "b" for blocked, "f" for failed
        - testCaseName: the test case name to report
        - testSuiteName: the test suite name that support the test case
        - testNotes: optional, if empty will be replace by a default string. To let it blank, just set testNotes to " " characters
        - an anonymous dictionnary with followings keys:
            - testProjectName: the project to fill
            - testPlanName: the active test plan
            - buildName: the active build.
        Raise a TestLinkError error with the error message in case of trouble
        Return the execution id needs to attach files to test execution
        """
        
        # Check parameters
        for data in ["testProjectName", "testPlanName", "buildName"]:
            if not kwargs.has_key(data):
                raise TestLinkError("(reportResult) - Missing key %s in anonymous dictionnary" % data)

        # Get project id
        project = self.getTestProjectByName(kwargs["testProjectName"])

        # Check if project is active
        if project['active'] != '1':
            raise TestLinkError("(reportResult) - Test project %s is not active" % kwargs["testProjectName"])

        # Check test plan name
        plan = self.getTestPlanByName(kwargs["testProjectName"], kwargs["testPlanName"])

        # Check is test plan is open and active
        if plan['is_open'] != '1' or plan['active'] != '1':
            raise TestLinkError("(reportResult) - Test plan %s is not active or not open" % kwargs["testPlanName"])
        # Memorise test plan id
        planId = plan['id']

        # Check build name
        build = self.getBuildByName(kwargs["testProjectName"], kwargs["testPlanName"], kwargs["buildName"])

        # Check if build is open and active
        if build['is_open'] != '1' or build['active'] != '1':
            raise TestLinkError("(reportResult) - Build %s in not active or not open" % kwargs["buildName"])

        # Get test case id
        caseId = self.getTestCaseIDByName(testCaseName, testSuiteName, kwargs["testProjectName"])

        # Check results parameters
        if "pbf" not in testResult:
            raise TestLinkError("(reportResult) - Test result must be 'p', 'f' or 'b'")

        if testNotes == "":
            # Builds testNotes if empty
            today = date.today()
            testNotes = "%s - Test performed automatically" % today.strftime("%c")
        elif testNotes == " ":
            #No notes
            testNotes = ""

        print "testNotes: %s" % testNotes
        # Now report results
        results = self.reportTCResult(caseId, planId, kwargs["buildName"], testResult, testNotes)
        # Check errors
        if results[0]["message"] != "Success!":
            raise TestLinkError(results[0]["message"])
    
        return results[0]['id']
dataset/ETHPy150Open orenault/TestLink-API-Python-client/src/testlink/testlink.py/TestLink.reportResult/swapped operands of `not in`