# Copyright 2001 Dave Abrahams 
# Distributed under the Boost Software License, Version 1.0. 
# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) 


# establish a project root right here in the test directory, so that we can test
# things independently of the boost jambase, etc.
project-root ; 

include check-test-tools.jam ;
include check-jam-patches.jam ;
