change: UI and migrate to gtest
This commit is contained in:
@@ -22,6 +22,7 @@
|
||||
// Runs headless; no GPU required.
|
||||
|
||||
#include <assert.h>
|
||||
#include <gtest/gtest.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
|
||||
@@ -30,10 +31,10 @@
|
||||
|
||||
static void test_instance_lifecycle(void)
|
||||
{
|
||||
assert(oakengine_proxy_create_instance() == OAKENGINE_OK);
|
||||
assert(oakengine_proxy_destroy_instance() == OAKENGINE_OK);
|
||||
EXPECT_TRUE(oakengine_proxy_create_instance() == OAKENGINE_OK);
|
||||
EXPECT_TRUE(oakengine_proxy_destroy_instance() == OAKENGINE_OK);
|
||||
// Destroying again is a no-op.
|
||||
assert(oakengine_proxy_destroy_instance() == OAKENGINE_OK);
|
||||
EXPECT_TRUE(oakengine_proxy_destroy_instance() == OAKENGINE_OK);
|
||||
}
|
||||
|
||||
static void test_params_from_config(void)
|
||||
@@ -41,53 +42,53 @@ static void test_params_from_config(void)
|
||||
oak_proxy_params params;
|
||||
memset(¶ms, 0xFF, sizeof(params));
|
||||
|
||||
assert(oakengine_proxy_create_instance() == OAKENGINE_OK);
|
||||
assert(oakengine_proxy_params_from_config(¶ms) == OAKENGINE_OK);
|
||||
EXPECT_TRUE(oakengine_proxy_create_instance() == OAKENGINE_OK);
|
||||
EXPECT_TRUE(oakengine_proxy_params_from_config(¶ms) == OAKENGINE_OK);
|
||||
|
||||
// Sanity defaults from ProxyManager::proxy_params_from_config().
|
||||
assert(params.width > 0);
|
||||
assert(params.height > 0);
|
||||
assert(params.divider >= 1);
|
||||
assert(params.version >= 1);
|
||||
assert(params.crf >= 0);
|
||||
assert(params.include_audio == 0 || params.include_audio == 1);
|
||||
assert(strlen(params.extension) > 0);
|
||||
assert(strlen(params.preset) > 0);
|
||||
EXPECT_TRUE(params.width > 0);
|
||||
EXPECT_TRUE(params.height > 0);
|
||||
EXPECT_TRUE(params.divider >= 1);
|
||||
EXPECT_TRUE(params.version >= 1);
|
||||
EXPECT_TRUE(params.crf >= 0);
|
||||
EXPECT_TRUE(params.include_audio == 0 || params.include_audio == 1);
|
||||
EXPECT_TRUE(strlen(params.extension) > 0);
|
||||
EXPECT_TRUE(strlen(params.preset) > 0);
|
||||
|
||||
assert(oakengine_proxy_params_from_config(NULL) == OAKENGINE_E_INVALID);
|
||||
EXPECT_TRUE(oakengine_proxy_params_from_config(NULL) == OAKENGINE_E_INVALID);
|
||||
|
||||
assert(oakengine_proxy_destroy_instance() == OAKENGINE_OK);
|
||||
EXPECT_TRUE(oakengine_proxy_destroy_instance() == OAKENGINE_OK);
|
||||
}
|
||||
|
||||
static void test_state_string_round_trip(void)
|
||||
{
|
||||
char buf[64];
|
||||
|
||||
assert(oakengine_proxy_state_to_string(OAKENGINE_PROXY_STATE_MISSING, buf,
|
||||
EXPECT_TRUE(oakengine_proxy_state_to_string(OAKENGINE_PROXY_STATE_MISSING, buf,
|
||||
sizeof(buf)) > 0);
|
||||
assert(strlen(buf) > 0);
|
||||
EXPECT_TRUE(strlen(buf) > 0);
|
||||
|
||||
assert(oakengine_proxy_state_to_string(OAKENGINE_PROXY_STATE_GENERATING,
|
||||
EXPECT_TRUE(oakengine_proxy_state_to_string(OAKENGINE_PROXY_STATE_GENERATING,
|
||||
buf, sizeof(buf)) > 0);
|
||||
assert(strlen(buf) > 0);
|
||||
EXPECT_TRUE(strlen(buf) > 0);
|
||||
|
||||
assert(oakengine_proxy_state_to_string(OAKENGINE_PROXY_STATE_READY, buf,
|
||||
EXPECT_TRUE(oakengine_proxy_state_to_string(OAKENGINE_PROXY_STATE_READY, buf,
|
||||
sizeof(buf)) > 0);
|
||||
assert(strlen(buf) > 0);
|
||||
EXPECT_TRUE(strlen(buf) > 0);
|
||||
|
||||
assert(oakengine_proxy_state_to_string(OAKENGINE_PROXY_STATE_FAILED, buf,
|
||||
EXPECT_TRUE(oakengine_proxy_state_to_string(OAKENGINE_PROXY_STATE_FAILED, buf,
|
||||
sizeof(buf)) > 0);
|
||||
assert(strlen(buf) > 0);
|
||||
EXPECT_TRUE(strlen(buf) > 0);
|
||||
|
||||
// Unknown state returns an error.
|
||||
assert(oakengine_proxy_state_to_string(999, buf, sizeof(buf)) < 0);
|
||||
EXPECT_TRUE(oakengine_proxy_state_to_string(999, buf, sizeof(buf)) < 0);
|
||||
}
|
||||
|
||||
static void test_state_query(void)
|
||||
{
|
||||
assert(oakengine_proxy_get_state(NULL) == OAKENGINE_PROXY_STATE_MISSING);
|
||||
assert(oakengine_proxy_get_state("") == OAKENGINE_PROXY_STATE_MISSING);
|
||||
assert(oakengine_proxy_get_state("/nonexistent/path/proxy.mp4") ==
|
||||
EXPECT_TRUE(oakengine_proxy_get_state(NULL) == OAKENGINE_PROXY_STATE_MISSING);
|
||||
EXPECT_TRUE(oakengine_proxy_get_state("") == OAKENGINE_PROXY_STATE_MISSING);
|
||||
EXPECT_TRUE(oakengine_proxy_get_state("/nonexistent/path/proxy.mp4") ==
|
||||
OAKENGINE_PROXY_STATE_MISSING);
|
||||
}
|
||||
|
||||
@@ -97,7 +98,7 @@ static void test_get_or_start_null(void)
|
||||
memset(&result, 0xFF, sizeof(result));
|
||||
|
||||
// NULL cache_path should not crash; returns an error.
|
||||
assert(oakengine_proxy_get_or_start(NULL, NULL, 0, NULL, &result) !=
|
||||
EXPECT_TRUE(oakengine_proxy_get_or_start(NULL, NULL, 0, NULL, &result) !=
|
||||
OAKENGINE_OK);
|
||||
}
|
||||
|
||||
@@ -107,16 +108,16 @@ static void test_get_working_filename(void)
|
||||
int len = oakengine_proxy_get_working_filename("/tmp/test.proxy",
|
||||
buf, sizeof(buf));
|
||||
// Should return a filename derived from input, even if file doesn't exist.
|
||||
assert(len > 0);
|
||||
assert(strlen(buf) > 0);
|
||||
EXPECT_TRUE(len > 0);
|
||||
EXPECT_TRUE(strlen(buf) > 0);
|
||||
|
||||
// NULL safety.
|
||||
assert(oakengine_proxy_get_working_filename(NULL, buf, sizeof(buf)) < 0);
|
||||
EXPECT_TRUE(oakengine_proxy_get_working_filename(NULL, buf, sizeof(buf)) < 0);
|
||||
}
|
||||
|
||||
int main(void)
|
||||
TEST(OakEngineProxy, Main)
|
||||
{
|
||||
assert(oakengine_init(OAKENGINE_INIT_HEADLESS) == OAKENGINE_OK);
|
||||
EXPECT_TRUE(oakengine_init(OAKENGINE_INIT_HEADLESS) == OAKENGINE_OK);
|
||||
|
||||
test_instance_lifecycle();
|
||||
test_params_from_config();
|
||||
@@ -125,6 +126,5 @@ int main(void)
|
||||
test_get_or_start_null();
|
||||
test_get_working_filename();
|
||||
|
||||
assert(oakengine_shutdown() == OAKENGINE_OK);
|
||||
return 0;
|
||||
EXPECT_TRUE(oakengine_shutdown() == OAKENGINE_OK);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user