Files
libxmp/test-dev/test_module_length_data_jack.c
Claudio Matsuoka edfd2d6dbe [test] Change duration tests to be more strict
Signed-off-by: Claudio Matsuoka <cmatsuoka@gmail.com>
2014-11-15 10:43:41 -02:00

36 lines
790 B
C

#include "test.h"
TEST(test_module_length_data_jack)
{
xmp_context opaque;
struct xmp_module_info mi;
struct xmp_frame_info fi;
int ret, time = 0;
opaque = xmp_create_context();
ret = xmp_load_module(opaque, "data/p/data_jack.s3m");
fail_unless(ret == 0, "module load");
xmp_get_module_info(opaque, &mi);
xmp_get_frame_info(opaque, &fi);
fail_unless(mi.mod->len == 94, "module length");
fail_unless(fi.total_time == 285000, "estimated time");
xmp_start_player(opaque, 8000, 0);
while (xmp_play_frame(opaque) == 0) {
xmp_get_frame_info(opaque, &fi);
if (fi.loop_count > 0)
break;
time += fi.frame_time;
}
xmp_end_player(opaque);
fail_unless(time / 1000 - fi.total_time < 5, "elapsed time");
xmp_release_module(opaque);
xmp_free_context(opaque);
}
END_TEST