/*
 * Copyright (c) 2020 Libre Solar Technologies GmbH
 *
 * SPDX-License-Identifier: Apache-2.0
 */

/**
 * @addtogroup t_driver_dac
 * @{
 * @defgroup t_dac_loopback test_dac_loopback
 * @}
 */

#include <zephyr/zephyr.h>
#include <zephyr/ztest.h>

extern void test_dac_loopback(void);

void test_main(void)
{
	ztest_test_suite(dac_loopback_test,
			 ztest_unit_test(test_dac_loopback));
	ztest_run_test_suite(dac_loopback_test);
}
