Update unit tests to work with current build.

- Updating picture_list wasn't really worth it so I removed it.
This commit is contained in:
Ari Koivula 2014-06-12 15:04:48 +03:00
parent 87261ea91c
commit 9a3569b5c6
7 changed files with 21 additions and 134 deletions

View file

@ -203,9 +203,6 @@
<ClInclude Include="..\..\src\strategies\nal.h">
<Filter>Header Files\strategies</Filter>
</ClInclude>
<ClInclude Include="..\..\src\strategies\picture-altivec.c">
<Filter>Source Files</Filter>
</ClInclude>
<ClInclude Include="..\..\src\image.h">
<Filter>Header Files</Filter>
</ClInclude>
@ -227,6 +224,9 @@
<ClInclude Include="..\..\src\videoframe.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\src\strategies\picture-altivec.c">
<Filter>Header Files\strategies</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<YASM Include="..\..\src\x86\cpu.asm">

View file

@ -89,12 +89,10 @@
</ProjectReference>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\tests\picture_list_tests.c" />
<ClCompile Include="..\..\tests\sad_tests.c" />
<ClCompile Include="..\..\tests\tests_main.c" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\tests\picture_list_tests.h" />
<ClInclude Include="..\..\tests\sad_tests.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />

View file

@ -18,17 +18,11 @@
<ClCompile Include="..\..\tests\tests_main.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\tests\picture_list_tests.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\tests\sad_tests.c">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\tests\picture_list_tests.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\tests\sad_tests.h">
<Filter>Header Files</Filter>
</ClInclude>

View file

@ -1,98 +0,0 @@
#include "greatest/greatest.h"
#include "src/picture.h"
typedef struct {
picture_list *list; // picturelist used by all tests.
} picture_list_env;
//////////////////////////////////////////////////////////////////////////
// SETUP, TEARDOWN AND HELPER FUNCTIONS
/**
* Alloc and initialize picture. Initialize yuv-data with parameter init.
*/
picture * make_pic(unsigned lcu_width, unsigned lcu_height, char init) {
picture *pic = picture_init(LCU_WIDTH * lcu_width, LCU_WIDTH * lcu_height,
lcu_width, lcu_height);
unsigned luma_size = pic->width * pic->height;
unsigned chroma_size = luma_size >> 2;
memset(pic->y_data, init, luma_size);
memset(pic->u_data, init, chroma_size);
memset(pic->v_data, init, chroma_size);
return pic;
}
/**
* Setup initial conditions for all tests.
*
* The conditions are that g_pl is a picture list of size 10 with 10 pictures.
* The pictures have their yuv-data initialized with their index in the list,
* meaning that the first picture is filled with 0 values and the second with
* 1 values.
*/
void picture_list_setup(picture_list_env *env)
{
unsigned lcu_width = 2;
unsigned lcu_height = 2;
unsigned i;
env->list = picture_list_init(10);
//ASSERT(g_pl->size == 10);
//ASSERT(g_pl->used_size == 0);
for (i = 0; i < env->list->size; ++i) {
picture *pic = make_pic(lcu_width, lcu_height, i);
picture_list_add(env->list, pic);
}
//ASSERT(g_pl->used_size == 10);
}
/**
* Deallocate all memory allocated by picturelist_setup.
*/
void picture_list_teardown(picture_list_env *env)
{
picture_list_destroy(env->list);
}
//////////////////////////////////////////////////////////////////////////
// TEST FUNCTIONS
/**
* Check that pictures have been added to the list in the correct order and
* that they can be retrieved.
*/
TEST test_add(picture_list_env *env)
{
unsigned i;
for (i = 0; i < env->list->used_size; ++i) {
picture *pic = env->list->pics[i];
unsigned luma_size = pic->width * pic->height;
unsigned chroma_size = luma_size >> 2;
// Identify that the correct picture is in the correct place by checking
// that the data values are the same as the index.
ASSERT(pic->y_data[0] == i);
ASSERT(pic->u_data[0] == i);
ASSERT(pic->v_data[0] == i);
ASSERT(pic->y_data[luma_size - 1] == i);
ASSERT(pic->u_data[chroma_size - 1] == i);
ASSERT(pic->v_data[chroma_size - 1] == i);
}
PASS();
}
//////////////////////////////////////////////////////////////////////////
// TEST FIXTURES
SUITE(picture_list_tests)
{
picture_list_env env;
SET_SETUP(picture_list_setup, &env);
SET_TEARDOWN(picture_list_teardown, &env);
RUN_TEST1(test_add, &env);
}

View file

@ -1,7 +0,0 @@
#ifndef PICTURE_LIST_TESTS_H_
#define PICTURE_LIST_TESTS_H_
void picture_list_tests(void);
#endif

View file

@ -1,14 +1,14 @@
#include "greatest/greatest.h"
#include "src/picture.h"
#include "src/image.h"
#include "src/strategyselector.h"
//////////////////////////////////////////////////////////////////////////
// EXTERNAL FUNCTIONS
//////////////////////////////////////////////////////////////////////////
// DEFINES
#define TEST_SAD(X, Y) calc_sad(g_pic, g_ref, 0, 0, (X), (Y), 8, 8)
#define TEST_SAD(X, Y) image_calc_sad(g_pic, g_ref, 0, 0, (X), (Y), 8, 8)
//////////////////////////////////////////////////////////////////////////
// GLOBALS
@ -34,29 +34,30 @@ const uint8_t pic_data[64] = {
1,1,1,1,1,1,1,1
};
picture *g_pic = 0;
picture *g_ref = 0;
image *g_pic = 0;
image *g_ref = 0;
//////////////////////////////////////////////////////////////////////////
// SETUP, TEARDOWN AND HELPER FUNCTIONS
void sad_setup(void *environment)
{
unsigned i;
g_pic = picture_init(8, 8, 1, 1);
for (i = 0; i < 64; ++i) {
g_pic->y_data[i] = pic_data[i] + 48;
strategyselector_init();
g_pic = image_alloc(8, 8, 1);
for (int i = 0; i < 64; ++i) {
g_pic->y[i] = pic_data[i] + 48;
}
g_ref = picture_init(8, 8, 1, 1);
for (i = 0; i < 64; ++i) {
g_ref->y_data[i] = ref_data[i] + 48;
g_ref = image_alloc(8, 8, 0);
for (int i = 0; i < 64; ++i) {
g_ref->y[i] = ref_data[i] + 48;
}
}
void sad_teardown(void *environment)
{
free(g_pic); g_pic = 0;
free(g_ref); g_ref = 0;
image_free(g_pic);
image_free(g_ref);
}
//////////////////////////////////////////////////////////////////////////
@ -201,6 +202,7 @@ TEST test_bottomright_out(void)
PASS();
}
//////////////////////////////////////////////////////////////////////////
// TEST FIXTURES
SUITE(sad_tests)
@ -235,5 +237,5 @@ SUITE(sad_tests)
RUN_TEST(test_bottom_out);
RUN_TEST(test_bottomright_out);
sad_setup(0);
sad_teardown(0);
}

View file

@ -3,12 +3,10 @@
GREATEST_MAIN_DEFS();
extern SUITE(sad_tests);
extern SUITE(picture_list_tests);
int main(int argc, char **argv)
{
GREATEST_MAIN_BEGIN();
RUN_SUITE(sad_tests);
RUN_SUITE(picture_list_tests);
GREATEST_MAIN_BEGIN();
GREATEST_MAIN_END();
}