diff --git a/test/fuzztest/geaibarshaderfilter_fuzzer/ge_aibar_shader_filter_fuzzer.cpp b/test/fuzztest/geaibarshaderfilter_fuzzer/ge_aibar_shader_filter_fuzzer.cpp index 660e805e8ca7bae7757719292f0e0a3837bb7b25..59263fe9cd3773196803a6d3bd9cd942575e2bea 100644 --- a/test/fuzztest/geaibarshaderfilter_fuzzer/ge_aibar_shader_filter_fuzzer.cpp +++ b/test/fuzztest/geaibarshaderfilter_fuzzer/ge_aibar_shader_filter_fuzzer.cpp @@ -23,7 +23,12 @@ namespace Rosen { std::string GetDescriptionFuzzTest() { - Drawing::GEAIBarShaderFilterParams params { 2.0, 2.0, 2.0, 2.0, 3.0 }; + float aiBarLow = GETest::GetPlainData(); + float aiBarHigh = GETest::GetPlainData(); + float aiBarThreshold = GETest::GetPlainData(); + float aiBarOpacity = GETest::GetPlainData(); + float aiBarSaturation = GETest::GetPlainData(); + Drawing::GEAIBarShaderFilterParams params { aiBarLow, aiBarHigh, aiBarThreshold, aiBarOpacity, aiBarSaturation }; std::unique_ptr shaderFilter = std::make_unique(params); std::string res = shaderFilter->GetDescription(); diff --git a/test/fuzztest/gelineargradientblurshaderfilter_fuzzer/ge_linear_gradient_blur_shader_filter_fuzzer.cpp b/test/fuzztest/gelineargradientblurshaderfilter_fuzzer/ge_linear_gradient_blur_shader_filter_fuzzer.cpp index 89c8222eec3b0fd6f4e732c37a095ca7e33aacd3..37a91d551a37d2dda034c5bee9d236f0c835fd19 100644 --- a/test/fuzztest/gelineargradientblurshaderfilter_fuzzer/ge_linear_gradient_blur_shader_filter_fuzzer.cpp +++ b/test/fuzztest/gelineargradientblurshaderfilter_fuzzer/ge_linear_gradient_blur_shader_filter_fuzzer.cpp @@ -25,12 +25,16 @@ std::shared_ptr ProcessImageFuzzTest() { GEGradientDirection direction = GETest::GetPlainData(); Drawing::GELinearGradientBlurShaderFilterParams params{1.f, {{0.1f, 0.1f}}, static_cast(direction), - 1.f, 1.f, Drawing::Matrix(), 1.f, 1.f, true}; + 1.f, 1.f, Drawing::Matrix(), 1.f, 1.f, true, false}; std::unique_ptr shaderFilter = std::make_unique(params); - Drawing::Rect src { 1.0f, 1.0f, 2.0f, 2.0f }; - Drawing::Rect dst { 1.0f, 1.0f, 2.0f, 2.0f }; + float fLeft = GETest::GetPlainData(); + float fTop = GETest::GetPlainData(); + float fWidth = GETest::GetPlainData(); + float fHeight = GETest::GetPlainData(); + Drawing::Rect src{fLeft, fTop, fWidth, fHeight}; + Drawing::Rect dst{fLeft, fTop, fWidth, fHeight}; Drawing::Canvas canvas; std::shared_ptr image { nullptr }; auto res = shaderFilter->ProcessImage(canvas, image, src, dst); @@ -50,7 +54,13 @@ std::string GetDescriptionFuzzTest() float radius = GETest::GetPlainData(); std::vector> fractionStops = {{1.0, 0.0}, {0.0, 1.0}}; Drawing::Matrix mat; - Drawing::GELinearGradientBlurShaderFilterParams params{radius, fractionStops, 2, 10.0, 10.0, mat, 1.0, 1.0, false}; + int direction = GETest::GetPlainData(); + float geoWidth = GETest::GetPlainData(); + float geoHeight = GETest::GetPlainData(); + float tranX = GETest::GetPlainData(); + float tranY = GETest::GetPlainData(); + Drawing::GELinearGradientBlurShaderFilterParams params{radius, fractionStops, direction, geoWidth, + geoHeight, mat, tranX, tranY, false, false}; std::unique_ptr shaderFilter = std::make_unique(params); std::string res = shaderFilter->GetDescription(); @@ -65,7 +75,14 @@ std::shared_ptr ProcessImageDDGRFuzzTest(const uint8_t *data, si float positionScale = fdp.ConsumeFloatingPoint(); std::vector> fractionStops = {{blurDegree, positionScale}}; Drawing::Matrix mat; - Drawing::GELinearGradientBlurShaderFilterParams params = {5.0, fractionStops, 2, 10.0, 10.0, mat, 1.0, 1.0, false}; + float radius = GETest::GetPlainData(); + int direction = GETest::GetPlainData(); + float geoWidth = GETest::GetPlainData(); + float geoHeight = GETest::GetPlainData(); + float tranX = GETest::GetPlainData(); + float tranY = GETest::GetPlainData(); + Drawing::GELinearGradientBlurShaderFilterParams params{radius, fractionStops, direction, geoWidth, + geoHeight, mat, tranX, tranY, false, false}; std::unique_ptr shaderFilter = std::make_unique(params); diff --git a/test/fuzztest/gemagnifiershaderfilter_fuzzer/ge_magnifier_shader_filter_fuzzer.cpp b/test/fuzztest/gemagnifiershaderfilter_fuzzer/ge_magnifier_shader_filter_fuzzer.cpp index 9ec382dfab2019afc68d843d361de9a372af6e78..705f3415d715287011a75e323c53343c8fe2d2b1 100644 --- a/test/fuzztest/gemagnifiershaderfilter_fuzzer/ge_magnifier_shader_filter_fuzzer.cpp +++ b/test/fuzztest/gemagnifiershaderfilter_fuzzer/ge_magnifier_shader_filter_fuzzer.cpp @@ -42,7 +42,17 @@ std::shared_ptr ProcessImageFuzzTest() std::string GetDescriptionFuzzTest() { - Drawing::GEMagnifierShaderFilterParams params = {1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f}; + float factor = GETest::GetPlainData(); + float width = GETest::GetPlainData(); + float height = GETest::GetPlainData(); + float cornerRadius = GETest::GetPlainData(); + float borderWidth = GETest::GetPlainData(); + float shadowOffsetX = GETest::GetPlainData(); + float shadowOffsetY = GETest::GetPlainData(); + float shadowSize = GETest::GetPlainData(); + float shadowStrength = GETest::GetPlainData(); + Drawing::GEMagnifierShaderFilterParams params = {factor, width, height, cornerRadius, borderWidth, + shadowOffsetX, shadowOffsetY, shadowSize, shadowStrength}; std::unique_ptr shaderFilter = std::make_unique(params); std::string res = shaderFilter->GetDescription(); diff --git a/test/fuzztest/gerender_fuzzer/ge_render_fuzzer.cpp b/test/fuzztest/gerender_fuzzer/ge_render_fuzzer.cpp index 75c4c922335bd4e37a91627fbf1d1aec614e5d5b..6d9192c4f9acfc29677c26d15959379102233ae2 100644 --- a/test/fuzztest/gerender_fuzzer/ge_render_fuzzer.cpp +++ b/test/fuzztest/gerender_fuzzer/ge_render_fuzzer.cpp @@ -70,16 +70,18 @@ std::shared_ptr GERenderFuzzTest002() return resImg; } -std::shared_ptr GERenderFuzzTest003(const uint8_t *data, size_t size) +std::shared_ptr GERenderFuzzTest003() { - FuzzedDataProvider fdp(data, size); - auto geRender = std::make_shared(); Drawing::Canvas canvas; auto veContainer = std::make_shared(); std::shared_ptr image = nullptr; - Drawing::Rect src{0.0, 0.0, 100.0, 100.0}; - Drawing::Rect dst{0.0, 0.0, 100.0, 100.0}; + float fLeft = GETest::GetPlainData(); + float fTop = GETest::GetPlainData(); + float fWidth = GETest::GetPlainData(); + float fHeight = GETest::GetPlainData(); + Drawing::Rect src{fLeft, fTop, fWidth, fHeight}; + Drawing::Rect dst{fLeft, fTop, fWidth, fHeight}; Drawing::SamplingOptions sampling; auto resImg = geRender->ApplyImageEffect(canvas, *veContainer, image, src, dst, sampling); return resImg; @@ -207,7 +209,7 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) /* Run your code on data */ OHOS::GraphicsEffectEngine::GERenderFuzzTest001(); OHOS::GraphicsEffectEngine::GERenderFuzzTest002(); - OHOS::GraphicsEffectEngine::GERenderFuzzTest003(data, size); + OHOS::GraphicsEffectEngine::GERenderFuzzTest003(); OHOS::GraphicsEffectEngine::GERenderFuzzTest004(); OHOS::GraphicsEffectEngine::GERenderFuzzTest005(); OHOS::GraphicsEffectEngine::GERenderFuzzTest006(); diff --git a/test/fuzztest/gevisualeffectcontainer_fuzzer/ge_visual_effect_container_fuzzer.cpp b/test/fuzztest/gevisualeffectcontainer_fuzzer/ge_visual_effect_container_fuzzer.cpp index 2944eb25835f8c0d0a2ba1fff92b6c7037c600ca..c5408652101e8c43fd6d14844ac31edf5aa584b5 100644 --- a/test/fuzztest/gevisualeffectcontainer_fuzzer/ge_visual_effect_container_fuzzer.cpp +++ b/test/fuzztest/gevisualeffectcontainer_fuzzer/ge_visual_effect_container_fuzzer.cpp @@ -37,7 +37,11 @@ bool GEVisualEffectContainerFuzzTest001() bool GEVisualEffectContainerFuzzTest002() { auto veContainer = std::make_shared(); - auto visualEffect = nullptr; + std::shared_ptr visualEffect = nullptr; + if (GETest::GetPlainData()) { + DrawingPaintType type = GETest::GetPlainData(); + visualEffect = std::make_shared("", type); + } veContainer->AddToChainedFilter(visualEffect); return true; }