# Test suite config options

if EXPERIMENTAL

menu "Test suite"

config TEST_SUITE
    bool

config TEST_SUITE_GCC
    bool
    prompt "GCC test suite"
    depends on EXPERIMENTAL
    select TEST_SUITE
    help
      Select this option to install the GCC test suite in $CT_PREFIX_DIR/test_suite.

      The GCC test suite includes a collection of various toolchain tests for GCC -
      it utilizes the DejaGnu test framework.

      For some tests a network enabled target with ssh server is required.

      A helper Makefile is provided for running the tests - please see the included
      README for information on how to run the test suite.

endmenu

endif
