tests: Use a different rate in a segment test.
authorJan Schmidt <jan@centricular.com>
Mon, 17 Sep 2018 12:13:22 +0000 (22:13 +1000)
committerJan Schmidt <jan@centricular.com>
Mon, 17 Sep 2018 12:13:22 +0000 (22:13 +1000)
Using a rate of 1.1 in the test is causing the test to
fail on 32-bit because ceil(1.1 * 10) can round to 12.

Instead use a rate 2.0 that can be expressed as floating
point number and doesn't trigger the problem.

https://bugzilla.gnome.org/show_bug.cgi?id=797154

tests/check/gst/gstsegment.c

index 17ad18c..751469d 100644 (file)
@@ -888,7 +888,7 @@ GST_START_TEST (segment_full)
   fail_unless_equals_int (pos, 190);
 
   /* Test a non-1.0 rate that lands right before the segment, but still +ve */
-  segment.rate = 1.1;
+  segment.rate = 2.0;
   segment.start = 100;
   segment.offset = 0;
   segment.stop = 500;
@@ -897,11 +897,11 @@ GST_START_TEST (segment_full)
   segment.time = 10000;
   fail_unless (gst_segment_position_from_running_time_full (&segment,
           GST_FORMAT_TIME, 140, &pos) == 1);
-  fail_unless (pos == 89);
+  fail_unless (pos == 80);
   /* And now one that should give a position < 0 */
   fail_unless (gst_segment_position_from_running_time_full (&segment,
           GST_FORMAT_TIME, 0, &pos) == -1);
-  fail_unless (pos == 65);
+  fail_unless (pos == 200);
 
   /* Test a non-1.0 negative rate that lands right after the (reversed) segment, but still +ve position */
   segment.rate = -2.0;