skia2/tests/sksl/errors
John Stiles b069582d16 Add regression test for oss-fuzz:32156.
The fuzzer found that it could overflow an int via a properly-crafted
constant-fold expression, leading to a UBSAN error. Constant-fold
expressions now guard against overflow (http://review.skia.org/413138)
and UBSAN is no longer triggered.

Change-Id: I07dba41e87bb9ceed37b84ec6b8922defbdc6550
Bug: oss-fuzz:32156, skia:12050
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/413836
Auto-Submit: John Stiles <johnstiles@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2021-06-01 15:19:13 +00:00
..
ArgumentCountMismatch.glsl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
ArgumentMismatch.glsl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
ArgumentModifiers.glsl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
ArrayConstructorElementCount.glsl Reject array constructors with the wrong number of elements. 2021-02-03 22:33:02 +00:00
ArrayIndexOutOfRange.glsl Add Convert/Make factory functions to IndexExpression. 2021-03-08 15:55:59 +00:00
ArrayOfVoid.glsl Allow function declarations to take (void). 2021-05-21 19:21:23 +00:00
ArrayOfVoidInStruct.glsl Fix assertion when arrays are double-declared. 2021-02-12 23:49:04 +00:00
ArrayReturnTypes.glsl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
ArraySplitDimensions.glsl Fix assertion when arrays are double-declared. 2021-02-12 23:49:04 +00:00
ArraySplitDimensionsInFuncBody.glsl Fix assertion when arrays are double-declared. 2021-02-12 23:49:04 +00:00
ArraySplitDimensionsInFuncDecl.glsl Fix assertion when arrays are double-declared. 2021-02-12 23:49:04 +00:00
ArraySplitDimensionsInStruct.glsl Fix assertion when arrays are double-declared. 2021-02-12 23:49:04 +00:00
ArrayTooManyDimensions.glsl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
ArrayTooManyDimensionsInFuncBody.glsl Fix assertion when arrays are double-declared. 2021-02-12 23:49:04 +00:00
ArrayTooManyDimensionsInFuncDecl.glsl Fix assertion when arrays are double-declared. 2021-02-12 23:49:04 +00:00
ArrayTooManyDimensionsInStruct.glsl Fix assertion when arrays are double-declared. 2021-02-12 23:49:04 +00:00
ArrayTypeTooManyDimensions.glsl Fix assertion when arrays are double-declared. 2021-02-12 23:49:04 +00:00
ArrayTypeTooManyDimensionsInFuncBody.glsl Fix assertion when arrays are double-declared. 2021-02-12 23:49:04 +00:00
ArrayTypeTooManyDimensionsInFuncDecl.glsl Fix assertion when arrays are double-declared. 2021-02-12 23:49:04 +00:00
ArrayTypeTooManyDimensionsInStruct.glsl Fix assertion when arrays are double-declared. 2021-02-12 23:49:04 +00:00
ArrayUnspecifiedDimensions.glsl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
AssignmentTypeMismatch.glsl Clean up type coercion code and IRGenerator::checkValid(). 2021-02-17 22:39:48 +00:00
BadCaps.glsl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
BadConstInitializers.glsl Align SkSL const rules more closely with GLSL 2021-02-26 17:44:11 +00:00
BadFieldAccess.glsl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
BadIndex.glsl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
BadModifiers.glsl Remove custom SkVertices data and runtime effect varying support 2021-04-19 17:49:25 +00:00
BinaryInvalidType.glsl SkSL: Ensure struct declarations contain at least one member 2021-02-12 20:57:56 +00:00
BinaryTypeCoercion.glsl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
BinaryTypeMismatch.glsl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
BitShiftFloat.glsl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
BitShiftFloatMatrix.glsl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
BitShiftFloatVector.glsl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
BooleanArithmetic.glsl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
BreakOutsideLoop.glsl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
CallNonFunction.glsl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
CanExitWithoutReturningValue.glsl Improve do-while test in CanExitWithoutReturningValue. 2021-03-17 14:50:56 +00:00
ConstructorArgumentCount.glsl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
ConstructorTypeMismatch.glsl Add support for struct constructors to SkSL. 2021-04-09 13:54:16 +00:00
ContinueOutsideLoop.glsl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
DivideByZero.glsl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
DoTypeMismatch.glsl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
DuplicateFunction.glsl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
DuplicateOutput.glsl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
DuplicateSymbol.glsl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
EmptyArray.glsl Add unit test for array of zero or negative size. 2021-04-09 14:38:47 +00:00
EmptyStruct.glsl SkSL: Ensure struct declarations contain at least one member 2021-02-12 20:57:56 +00:00
EnumTypeCoercion.glsl Fix assertion when performing type-coercion with enums. 2021-04-12 16:40:31 +00:00
EnumValueMustBeConstInt.glsl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
ErrorsInDeadCode.glsl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
FloatRemainder.glsl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
ForInitStmt.glsl Simplify for init-stmts at the IR level. 2021-04-20 14:38:36 +00:00
ForTypeMismatch.glsl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
FunctionParameterOfVoid.glsl Allow function declarations to take (void). 2021-05-21 19:21:23 +00:00
GenericArgumentMismatch.glsl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
GrBadIn.cpp Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
GrBadIn.h Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
GrMainParameterWrongType.cpp Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
GrMainParameterWrongType.h Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
GrMainTooManyParameters.cpp Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
GrMainTooManyParameters.h Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
GrNoFragmentProcessorConstruction.cpp Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
GrNoFragmentProcessorConstruction.h Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
GrNoFragmentProcessorExpressions.cpp Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
GrNoFragmentProcessorExpressions.h Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
GrNoFragmentProcessorLocals.cpp Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
GrNoFragmentProcessorLocals.h Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
GrNoFragmentProcessorParams.cpp Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
GrNoFragmentProcessorParams.h Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
GrNoFragmentProcessorReturn.cpp Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
GrNoFragmentProcessorReturn.h Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
GrRecursion.cpp Make GrGLSLFragmentProcessors be created as std::unique_ptr. 2021-02-23 19:31:01 +00:00
GrRecursion.h Make GrGLSLFragmentProcessors be created as std::unique_ptr. 2021-02-23 19:31:01 +00:00
IfTypeMismatch.glsl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
InterfaceBlockScope.glsl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
InterfaceBlockStorageModifiers.glsl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
InterfaceBlockWithNoMembers.glsl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
InvalidAssignment.glsl Reland "Optimize away swizzles of constant variables." 2021-04-30 13:12:18 +00:00
InvalidOutParams.glsl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
InvalidToken.glsl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
InvalidUnary.glsl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
InVarWithInitializerExpression.glsl Force global initializers to be constant expressions 2021-03-15 16:54:05 +00:00
LayoutInFunctions.glsl Remove layout(override_coverage) 2021-05-18 19:39:54 +00:00
LayoutMultiplePrimitiveTypes.glsl Add flags for all layout qualifiers, check for duplicates 2021-02-24 16:22:26 +00:00
LayoutRepeatedQualifiers.glsl Remove layout(override_coverage) 2021-05-18 19:39:54 +00:00
MismatchedNumbers.glsl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
ModifiersInStruct.glsl Remove custom SkVertices data and runtime effect varying support 2021-04-19 17:49:25 +00:00
OpaqueTypeAssignment.glsl Migrate VarDeclaration conversion out of IRGenerator. 2021-03-22 14:25:26 +00:00
OpaqueTypeConstruction.glsl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
OpaqueTypeInArray.glsl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
OpaqueTypeInInterfaceBlock.glsl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
OpaqueTypeInStruct.glsl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
OpenArray.glsl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
Ossfuzz26700.glsl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
Ossfuzz27614.glsl Fix fuzzer-discovered error with ~ prefix on literals. 2021-02-26 17:30:26 +00:00
Ossfuzz27650.glsl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
Ossfuzz27663.glsl Convert IRGenerator::convertPrefixExpr to PrefixExpression::Make. 2021-02-26 22:34:05 +00:00
Ossfuzz28050.glsl Fix various fuzzer-generated tests. 2021-04-12 13:44:59 +00:00
Ossfuzz29444.glsl Fix various fuzzer-generated tests. 2021-04-12 13:44:59 +00:00
Ossfuzz29845.glsl Fix fuzzer-discovered errors in SkSL parser. 2021-01-26 00:47:13 +00:00
Ossfuzz29849.glsl Fix fuzzer-discovered error with variable scoping. 2021-01-26 17:08:59 +00:00
Ossfuzz31410.glsl Fix fuzzer-discovered error with ~ prefix on literals. 2021-02-26 17:30:26 +00:00
Ossfuzz31469.glsl Detect functions that fail to return a value, without using CFG. 2021-03-04 22:47:05 +00:00
Ossfuzz32156.glsl Add regression test for oss-fuzz:32156. 2021-06-01 15:19:13 +00:00
Ossfuzz32587.glsl Fix fuzzer-discovered error with variable declarations. 2021-03-29 14:35:09 +00:00
Ossfuzz32851.glsl Add regression test for oss-fuzz finding. 2021-04-05 19:39:16 +00:00
OverflowFloatLiteral.glsl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
OverflowIntLiteral.glsl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
OverflowParamArraySize.glsl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
OverflowUintLiteral.glsl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
PrivateTypes.glsl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
PrototypeInFuncBody.glsl Improve error reporting for invalid var-decls. 2021-02-12 22:26:36 +00:00
RedeclareBasicType.glsl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
RedeclareEnum.glsl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
RedeclareSamplerType.glsl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
RedeclareStruct.glsl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
RedeclareStructTypeWithName.glsl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
RedeclareUserType.glsl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
RedeclareVariable.glsl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
ReturnDifferentType.glsl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
ReturnFromVoid.glsl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
ReturnMissingValue.glsl Detect functions that fail to return a value, without using CFG. 2021-03-04 22:47:05 +00:00
ReturnTypeMismatch.glsl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
SelfReferentialInitializerExpression.glsl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
SpuriousFloat.glsl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
StaticIfTest.glsl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
StaticSwitchConditionalBreak.glsl Remove usage of sqrt() as an optimization barrier in tests. 2021-05-24 17:18:54 +00:00
StaticSwitchTest.glsl Remove usage of sqrt() as an optimization barrier in tests. 2021-05-24 17:18:54 +00:00
StaticSwitchWithConditionalBreak.glsl Fix switch optimization pass. 2021-02-23 15:38:24 +00:00
StaticSwitchWithConditionalContinue.glsl Fix switch optimization pass. 2021-02-23 15:38:24 +00:00
StaticSwitchWithConditionalReturn.glsl Fix switch optimization pass. 2021-02-23 15:38:24 +00:00
StructNameWithoutIdentifier.glsl Remove ASTNode::TypeData 2021-01-28 16:56:59 +00:00
StructTooDeeplyNested.glsl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
SwitchDuplicateCase.glsl Migrate convertSwitch to SwitchStatement::Make. 2021-02-23 19:16:40 +00:00
SwitchDuplicateDefault.glsl Add test for duplicate default switch-case. 2021-02-19 20:31:50 +00:00
SwitchTypes.glsl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
SwizzleConstantOutput.glsl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
SwizzleMatrix.glsl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
SwizzleOnlyLiterals.glsl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
SwizzleOutOfBounds.glsl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
SwizzleTooManyComponents.glsl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
TernaryMismatch.glsl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
UndeclaredFunction.glsl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
UndefinedFunction.asm.frag Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
UndefinedFunction.glsl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
UndefinedSymbol.glsl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
UniformVarWithInitializerExpression.glsl Force global initializers to be constant expressions 2021-03-15 16:54:05 +00:00
UnknownDivideByZero.glsl Added detection for non-constant-folded divide by zero errors in 2021-02-06 03:13:16 +00:00
UnscopedVariableInDoWhile.glsl Fix fuzzer-discovered error with variable scoping. 2021-01-26 17:08:59 +00:00
UnscopedVariableInElse.glsl Fix fuzzer-discovered error with variable scoping. 2021-01-26 17:08:59 +00:00
UnscopedVariableInFor.glsl Disallow unscoped for blocks which declare a variable. 2021-03-04 17:04:40 +00:00
UnscopedVariableInIf.glsl Fix fuzzer-discovered error with variable scoping. 2021-01-26 17:08:59 +00:00
UnscopedVariableInWhile.glsl Fix fuzzer-discovered error with variable scoping. 2021-01-26 17:08:59 +00:00
UnsupportedGLSLIdentifiers.glsl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
UnusedInterfaceBlock.asm.frag Fix for fuzzer-discovered error in SPIR-V compilation. 2021-04-19 15:55:04 +00:00
UsingInvalidValue.glsl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00
WhileTypeMismatch.glsl Migrate SkSL test inputs to the resources/ directory. 2021-01-22 18:57:29 +00:00