qemu/tests/check-qfloat.c

54 lines
1.1 KiB
C

/*
* QFloat unit-tests.
*
* Copyright IBM, Corp. 2009
*
* Authors:
* Anthony Liguori <aliguori@us.ibm.com>
*
* This work is licensed under the terms of the GNU LGPL, version 2.1 or later.
* See the COPYING.LIB file in the top-level directory.
*
*/
#include <glib.h>
#include "qapi/qmp/qfloat.h"
#include "qemu-common.h"
/*
* Public Interface test-cases
*
* (with some violations to access 'private' data)
*/
static void qfloat_from_double_test(void)
{
QFloat *qf;
const double value = -42.23423;
qf = qfloat_from_double(value);
g_assert(qf != NULL);
g_assert(qf->value == value);
g_assert(qf->base.refcnt == 1);
g_assert(qobject_type(QOBJECT(qf)) == QTYPE_QFLOAT);
// destroy doesn't exit yet
g_free(qf);
}
static void qfloat_destroy_test(void)
{
QFloat *qf = qfloat_from_double(0.0);
QDECREF(qf);
}
int main(int argc, char **argv)
{
g_test_init(&argc, &argv, NULL);
g_test_add_func("/public/from_double", qfloat_from_double_test);
g_test_add_func("/public/destroy", qfloat_destroy_test);
return g_test_run();
}