Re: [FFmpeg-devel] [PATCH 1/2] avutil/tests/opt: test negative values for INT and INT64 types
On date Tuesday 2024-02-27 10:59:46 -0300, James Almer wrote: > Signed-off-by: James Almer > --- > libavutil/tests/opt.c | 11 +-- > tests/ref/fate/opt| 35 ++- > 2 files changed, 39 insertions(+), 7 deletions(-) > > diff --git a/libavutil/tests/opt.c b/libavutil/tests/opt.c > index e2582cc93d..a914d0359a 100644 > --- a/libavutil/tests/opt.c > +++ b/libavutil/tests/opt.c > @@ -66,7 +66,7 @@ typedef struct TestContext { > #define TEST_FLAG_MU 04 > > static const AVOption test_options[]= { > -{"num","set num",OFFSET(num), > AV_OPT_TYPE_INT,{ .i64 = 0 }, 0, 100, > 1 }, > +{"num","set num",OFFSET(num), > AV_OPT_TYPE_INT,{ .i64 = 0 }, -1, 100, > 1 }, > {"toggle", "set toggle", OFFSET(toggle), > AV_OPT_TYPE_INT,{ .i64 = 1 }, 0, 1, > 1 }, > {"rational", "set rational", OFFSET(rational), > AV_OPT_TYPE_RATIONAL, { .dbl = 1 }, 0,10, > 1 }, > {"string", "set string", OFFSET(string), > AV_OPT_TYPE_STRING, { .str = "default" }, CHAR_MIN, CHAR_MAX, > 1 }, > @@ -85,7 +85,7 @@ static const AVOption test_options[]= { > {"bin","set binary value", OFFSET(binary), > AV_OPT_TYPE_BINARY, { .str="62696e00" }, 0, 0, > 1 }, > {"bin1", "set binary value", OFFSET(binary1), > AV_OPT_TYPE_BINARY, { .str=NULL }, 0, 0, > 1 }, > {"bin2", "set binary value", OFFSET(binary2), > AV_OPT_TYPE_BINARY, { .str="" }, 0, 0, > 1 }, > -{"num64", "set num 64bit", OFFSET(num64), > AV_OPT_TYPE_INT64, { .i64 = 1 }, 0, 100, > 1 }, > +{"num64", "set num 64bit", OFFSET(num64), > AV_OPT_TYPE_INT64, { .i64 = 1 }, -1, 100, > 1 }, > {"flt","set float", OFFSET(flt), > AV_OPT_TYPE_FLOAT, { .dbl = 1.0 / 3 },0, 100, > 1 }, > {"dbl","set double", OFFSET(dbl), > AV_OPT_TYPE_DOUBLE, { .dbl = 1.0 / 3 },0, 100, > 1 }, > {"bool1", "set boolean value", OFFSET(bool1), > AV_OPT_TYPE_BOOL, { .i64 = -1 },-1, 1, > 1 }, > @@ -285,10 +285,17 @@ int main(void) > "bin=boguss", > "bin=111", > "bin=", > +"num=bogus", > +"num=44", > +"num=44.4", > +"num=-1", > +"num=-2", > +"num=101", > "num64=bogus", > "num64=44", > "num64=44.4", > "num64=-1", > +"num64=-2", > "num64=101", > "flt=bogus", > "flt=2", > diff --git a/tests/ref/fate/opt b/tests/ref/fate/opt > index 832f9cc8a9..2da155aa2b 100644 > --- a/tests/ref/fate/opt > +++ b/tests/ref/fate/opt > @@ -18,7 +18,7 @@ num64=1 > flt=0.33 > dbl=0.33 > TestContext AVOptions: > - -num E.. set num (from 0 to 100) > (default 0) > + -num E.. set num (from -1 to 100) > (default 0) >-toggleE.. set toggle (from 0 to 1) > (default 1) >-rational E.. set rational (from 0 to 10) > (default 1/1) >-string E.. set string (default "default") > @@ -37,7 +37,7 @@ TestContext AVOptions: >-binE.. set binary value >-bin1 E.. set binary value >-bin2 E.. set binary value > - -num64 E.. set num 64bit (from 0 to 100) > (default 1) > + -num64 E.. set num 64bit (from -1 to 100) > (default 1) >-flt E.. set float (from 0 to 100) > (default 0.33) >-dblE.. set double (from 0 to 100) > (default 0.33) >-bool1 E.. set boolean value (default > auto) > @@ -312,6 +312,28 @@ Error 'bin=111' > Setting options string 'bin=' > Setting entry with key 'bin' to value '' > OK'bin=' > +Setting options string 'num=bogus' > +Setting entry with key 'num' to value 'bogus' > +Undefined constant or missing '(' in 'bogus' > +Unable to parse option value "bogus" > +Error 'num=bogus' > +Setting options string 'num=44' > +Setting entry with key 'num' to value '44' > +OK'num=44' > +Setting options string 'num=44.4' > +Setting entry with key 'num' to value '44.4' > +OK'num=44.4' > +Setting options string 'num=-1'
[FFmpeg-devel] [PATCH 1/2] avutil/tests/opt: test negative values for INT and INT64 types
Signed-off-by: James Almer --- libavutil/tests/opt.c | 11 +-- tests/ref/fate/opt| 35 ++- 2 files changed, 39 insertions(+), 7 deletions(-) diff --git a/libavutil/tests/opt.c b/libavutil/tests/opt.c index e2582cc93d..a914d0359a 100644 --- a/libavutil/tests/opt.c +++ b/libavutil/tests/opt.c @@ -66,7 +66,7 @@ typedef struct TestContext { #define TEST_FLAG_MU 04 static const AVOption test_options[]= { -{"num","set num",OFFSET(num), AV_OPT_TYPE_INT,{ .i64 = 0 }, 0, 100, 1 }, +{"num","set num",OFFSET(num), AV_OPT_TYPE_INT,{ .i64 = 0 }, -1, 100, 1 }, {"toggle", "set toggle", OFFSET(toggle), AV_OPT_TYPE_INT,{ .i64 = 1 }, 0, 1, 1 }, {"rational", "set rational", OFFSET(rational), AV_OPT_TYPE_RATIONAL, { .dbl = 1 }, 0,10, 1 }, {"string", "set string", OFFSET(string), AV_OPT_TYPE_STRING, { .str = "default" }, CHAR_MIN, CHAR_MAX, 1 }, @@ -85,7 +85,7 @@ static const AVOption test_options[]= { {"bin","set binary value", OFFSET(binary), AV_OPT_TYPE_BINARY, { .str="62696e00" }, 0, 0, 1 }, {"bin1", "set binary value", OFFSET(binary1), AV_OPT_TYPE_BINARY, { .str=NULL }, 0, 0, 1 }, {"bin2", "set binary value", OFFSET(binary2), AV_OPT_TYPE_BINARY, { .str="" }, 0, 0, 1 }, -{"num64", "set num 64bit", OFFSET(num64), AV_OPT_TYPE_INT64, { .i64 = 1 }, 0, 100, 1 }, +{"num64", "set num 64bit", OFFSET(num64), AV_OPT_TYPE_INT64, { .i64 = 1 }, -1, 100, 1 }, {"flt","set float", OFFSET(flt), AV_OPT_TYPE_FLOAT, { .dbl = 1.0 / 3 },0, 100, 1 }, {"dbl","set double", OFFSET(dbl), AV_OPT_TYPE_DOUBLE, { .dbl = 1.0 / 3 },0, 100, 1 }, {"bool1", "set boolean value", OFFSET(bool1), AV_OPT_TYPE_BOOL, { .i64 = -1 },-1, 1, 1 }, @@ -285,10 +285,17 @@ int main(void) "bin=boguss", "bin=111", "bin=", +"num=bogus", +"num=44", +"num=44.4", +"num=-1", +"num=-2", +"num=101", "num64=bogus", "num64=44", "num64=44.4", "num64=-1", +"num64=-2", "num64=101", "flt=bogus", "flt=2", diff --git a/tests/ref/fate/opt b/tests/ref/fate/opt index 832f9cc8a9..2da155aa2b 100644 --- a/tests/ref/fate/opt +++ b/tests/ref/fate/opt @@ -18,7 +18,7 @@ num64=1 flt=0.33 dbl=0.33 TestContext AVOptions: - -num E.. set num (from 0 to 100) (default 0) + -num E.. set num (from -1 to 100) (default 0) -toggleE.. set toggle (from 0 to 1) (default 1) -rational E.. set rational (from 0 to 10) (default 1/1) -string E.. set string (default "default") @@ -37,7 +37,7 @@ TestContext AVOptions: -binE.. set binary value -bin1 E.. set binary value -bin2 E.. set binary value - -num64 E.. set num 64bit (from 0 to 100) (default 1) + -num64 E.. set num 64bit (from -1 to 100) (default 1) -flt E.. set float (from 0 to 100) (default 0.33) -dblE.. set double (from 0 to 100) (default 0.33) -bool1 E.. set boolean value (default auto) @@ -312,6 +312,28 @@ Error 'bin=111' Setting options string 'bin=' Setting entry with key 'bin' to value '' OK'bin=' +Setting options string 'num=bogus' +Setting entry with key 'num' to value 'bogus' +Undefined constant or missing '(' in 'bogus' +Unable to parse option value "bogus" +Error 'num=bogus' +Setting options string 'num=44' +Setting entry with key 'num' to value '44' +OK'num=44' +Setting options string 'num=44.4' +Setting entry with key 'num' to value '44.4' +OK'num=44.4' +Setting options string 'num=-1' +Setting entry with key 'num' to value '-1' +OK'num=-1' +Setting options string 'num=-2' +Setting entry with key 'num' to value '-2' +Value -2.00 for parameter 'num' out of range [-1 - 100] +Error 'num=-2' +Setting options string 'num=101' +Setting entry with key 'num' to value '101' +Value