Signed-off-by: James Almer <jamr...@gmail.com> --- libavutil/tests/opt.c | 29 +++++++++++++++++++++++++++++ tests/ref/fate/opt | 4 ++++ 2 files changed, 33 insertions(+)
diff --git a/libavutil/tests/opt.c b/libavutil/tests/opt.c index bac0e80bd5..dc968567eb 100644 --- a/libavutil/tests/opt.c +++ b/libavutil/tests/opt.c @@ -452,5 +452,34 @@ int main(void) av_opt_free(&test_ctx); } + printf("\nTesting av_opt_find2()\n"); + { + TestContext test_ctx = { 0 }; + ChildContext child_ctx = { 0 }; + void *target; + const AVOption *opt; + + test_ctx.class = &test_class; + test_ctx.child = &child_ctx; + child_ctx.class = &child_class; + av_opt_set_defaults(&test_ctx); + av_opt_set_defaults(&child_ctx); + + av_log_set_level(AV_LOG_QUIET); + + opt = av_opt_find2(&test_ctx, "num", NULL, 0, 0, &target); + if (opt && target == &test_ctx) + printf("OK '%s'\n", opt->name); + else + printf("Error '%s'\n", "num"); + + opt = av_opt_find2(&test_ctx, "child_num", NULL, 0, AV_OPT_SEARCH_CHILDREN, &target); + if (opt && target == &child_ctx) + printf("OK '%s'\n", opt->name); + else + printf("Error '%s'\n", "child_num"); + av_opt_free(&test_ctx); + } + return 0; } diff --git a/tests/ref/fate/opt b/tests/ref/fate/opt index 05d57066a1..39659b2248 100644 --- a/tests/ref/fate/opt +++ b/tests/ref/fate/opt @@ -449,3 +449,7 @@ Setting options string 'a_very_long_option_name_that_will_need_to_be_ellipsized_ Setting 'a_very_long_option_name_that_will_need_to_be_ellipsized_around_here' to value '42' Option 'a_very_long_option_name_that_will_need_to_be_ellipsized_around_here' not found Error 'a_very_long_option_name_that_will_need_to_be_ellipsized_around_here=42' + +Testing av_opt_find2() +OK 'num' +OK 'child_num' -- 2.44.0 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".