
# Copyright 2006-2008 Daniel James.
# Distributed under the Boost Software License, Version 1.0. (See accompanying
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

import testing ;

#alias framework : /boost/test//boost_unit_test_framework ;
alias framework : ;

project unordered-test/exception-tests
    : requirements
        <warnings>all
        <toolset>intel:<warnings>on
        <toolset>gcc:<cxxflags>"-pedantic -Wstrict-aliasing -fstrict-aliasing -Wextra -Wsign-promo -Wunused-parameter"
        <toolset>darwin:<cxxflags>"-pedantic -Wstrict-aliasing -fstrict-aliasing -Wextra -Wsign-promo -Wunused-parameter"
        <toolset>gcc:<define>_GLIBCXX_DEBUG
        #<toolset>darwin:<define>_GLIBCXX_DEBUG
        <toolset>msvc:<warnings-as-errors>on
        #<toolset>gcc:<warnings-as-errors>on
        #<toolset>darwin:<warnings-as-errors>on
    ;

test-suite unordered-exception
    :
        [ run constructor_exception_tests.cpp framework ]
        [ run copy_exception_tests.cpp framework ]
        [ run assign_exception_tests.cpp framework ]
        [ run insert_exception_tests.cpp framework ]
        [ run erase_exception_tests.cpp framework ]
        [ run rehash_exception_tests.cpp framework ]
        [ run swap_exception_tests.cpp framework : : :
            <define>BOOST_UNORDERED_SWAP_METHOD=2 ]
    ;
