Commit b5763f40f3 for ffmpeg
commit b5763f40f3d2e587fc654995303af65850fa2c01
Author: Kacper Michajłow <kasper93@gmail.com>
Date: Tue Sep 22 18:21:06 2026 +0200
avutil/tests/rational: return failure on any reported mismatch
Only the av_add_stable() and av_q2intfloat() loops returned nonzero.
Every other check logged the mismatch and the test still exited with 0,
so it could never fail under FATE.
Signed-off-by: Kacper Michajłow <kasper93@gmail.com>
diff --git a/libavutil/tests/rational.c b/libavutil/tests/rational.c
index 2c9ca947fc..13090c11d5 100644
--- a/libavutil/tests/rational.c
+++ b/libavutil/tests/rational.c
@@ -27,6 +27,7 @@ int main(void)
{
AVRational a,b,r;
int i,j,k;
+ int ret = 0;
static const int64_t numlist[] = {
INT64_MIN, INT64_MIN+1, INT64_MAX, INT32_MIN, INT32_MAX, 1,0,-1,
123456789, INT32_MAX-1, INT32_MAX+1LL, UINT32_MAX-1, UINT32_MAX, UINT32_MAX+1LL
@@ -42,12 +43,16 @@ int main(void)
if (d > 0) d = 1;
else if (d < 0) d = -1;
else if (d != d) d = INT_MIN;
- if (c != d)
+ if (c != d) {
av_log(NULL, AV_LOG_ERROR, "%d/%d %d/%d, %d %f\n", a.num,
a.den, b.num, b.den, c,d);
+ ret = 1;
+ }
r = av_sub_q(av_add_q(b,a), b);
- if(b.den && (r.num*a.den != a.num*r.den || !r.num != !a.num || !r.den != !a.den))
+ if(b.den && (r.num*a.den != a.num*r.den || !r.num != !a.num || !r.den != !a.den)) {
av_log(NULL, AV_LOG_ERROR, "%d/%d ", r.num, r.den);
+ ret = 1;
+ }
}
}
}
@@ -76,6 +81,7 @@ int main(void)
if (r.num != c.num || r.den != c.den) {
av_log(NULL, AV_LOG_ERROR, "%d/%d * %d/%d = %d/%d, expected %d/%d\n",
a.num, a.den, b.num, b.den, r.num, r.den, c.num, c.den);
+ ret = 1;
}
}
}
@@ -102,6 +108,7 @@ int main(void)
if (r.num != c.num || r.den != c.den) {
av_log(NULL, AV_LOG_ERROR, "%d/%d + %d/%d = %d/%d, expected %d/%d\n",
a.num, a.den, b.num, b.den, r.num, r.den, c.num, c.den);
+ ret = 1;
}
}
}
@@ -137,6 +144,7 @@ int main(void)
continue;
av_log(NULL, AV_LOG_ERROR, "%"PRId64" * %"PRId64" / %"PRId64" = %"PRId64" or %"PRId64"\n", a,b,c, res, av_i2int(ai));
+ ret = 1;
}
}
}
@@ -184,5 +192,5 @@ int main(void)
}
}
- return 0;
+ return ret;
}