File: Jamfile

package info (click to toggle)
boost 1.32.0-6
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 93,952 kB
  • ctags: 128,458
  • sloc: cpp: 492,477; xml: 52,125; python: 13,519; ansic: 13,013; sh: 1,773; yacc: 853; makefile: 526; perl: 418; lex: 110; csh: 6
file content (72 lines) | stat: -rw-r--r-- 1,993 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
# Copyright John Maddock 2004
#
# There are two ways to invoke this Jamfile:
#
# If we pass the argument --type-traits-unit-test
# to bjam, then the tests are built as one big test
# program: this may be slightly quicker in some cases,
# but causes problems if any of the test sources don't compile.
#
# Alternatively, the default behaviour is to build each source
# file as a separate test program, these no longer depend upon Boost.Test
# (which causes cyclic dependencies).  We also get a separate status report
# for each trait, which makes it easier to track down issues with non-conforming
# compilers.
#            

subproject libs/type_traits/test ;

# bring in the rules for testing
import testing ;

#
# define the sources which need testing, mostly this is just
# all the files *_test.cpp, but any badly named examples can 
# be added to this list :-)
#
TEST_SOURCES = [ GLOB $(BOOST_ROOT)/libs/type_traits/test : *_test.cpp ]
            udt_specialisations.cpp ;  
            
if --type-traits-unit-test in $(ARGV)
{
   test-suite type_traits :
   [ run # sources:
         $(TEST_SOURCES)
         init.cpp
         # dependencies
         <lib>../../test/build/boost_unit_test_framework 
      :  # additional args
         --report_level=detailed --build_info=yes --log_level=messages
      :  # test-files
      :  # requirements
         <sysinclude>$(BOOST_ROOT)
         <define>USE_UNIT_TEST=1
      :  # test name
         type_traits_test
   ] ;

}
else
{
   # this rule enumerates through all the sources and invokes
   # the run rule for each source, the result is a list of all
   # the run rules, which we can pass on to the test_suite rule:
   rule test_all
   {
      #ECHO executing test_all rule ;
      local all_rules = ;
      for local file in $(TEST_SOURCES)
      {
         all_rules += [ run $(file) ] ;
      }
      #ECHO $(all_rules) ;
      return $(all_rules) ;
   }

   test-suite type_traits :
      [ test_all r ]
   ; # type traits suite

}