diff mbox series

[FFmpeg-devel,2/3] avutil/tests/opt: test values > INT_MAX for INT64 type

Message ID 20240227203040.1989-2-jamrial@gmail.com
State New
Headers show
Series [FFmpeg-devel,1/3,v2] avutil/tests/opt: test negative values for INT and INT64 types | expand

Checks

Context Check Description
yinshiyou/make_loongarch64 success Make finished
yinshiyou/make_fate_loongarch64 success Make fate finished
andriy/make_x86 success Make finished
andriy/make_fate_x86 success Make fate finished

Commit Message

James Almer Feb. 27, 2024, 8:30 p.m. UTC
Signed-off-by: James Almer <jamrial@gmail.com>
---
 libavutil/tests/opt.c |  5 +++--
 tests/ref/fate/opt    | 25 ++++++++++++++-----------
 2 files changed, 17 insertions(+), 13 deletions(-)
diff mbox series

Patch

diff --git a/libavutil/tests/opt.c b/libavutil/tests/opt.c
index a914d0359a..11f29468fb 100644
--- a/libavutil/tests/opt.c
+++ b/libavutil/tests/opt.c
@@ -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 },                     -1,       100, 1 },
+    {"num64",      "set num 64bit",      OFFSET(num64),          AV_OPT_TYPE_INT64,          { .i64 = 1LL << 32 },             -1, 1LL << 32, 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 },
@@ -296,7 +296,8 @@  int main(void)
             "num64=44.4",
             "num64=-1",
             "num64=-2",
-            "num64=101",
+            "num64=4294967296",
+            "num64=4294967297",
             "flt=bogus",
             "flt=2",
             "flt=2.2",
diff --git a/tests/ref/fate/opt b/tests/ref/fate/opt
index 2da155aa2b..d164b9eb0c 100644
--- a/tests/ref/fate/opt
+++ b/tests/ref/fate/opt
@@ -14,7 +14,7 @@  color=255 192 203 255
 channel_layout=311=311
 binary=62 69 6e 0
 binary_size=4
-num64=1
+num64=4294967296
 flt=0.333333
 dbl=0.333333
 TestContext AVOptions:
@@ -37,7 +37,7 @@  TestContext AVOptions:
   -bin               <binary>     E.......... set binary value
   -bin1              <binary>     E.......... set binary value
   -bin2              <binary>     E.......... set binary value
-  -num64             <int64>      E.......... set num 64bit (from -1 to 100) (default 1)
+  -num64             <int64>      E.......... set num 64bit (from -1 to 4.29497e+09) (default 4294967296)
   -flt               <float>      E.......... set float (from 0 to 100) (default 0.333333)
   -dbl               <double>     E.......... set double (from 0 to 100) (default 0.333333)
   -bool1             <boolean>    E.......... set boolean value (default auto)
@@ -119,7 +119,7 @@  name: cl          get: hexagonal        set: OK               get: hexagonal
 name: bin         get: 62696E00         set: OK               get: 62696E00         OK
 name: bin1        get:                  set: OK               get:                  OK
 name: bin2        get:                  set: OK               get:                  OK
-name: num64       get: 1                set: OK               get: 1                OK
+name: num64       get: 4294967296       set: OK               get: 4294967296       OK
 name: flt         get: 0.333333         set: OK               get: 0.333333         OK
 name: dbl         get: 0.333333         set: OK               get: 0.333333         OK
 name: bool1       get: auto             set: OK               get: auto             OK
@@ -129,7 +129,7 @@  name: dict1       get:                  set: OK               get:
 name: dict2       get: happy=\:-)       set: OK               get: happy=\:-)       OK
 
 Test av_opt_serialize()
-num=0,toggle=1,rational=1/1,string=default,escape=\\\=\,,flags=0x00000001,size=200x300,pix_fmt=0bgr,sample_fmt=s16,video_rate=25/1,duration=0.001,color=0xffc0cbff,cl=hexagonal,bin=62696E00,bin1=,bin2=,num64=1,flt=0.333333,dbl=0.333333,bool1=auto,bool2=true,bool3=false,dict1=,dict2=happy\=\\:-)
+num=0,toggle=1,rational=1/1,string=default,escape=\\\=\,,flags=0x00000001,size=200x300,pix_fmt=0bgr,sample_fmt=s16,video_rate=25/1,duration=0.001,color=0xffc0cbff,cl=hexagonal,bin=62696E00,bin1=,bin2=,num64=4294967296,flt=0.333333,dbl=0.333333,bool1=auto,bool2=true,bool3=false,dict1=,dict2=happy\=\\:-)
 Setting entry with key 'num' to value '0'
 Setting entry with key 'toggle' to value '1'
 Setting entry with key 'rational' to value '1/1'
@@ -146,7 +146,7 @@  Setting entry with key 'cl' to value 'hexagonal'
 Setting entry with key 'bin' to value '62696E00'
 Setting entry with key 'bin1' to value ''
 Setting entry with key 'bin2' to value ''
-Setting entry with key 'num64' to value '1'
+Setting entry with key 'num64' to value '4294967296'
 Setting entry with key 'flt' to value '0.333333'
 Setting entry with key 'dbl' to value '0.333333'
 Setting entry with key 'bool1' to value 'auto'
@@ -154,7 +154,7 @@  Setting entry with key 'bool2' to value 'true'
 Setting entry with key 'bool3' to value 'false'
 Setting entry with key 'dict1' to value ''
 Setting entry with key 'dict2' to value 'happy=\:-)'
-num=0,toggle=1,rational=1/1,string=default,escape=\\\=\,,flags=0x00000001,size=200x300,pix_fmt=0bgr,sample_fmt=s16,video_rate=25/1,duration=0.001,color=0xffc0cbff,cl=hexagonal,bin=62696E00,bin1=,bin2=,num64=1,flt=0.333333,dbl=0.333333,bool1=auto,bool2=true,bool3=false,dict1=,dict2=happy\=\\:-)
+num=0,toggle=1,rational=1/1,string=default,escape=\\\=\,,flags=0x00000001,size=200x300,pix_fmt=0bgr,sample_fmt=s16,video_rate=25/1,duration=0.001,color=0xffc0cbff,cl=hexagonal,bin=62696E00,bin1=,bin2=,num64=4294967296,flt=0.333333,dbl=0.333333,bool1=auto,bool2=true,bool3=false,dict1=,dict2=happy\=\\:-)
 
 Testing av_set_options_string()
 Setting options string ''
@@ -350,12 +350,15 @@  Setting entry with key 'num64' to value '-1'
 OK    'num64=-1'
 Setting options string 'num64=-2'
 Setting entry with key 'num64' to value '-2'
-Value -2.000000 for parameter 'num64' out of range [-1 - 100]
+Value -2.000000 for parameter 'num64' out of range [-1 - 4.29497e+09]
 Error 'num64=-2'
-Setting options string 'num64=101'
-Setting entry with key 'num64' to value '101'
-Value 101.000000 for parameter 'num64' out of range [-1 - 100]
-Error 'num64=101'
+Setting options string 'num64=4294967296'
+Setting entry with key 'num64' to value '4294967296'
+OK    'num64=4294967296'
+Setting options string 'num64=4294967297'
+Setting entry with key 'num64' to value '4294967297'
+Value 4294967297.000000 for parameter 'num64' out of range [-1 - 4.29497e+09]
+Error 'num64=4294967297'
 Setting options string 'flt=bogus'
 Setting entry with key 'flt' to value 'bogus'
 Undefined constant or missing '(' in 'bogus'