Commit 2b8d9c58 authored by Henrik Brix Andersen's avatar Henrik Brix Andersen Committed by Anas Nashif
Browse files

tests: drivers: pwm: api: run PWM tests in user space



Run the PWM API tests in user space.

Signed-off-by: default avatarHenrik Brix Andersen <hebad@vestas.com>
parent 5b025d0d
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
CONFIG_PWM=y
CONFIG_ZTEST=y
CONFIG_TEST_USERSPACE=y
+9 −3
Original line number Diff line number Diff line
@@ -8,15 +8,21 @@
#include <zephyr.h>
#include <ztest.h>

const struct device *get_pwm_device(void);
void test_pwm_usec(void);
void test_pwm_cycle(void);
void test_pwm_nsec(void);

void test_main(void)
{
	const struct device *dev = get_pwm_device();

	zassert_not_null(dev, "Cannot get PWM device");
	k_object_access_grant(dev, k_current_get());

	ztest_test_suite(pwm_basic_test,
			 ztest_unit_test(test_pwm_usec),
			 ztest_unit_test(test_pwm_nsec),
			 ztest_unit_test(test_pwm_cycle));
			 ztest_user_unit_test(test_pwm_usec),
			 ztest_user_unit_test(test_pwm_nsec),
			 ztest_user_unit_test(test_pwm_cycle));
	ztest_run_test_suite(pwm_basic_test);
}
+6 −1
Original line number Diff line number Diff line
@@ -94,12 +94,17 @@
#define UNIT_USECS	1
#define UNIT_NSECS	2

const struct device *get_pwm_device(void)
{
	return device_get_binding(PWM_DEV_NAME);
}

static int test_task(uint32_t port, uint32_t period, uint32_t pulse, uint8_t unit)
{
	TC_PRINT("[PWM]: %" PRIu8 ", [period]: %" PRIu32 ", [pulse]: %" PRIu32 "\n",
		port, period, pulse);

	const struct device *pwm_dev = device_get_binding(PWM_DEV_NAME);
	const struct device *pwm_dev = get_pwm_device();

	if (!pwm_dev) {
		TC_PRINT("Cannot get PWM device\n");
+1 −1
Original line number Diff line number Diff line
tests:
  drivers.pwm:
    tags: drivers pwm
    tags: drivers pwm userspace
    filter: dt_alias_exists("pwm-0") or
            dt_alias_exists("pwm-1") or
            dt_alias_exists("pwm-2") or