# Copyright (c) 2021 Google LLC
# SPDX-License-Identifier: Apache-2.0

config ZEPHYR_FFF_MODULE
	bool

menuconfig FFF_TEST
	bool "FFF Test suite"
	help
	  Enable the FFF test suite. This should really only be called from the tests for FFF under
	  tests/ztest/mock_fff/. It brings in the test sources from the upstream FFF module.

if FFF_TEST

choice FFF_TEST_TYPE
	prompt "The type of FFF test to bring in"

config FFF_TEST_TYPE_C
	bool "Compile the FFF default C test suite as a zephyr library"

config FFF_TEST_TYPE_GLOBAL_C
	bool "Compile the FFF global C test suite as a zephyr library"

endchoice # FFF_TEST_TYPE

endif # FFF_TEST
