# Copyright (c) 2009-2011 XORP, Inc and Others
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License, Version 2, June
# 1991 as published by the Free Software Foundation. Redistribution
# and/or modification of this program under the terms of any other
# version of the GNU General Public License is not permitted.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For more details,
# see the GNU General Public License, Version 2, a copy of which can be
# found in the XORP LICENSE.gpl file.
#
# XORP Inc, 2953 Bunker Hill Lane, Suite 204, Santa Clara, CA 95054, USA;
# http://xorp.net

# $XORP$

import os
Import("env")

env = env.Clone()
env.AppendUnique(CPPPATH = [ '#', '$BUILDDIR', '$BUILDDIR/libxorp', ])
env.AppendUnique(LIBPATH = [ '$BUILDDIR/libxorp', '$BUILDDIR/libcomm', ])
env.AppendUnique(LIBS = [ 'xorp_core', 'xorp_comm' ])

tests = [
	'asyncio',
	'callback',
	'config_param',
	'heap',
	'ipnet',
	'ipv4',
	'ipv4net',
	'ipv6',
	'ipv6net',
	'ipvx',
	'ipvxnet',
	'mac',
	'observers',
	'ref_ptr',
	'ref_trie',
	'run_command',	# Wrapper script needed on Windows MinGW.
	'sched',
	'service',
	'task',
	'test_main',
	'time_slice',
	'timer',
	'timeval',
	'trie',
	'types',
	'utils',
	'vif',
]

if not (env.has_key('disable_profile') and env['disable_profile']):
    tests.append('profile')

libxorptestpath = '$exec_prefix/libxorp/tests'

test_targets = []

for t in tests:
    test_targets.append(env.AutoTest(target = 'test_%s' % t,
                                     source = 'test_%s.cc' % t))
    
    if env['enable_tests']:
        env.Alias('install', env.InstallProgram(libxorptestpath, 'test_%s' %t))

if env['enable_tests']:
    Default(test_targets)
    
