# Copyright David Abrahams 2003. Permission to copy, use, # modify, sell and distribute this software is granted provided this # copyright notice appears in all copies. This software is provided # "as is" without express or implied warranty, and with no claim as # to its suitability for any purpose. subproject libs/iterator/test ; import testing ; rule vc6-stlport-debug-inlining ( toolset variant : non-defaults * ) { if [ MATCH (vc-(6[_0-9]*)-stlport) : $(toolset) ] && ( off in $(non-defaults) ) { non-defaults = [ difference $(non-defaults) : off ] on ; } return $(non-defaults) ; } test-suite iterator : # These first two tests will run last, and are expected to fail # for many less-capable compilers. [ compile-fail interoperable_fail.cpp ] # test uses expected success, so that we catch unrelated # compilation problems. [ run is_convertible_fail.cpp ] [ run zip_iterator_test.cpp : : : vc6-stlport-debug-inlining # stlport's debug mode generates long symbols which overwhelm # vc6 unless you turn on inlining # <*>-Ob1 # <*>-Ob1 ] # These tests should work for just about everything. [ compile is_lvalue_iterator.cpp ] [ compile is_readable_iterator.cpp ] [ compile pointee.cpp ] [ run unit_tests.cpp ] [ run concept_tests.cpp ] [ run iterator_adaptor_cc.cpp ] [ run iterator_adaptor_test.cpp ] [ compile iterator_archetype_cc.cpp ] [ compile-fail iter_archetype_default_ctor.cpp ] [ compile-fail lvalue_concept_fail.cpp ] [ run transform_iterator_test.cpp ] [ run indirect_iterator_test.cpp ] [ compile indirect_iter_member_types.cpp ] [ run filter_iterator_test.cpp ] [ run iterator_facade.cpp ] [ run reverse_iterator_test.cpp ] [ run counting_iterator_test.cpp ] [ run interoperable.cpp ] [ run iterator_traits_test.cpp ] [ run permutation_iterator_test.cpp : : : # on ] ;