use of org.ballerinalang.launcher.util.CompileResult in project ballerina by ballerina-lang.
the class ConflictTest method testCyclicCallNegative.
@Test
public void testCyclicCallNegative() {
CompileResult result = BCompileUtil.compile("test-src/taintchecking/conflicts/cyclic-call-negative.bal");
Assert.assertTrue(result.getDiagnostics().length == 3);
BAssertUtil.validateError(result, 0, "taint checking for 'f3' could not complete due to recursion with 'f1', add @tainted or " + "@untainted to returns", 10, 12);
BAssertUtil.validateError(result, 1, "taint checking for 'f1' could not complete due to recursion with 'f2', add @tainted or " + "@untainted to returns", 2, 12);
BAssertUtil.validateError(result, 2, "taint checking for 'f2' could not complete due to recursion with 'f3', add @tainted or " + "@untainted to returns", 6, 12);
}
use of org.ballerinalang.launcher.util.CompileResult in project ballerina by ballerina-lang.
the class ConflictTest method testRecursion.
// Test recursions.
@Test
public void testRecursion() {
CompileResult result = BCompileUtil.compile("test-src/taintchecking/conflicts/recursion.bal");
Assert.assertTrue(result.getDiagnostics().length == 1);
BAssertUtil.validateWarning(result, 0, "taint checking for 'f1' partially done based on return annotations", 1, 1);
}
use of org.ballerinalang.launcher.util.CompileResult in project ballerina by ballerina-lang.
the class TaintedStatusPropagationTest method testStructNegative.
@Test
public void testStructNegative() {
CompileResult result = BCompileUtil.compile("test-src/taintchecking/propagation/struct-negative.bal");
Assert.assertTrue(result.getDiagnostics().length == 8);
BAssertUtil.validateError(result, 0, "tainted value passed to sensitive parameter 'secureIn'", 8, 20);
BAssertUtil.validateError(result, 1, "tainted value passed to sensitive parameter 'secureIn'", 12, 20);
BAssertUtil.validateError(result, 2, "tainted value passed to sensitive parameter 'secureIn'", 16, 20);
BAssertUtil.validateError(result, 3, "tainted value passed to sensitive parameter 'secureIn'", 20, 20);
BAssertUtil.validateError(result, 4, "tainted value passed to sensitive parameter 'secureIn'", 25, 20);
BAssertUtil.validateError(result, 5, "tainted value passed to sensitive parameter 'secureIn'", 30, 20);
BAssertUtil.validateError(result, 6, "tainted value passed to sensitive parameter 'secureIn'", 36, 20);
BAssertUtil.validateError(result, 7, "tainted value passed to sensitive parameter 'secureIn'", 42, 20);
}
use of org.ballerinalang.launcher.util.CompileResult in project ballerina by ballerina-lang.
the class TaintedStatusPropagationTest method testReturn.
@Test
public void testReturn() {
CompileResult result = BCompileUtil.compile("test-src/taintchecking/propagation/returns.bal");
Assert.assertTrue(result.getDiagnostics().length == 0);
}
use of org.ballerinalang.launcher.util.CompileResult in project ballerina by ballerina-lang.
the class TaintedStatusPropagationTest method testIterableNegative.
@Test
public void testIterableNegative() {
CompileResult result = BCompileUtil.compile("test-src/taintchecking/propagation/iterable-negative.bal");
Assert.assertTrue(result.getDiagnostics().length == 2);
BAssertUtil.validateError(result, 0, "tainted value passed to sensitive parameter 'secureIn'", 3, 20);
BAssertUtil.validateError(result, 1, "tainted value passed to sensitive parameter 'secureIn'", 5, 58);
}
Aggregations