From: Stefano Sabatini <stefasab@gmail.com>
To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org>
Subject: Re: [FFmpeg-devel] [PATCH 1/2] avutil/tests/opt: test negative values for INT and INT64 types
Date: Sun, 3 Mar 2024 17:24:59 +0100
Message-ID: <ZeSkWxbi+x2TzLCh@mariano> (raw)
In-Reply-To: <20240227135947.503-1-jamrial@gmail.com>
On date Tuesday 2024-02-27 10:59:46 -0300, James Almer wrote:
> Signed-off-by: James Almer <jamrial@gmail.com>
> ---
> 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=ffff",
> + "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.333333
> dbl=0.333333
> TestContext AVOptions:
> - -num <int> E.......... set num (from 0 to 100) (default 0)
> + -num <int> E.......... set num (from -1 to 100) (default 0)
> -toggle <int> E.......... set toggle (from 0 to 1) (default 1)
> -rational <rational> E.......... set rational (from 0 to 10) (default 1/1)
> -string <string> E.......... set string (default "default")
> @@ -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 0 to 100) (default 1)
> + -num64 <int64> E.......... set num 64bit (from -1 to 100) (default 1)
> -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)
> @@ -312,6 +312,28 @@ Error 'bin=111'
> Setting options string 'bin=ffff'
> Setting entry with key 'bin' to value 'ffff'
> OK 'bin=ffff'
> +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.000000 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 101.000000 for parameter 'num' out of range [-1 - 100]
> +Error 'num=101'
> Setting options string 'num64=bogus'
> Setting entry with key 'num64' to value 'bogus'
> Undefined constant or missing '(' in 'bogus'
> @@ -325,11 +347,14 @@ Setting entry with key 'num64' to value '44.4'
> OK 'num64=44.4'
> Setting options string 'num64=-1'
> Setting entry with key 'num64' to value '-1'
> -Value -1.000000 for parameter 'num64' out of range [0 - 100]
> -Error 'num64=-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]
> +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 [0 - 100]
> +Value 101.000000 for parameter 'num64' out of range [-1 - 100]
> Error 'num64=101'
> Setting options string 'flt=bogus'
> Setting entry with key 'flt' to value 'bogus'
LGTM.
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
prev parent reply other threads:[~2024-03-03 16:25 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-02-27 13:59 James Almer
2024-02-27 13:59 ` [FFmpeg-devel] [PATCH 2/2] avutil/opt: add an unsigned option type James Almer
2024-03-03 16:29 ` Stefano Sabatini
2024-03-03 16:24 ` Stefano Sabatini [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ZeSkWxbi+x2TzLCh@mariano \
--to=stefasab@gmail.com \
--cc=ffmpeg-devel@ffmpeg.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
This inbox may be cloned and mirrored by anyone:
git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \
ffmpegdev@gitmailbox.com
public-inbox-index ffmpegdev
Example config snippet for mirrors.
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git