1# Copyright (c) 2002 Trustees of Indiana University
2#
3# Distributed under the Boost Software License, Version 1.0.
4# (See accompanying file LICENSE_1_0.txt or copy at
5# http://www.boost.org/LICENSE_1_0.txt)
6
7# Define SGB (stanford graph base top level directory) and
8# LEDA (also top level directory) at the command line of jam using -s
9
10import modules ;
11import path ;
12
13path-constant TEST_DIR : . ;
14
15path-constant PLANAR_INPUT_FILES : ./planar_input_graphs ;
16
17path-constant CYCLE_RATIO_INPUT_FILE : ./cycle_ratio_s382.90.dot ;
18
19path-constant METIS_INPUT_FILE : ./weighted_graph.gr ;
20
21test-suite graph_test :
22    # test_graphs will eventually defined a framework for testing the structure
23    # and implementation of graph data structures and adaptors.
24    [ run test_graphs.cpp ]
25    [ run index_graph.cpp ]     # TODO: Make this part of the test_graphs framework
26    [ run labeled_graph.cpp ]
27
28    [ run transitive_closure_test.cpp ]
29    [ compile adj_list_cc.cpp ]
30
31    # adj_list_test needs some work -JGS
32    # unit-test adj_list_test : adj_list_test.cpp  ;
33
34    [ run adj_list_edge_list_set.cpp ]
35    [ run adj_list_loops.cpp ]
36    [ compile adj_matrix_cc.cpp ]
37    [ run bfs.cpp ../../test/build//boost_test_exec_monitor ]
38    [ compile bfs_cc.cpp ]
39    [ run bellman-test.cpp ]
40    [ run betweenness_centrality_test.cpp : 100 ]
41    [ run bidir_remove_edge.cpp ]
42    [ run bipartite_test.cpp ]
43    [ run csr_graph_test.cpp : : : : : <variant>release ]
44    [ run dag_longest_paths.cpp ]
45    [ run dfs.cpp ../../test/build//boost_test_exec_monitor ]
46    [ run undirected_dfs.cpp ../../test/build//boost_test_exec_monitor ]
47    [ compile dfs_cc.cpp ]
48    [ compile dijkstra_cc.cpp ]
49    [ run dijkstra_heap_performance.cpp : 10000 ]
50    [ run dijkstra_no_color_map_compare.cpp : 10000 ]
51    [ run dominator_tree_test.cpp ]
52    [ run relaxed_heap_test.cpp : 5000 15000 ]
53    [ compile edge_list_cc.cpp ]
54    [ compile filtered_graph_cc.cpp ]
55    [ run generator_test.cpp ]
56    [ run graph.cpp ]
57    [ compile graph_concepts.cpp ]
58    [ run graphviz_test.cpp
59            /boost/test//boost_test_exec_monitor/<link>static
60            ../build//boost_graph
61            ../../regex/build//boost_regex : --log_level=all ]
62    [ run metis_test.cpp : $(METIS_INPUT_FILE) ]
63    [ run gursoy_atun_layout_test.cpp ]
64    [ run layout_test.cpp : : : <test-info>always_show_run_output <toolset>intel:<debug-symbols>off ]
65
66    [ run serialize.cpp
67          ../../serialization/build//boost_serialization
68      : : : ]
69
70    [ compile reverse_graph_cc.cpp ]
71    [ run sequential_vertex_coloring.cpp ]
72
73    # TODO: Merge these into a single test framework.
74    [ run subgraph.cpp ../../test/build//boost_test_exec_monitor ]
75    [ run subgraph_bundled.cpp ]
76    [ run subgraph_props.cpp ]
77
78    [ run isomorphism.cpp ../../test/build//boost_test_exec_monitor ]
79    [ run adjacency_matrix_test.cpp ]
80    [ compile vector_graph_cc.cpp ]
81    [ compile copy.cpp ]
82    [ compile swap.cpp ]
83    [ compile property_iter.cpp ]
84    [ run bundled_properties.cpp ]
85    [ run floyd_warshall_test.cpp ]
86    [ run astar_search_test.cpp ]
87    [ run biconnected_components_test.cpp ]
88    [ run cuthill_mckee_ordering.cpp ]
89    [ run king_ordering.cpp ]
90    [ run matching_test.cpp ]
91    [ run max_flow_test.cpp ]
92    [ run boykov_kolmogorov_max_flow_test.cpp ]
93    [ run cycle_ratio_tests.cpp ../build//boost_graph ../../regex/build//boost_regex : $(CYCLE_RATIO_INPUT_FILE) ]
94    [ run basic_planarity_test.cpp ]
95    [ run make_connected_test.cpp ]
96    [ run make_bicon_planar_test.cpp ]
97    [ run make_maximal_planar_test.cpp ]
98    [ run named_vertices_test.cpp ]
99    [ run all_planar_input_files_test.cpp
100        ../../filesystem/build
101        ../../system/build
102        : $(PLANAR_INPUT_FILES) ]
103    [ run parallel_edges_loops_test.cpp
104        ../../filesystem/build
105        ../../system/build
106        : $(PLANAR_INPUT_FILES) ]
107    [ run r_c_shortest_paths_test.cpp ]
108    [ run rcsp_custom_vertex_id.cpp ]
109    [ run is_straight_line_draw_test.cpp ]
110    [ run metric_tsp_approx.cpp : metric_tsp_approx.graph ]
111    [ compile dimacs.cpp ]
112    [ run bron_kerbosch_all_cliques.cpp ]
113    [ run tiernan_all_cycles.cpp ]
114    [ run closeness_centrality.cpp ]
115    [ run degree_centrality.cpp ]
116    [ run mean_geodesic.cpp ]
117    [ run eccentricity.cpp ]
118    [ run clustering_coefficient.cpp ]
119    [ run core_numbers_test.cpp ]
120    [ run read_propmap.cpp ]
121    [ run mcgregor_subgraphs_test.cpp ../build//boost_graph ]
122    [ compile grid_graph_cc.cpp ]
123    [ run grid_graph_test.cpp ]
124    [ run incremental_components_test.cpp ]
125    [ run two_graphs_common_spanning_trees_test.cpp ]
126    [ run random_spanning_tree_test.cpp ../build//boost_graph ]
127    [ run graphml_test.cpp ../build//boost_graph : : "graphml_test.xml" ]
128    [ run mas_test.cpp ../../test/build//boost_unit_test_framework/<link>static : $(TEST_DIR) ]
129    [ run stoer_wagner_test.cpp ../../test/build//boost_unit_test_framework/<link>static : $(TEST_DIR) ]
130    [ compile filtered_graph_properties_dijkstra.cpp ]
131    [ run vf2_sub_graph_iso_test.cpp ]
132    [ run vf2_sub_graph_iso_test_2.cpp ]
133    [ run hawick_circuits.cpp ]
134    [ run successive_shortest_path_nonnegative_weights_test.cpp ../../test/build//boost_unit_test_framework/<link>static ]
135    [ run cycle_canceling_test.cpp ../../test/build//boost_unit_test_framework/<link>static ]
136    ;
137
138# Run SDB tests only when -sSDB= is set.
139local SDB = [ modules.peek : SDB ] ;
140if $(SDB)
141{
142    local sdb-root = [ path.root [ path.make $(SDB) ] [ path.pwd ] ] ;
143
144    compile stanford_graph_cc.cpp :
145        <include>$(sdb-root) ;
146}
147
148# Run LEDA tests only when -sLEDA= is set.
149local LEDA = [ modules.peek : LEDA ] ;
150if $(LEDA)
151{
152    local leda-root = [ path.root [ path.make $(LEDA) ] [ path.pwd ] ] ;
153    local leda-include = [ path.join $(leda-root) incl ] ;
154
155    compile leda_graph_cc.cpp :
156        <include>$(leda-include) ;
157}
158