You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Clarify scope of EXPLICITLY_THROWN_UNCHECKED_EXCEPTIONS test suite #1133
changed the title [-]Clarify scope of EXPLICITLY_THROWN_UNCHECKED_EXCEPTIONS region[/-][+]Clarify scope of EXPLICITLY_THROWN_UNCHECKED_EXCEPTIONS test suite[/+]on Oct 11, 2022
I am happy to discuss about clusters for fuzzing tests bazed on the utExecution.result.
At this moment all unsuccessful fuzzing execution are grouped to the one cluster with the name "EXPLICITLY_THROWN_UNCHECKED_EXCEPTIONS", probably the common name is incorrect
Also, I could create a separate clusters for all types of utExecution.result
UtConcreteExecutionFailure
UtExplicitlyThrownException
UtImplicitlyThrownException
UtOverflowFailure
UtSandboxFailure
UtTimeoutException
But @Markoutte looks like not all results are possible for Fuzzing execution, am I right?
@alisevych what do you mean under EXPECTED_EXCEPTIONS and UNEXPECTED_EXCEPTIONS from the following list?
Is it the same as the proposed by @korifey the splitting of exceptions and errors (failures)?
Also as a varinat we could unify it with the clusters produced by the Symbolic Engine.
It has the following logic based on type of exceptions (checked/unchecked)
is UtExecutionSuccess -> ExecutionGroup.SUCCESSFUL_EXECUTIONS
is UtImplicitlyThrownException -> if (this.exception.isCheckedException) ExecutionGroup.CHECKED_EXCEPTIONS else ExecutionGroup.ERROR_SUITE
is UtExplicitlyThrownException -> if (this.exception.isCheckedException) ExecutionGroup.CHECKED_EXCEPTIONS else ExecutionGroup.EXPLICITLY_THROWN_UNCHECKED_EXCEPTIONS
is UtOverflowFailure -> ExecutionGroup.OVERFLOWS
is UtTimeoutException -> ExecutionGroup.TIMEOUTS
is UtConcreteExecutionFailure -> ExecutionGroup.CRASH_SUITE
is UtSandboxFailure -> ExecutionGroup.SECURITY
As for Overflow exceptions - they should be treated as errors or ignored - based on the setting:
Also , what is meant by "ignored": just skipped?
From my point of view implicitly thrown (by other classes/packages) and explicitly thrown (by user code) - should be in different suites.
Implicitly - possible errors. Should be added to error suite (?)
Explicitly - expected ones. Should be treated as regression suite - add to successful executions (?)
Sandbox failures should be shown separately - with distinct explanation how to add permissions and regenerate the tests if needed.
Timeout exceptions should be added to error suite.
Concrete execution failures - are UnitTestBot issues. Should be shown in error suite or separately.
Activity
[-]Clarify scope of EXPLICITLY_THROWN_UNCHECKED_EXCEPTIONS region[/-][+]Clarify scope of EXPLICITLY_THROWN_UNCHECKED_EXCEPTIONS test suite[/+]amandelpie commentedon Oct 12, 2022
I am happy to discuss about clusters for fuzzing tests bazed on the utExecution.result.
At this moment all unsuccessful fuzzing execution are grouped to the one cluster with the name "EXPLICITLY_THROWN_UNCHECKED_EXCEPTIONS", probably the common name is incorrect
Also, I could create a separate clusters for all types of utExecution.result
But @Markoutte looks like not all results are possible for Fuzzing execution, am I right?
Markoutte commentedon Oct 12, 2022
If it collects exceptions of any kind, I'd prefer name like "EXCEPTIONS_THROWN" without any details about checked/unchecked.
korifey commentedon Oct 12, 2022
We should at least differentiate Error suite from regression suite
alisevych commentedon Oct 17, 2022
As a suggestion:
EXPECTED_EXCEPTIONS
UNEXPECTED_EXCEPTIONS
amandelpie commentedon Oct 24, 2022
@alisevych what do you mean under EXPECTED_EXCEPTIONS and UNEXPECTED_EXCEPTIONS from the following list?
Is it the same as the proposed by @korifey the splitting of exceptions and errors (failures)?
Am I right?
amandelpie commentedon Oct 24, 2022
@korifey is it correct to say that all result types could be grouped in Errors and Exceptions?
Exceptions:
UtExplicitlyThrownException
UtImplicitlyThrownException
UtTimeoutException
Failures:
UtOverflowFailure
UtSandboxFailure
UtConcreteExecutionFailure
amandelpie commentedon Oct 24, 2022
@korifey @Markoutte @alisevych
Also as a varinat we could unify it with the clusters produced by the Symbolic Engine.
It has the following logic based on type of exceptions (checked/unchecked)
alisevych commentedon Oct 24, 2022
@amandelpie @Markoutte @korifey
Please correct me if needed:
As for Overflow exceptions - they should be treated as errors or ignored - based on the setting:

Also , what is meant by "ignored": just skipped?
From my point of view implicitly thrown (by other classes/packages) and explicitly thrown (by user code) - should be in different suites.
Implicitly - possible errors. Should be added to error suite (?)
Explicitly - expected ones. Should be treated as regression suite - add to successful executions (?)
Sandbox failures should be shown separately - with distinct explanation how to add permissions and regenerate the tests if needed.
Timeout exceptions should be added to error suite.
Concrete execution failures - are UnitTestBot issues. Should be shown in error suite or separately.
alisevych commentedon Feb 27, 2023
@rudolf101 @zishkaz
Currently generated test cases for Java are divided into the following regions:
<Source name> : <Suite name> for method <Method signature>You can find some details in PR - #1250.
Also there is
Errors reportregion to collect internal errors from concrete execution (only count, full details should be in logs).Let's consider and discuss an appropriate solution for JavaScript test cases division into suites and their naming.