subproject libs/regex/test ;

# bring in the rules for testing
SEARCH on testing.jam = $(BOOST_BUILD_PATH) ;
include testing.jam ;

template test 
  : <lib>../build/boost_regex           # sources
  : <define>BOOST_REGEX_NO_LIB=1        # requirements
    <define>BOOST_REGEX_STATIC_LINK=1
    <threading>multi
    std::facet-support
  ;
 
template regression
    : <template>test                    # sources
      regress/parse.cpp
      regress/regress.cpp 
      regress/tests.cpp
      <lib>../../test/build/boost_prg_exec_monitor
    ;

rule regex-test ( name : sources + : requirements * : input-files * )
{
    return [ run $(sources) : : $(input-files) : $(requirements) : $(name) ] ;
}

test-suite regex
      : 
      [ regex-test regress
          : <template>regression     # sources
          :                          # requirements
          : regress/tests.txt        # input files
      ]

      [ regex-test wregress
          : <template>regression     # sources
          : <define>TEST_UNICODE=1   # requirements
          : regress/tests.txt        # input files
      ]

      [ regex-test posix_api_check_c
          : <template>test                      # sources
            c_compiler_checks/posix_api_check.c
      ]

      [ regex-test wide_posix_api_check_c
          : <template>test                      # sources
            c_compiler_checks/wide_posix_api_check.c
      ]

      [ regex-test posix_api_check
          : <template>test                      # sources
            c_compiler_checks/posix_api_check.cpp
      ]

      [ regex-test wide_posix_api_check
          : <template>test                      # sources
            c_compiler_checks/wide_posix_api_check.cpp
      ]

;


