• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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
21alias graph_test_regular :
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    [ run finish_edge_bug.cpp ]
28
29    [ run transitive_closure_test.cpp /boost/timer//boost_timer ]
30    [ run transitive_closure_test2.cpp ]
31    [ compile adj_list_cc.cpp ]
32
33    #[ run adj_list_invalidation.cpp ]
34    [ run adj_list_edge_list_set.cpp ]
35    [ run adj_list_loops.cpp ]
36    [ compile adj_matrix_cc.cpp ]
37    [ run bfs.cpp ]
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 ]
46    [ run undirected_dfs.cpp ]
47    [ compile dfs_cc.cpp ]
48    [ compile dijkstra_cc.cpp ]
49    [ run dijkstra_heap_performance.cpp /boost/timer//boost_timer : 10000 ]
50    [ run dijkstra_no_color_map_compare.cpp : 10000 ]
51    [ run disjoint_set_test.cpp ]
52    [ run dominator_tree_test.cpp ]
53
54    # Unused and deprecated.
55    #[ run relaxed_heap_test.cpp : 5000 15000 ]
56
57    [ compile edge_list_cc.cpp ]
58    [ compile filtered_graph_cc.cpp ]
59    [ run filter_graph_vp_test.cpp ]
60    [ run generator_test.cpp ]
61    [ run graph.cpp : : : <define>TEST=1 : graph_1 ]
62    [ run graph.cpp : : : <define>TEST=2 : graph_2 ]
63    [ run graph.cpp : : : <define>TEST=3 : graph_3 ]
64    [ run graph.cpp : : : <define>TEST=4 : graph_4 ]
65    [ run graph.cpp : : : <define>TEST=5 : graph_5 ]
66    [ run graph.cpp : : : <define>TEST=6 : graph_6 ]
67    [ run graph.cpp : : : <define>TEST=7 : graph_7 ]
68    [ run graph.cpp : : : <define>TEST=8 : graph_8 ]
69    [ run graph.cpp : : : <define>TEST=9 : graph_9 ]
70    [ compile graph_concepts.cpp ]
71    [ run graphviz_test.cpp
72            /boost/test//boost_test_exec_monitor/<link>static
73            ../build//boost_graph
74            ../../regex/build//boost_regex : --log_level=all ]
75    [ run metis_test.cpp : $(METIS_INPUT_FILE) ]
76    [ run gursoy_atun_layout_test.cpp ]
77    [ run layout_test.cpp : : : <test-info>always_show_run_output <toolset>intel:<debug-symbols>off ]
78
79    [ run serialize.cpp
80          ../../serialization/build//boost_serialization
81      : : : ]
82
83    [ compile reverse_graph_cc.cpp ]
84    [ run sequential_vertex_coloring.cpp ]
85
86    # TODO: Merge these into a single test framework.
87    [ run subgraph.cpp ]
88    [ run subgraph_bundled.cpp ]
89    [ run subgraph_add.cpp ../../test/build//boost_unit_test_framework/<link>static : $(TEST_DIR) ]
90    [ run subgraph_props.cpp ]
91
92    [ run isomorphism.cpp ]
93    [ run adjacency_matrix_test.cpp ]
94    [ compile vector_graph_cc.cpp ]
95    [ compile copy.cpp ]
96    [ compile swap.cpp ]
97    [ compile property_iter.cpp : <define>TEST=1 : property_iter_1 ]
98    [ compile property_iter.cpp : <define>TEST=2 : property_iter_2 ]
99    [ compile property_iter.cpp : <define>TEST=3 : property_iter_3 ]
100    [ compile property_iter.cpp : <define>TEST=4 : property_iter_4 ]
101    [ compile property_iter.cpp : <define>TEST=5 : property_iter_5 ]
102    [ compile property_iter.cpp : <define>TEST=6 : property_iter_6 ]
103    [ compile property_iter.cpp : <define>TEST=7 : property_iter_7 ]
104    [ compile property_iter.cpp : <define>TEST=8 : property_iter_8 ]
105    [ compile property_iter.cpp : <define>TEST=9 : property_iter_9 ]
106    [ run bundled_properties.cpp ]
107    [ run floyd_warshall_test.cpp ]
108    [ run astar_search_test.cpp ]
109    [ run biconnected_components_test.cpp ]
110    [ run min_degree_empty.cpp ]
111    [ run cuthill_mckee_ordering.cpp ]
112    [ run king_ordering.cpp ]
113    [ run matching_test.cpp ]
114    [ run weighted_matching_test.cpp ]
115    [ run max_flow_test.cpp ]
116    [ run boykov_kolmogorov_max_flow_test.cpp ]
117    [ run cycle_ratio_tests.cpp ../build//boost_graph ../../regex/build//boost_regex : $(CYCLE_RATIO_INPUT_FILE) ]
118    [ run basic_planarity_test.cpp ]
119    [ run make_connected_test.cpp ]
120    [ run make_bicon_planar_test.cpp ]
121    [ run make_maximal_planar_test.cpp ]
122    [ run named_vertices_test.cpp ]
123    [ run r_c_shortest_paths_test.cpp ]
124    [ run rcsp_custom_vertex_id.cpp ]
125    [ run is_straight_line_draw_test.cpp ]
126    [ run metric_tsp_approx.cpp /boost/timer//boost_timer : metric_tsp_approx.graph : : ]
127    [ compile dimacs.cpp ]
128    [ run bron_kerbosch_all_cliques.cpp ]
129    [ run tiernan_all_cycles.cpp ]
130    [ run closeness_centrality.cpp ]
131    [ run degree_centrality.cpp ]
132    [ run mean_geodesic.cpp ]
133    [ run eccentricity.cpp ]
134    [ run clustering_coefficient.cpp ]
135    [ run core_numbers_test.cpp ]
136    [ run read_propmap.cpp ]
137    [ run mcgregor_subgraphs_test.cpp ../build//boost_graph ]
138    [ compile grid_graph_cc.cpp ]
139    [ run grid_graph_test.cpp ]
140    [ run incremental_components_test.cpp ]
141    [ run two_graphs_common_spanning_trees_test.cpp ]
142    [ run random_spanning_tree_test.cpp ../build//boost_graph ]
143    [ run random_matching_test.cpp : 1000 1020 ]
144    [ run graphml_test.cpp ../build//boost_graph : : "graphml_test.xml" ]
145    [ run mas_test.cpp ../../test/build//boost_unit_test_framework/<link>static : $(TEST_DIR) ]
146    [ run stoer_wagner_test.cpp ../../test/build//boost_unit_test_framework/<link>static : $(TEST_DIR) ]
147    [ compile filtered_graph_properties_dijkstra.cpp ]
148    [ run vf2_sub_graph_iso_test.cpp ]
149    [ run vf2_sub_graph_iso_test_2.cpp ]
150    [ run hawick_circuits.cpp ]
151    [ run successive_shortest_path_nonnegative_weights_test.cpp ../../test/build//boost_unit_test_framework/<link>static ]
152    [ run cycle_canceling_test.cpp ../../test/build//boost_unit_test_framework/<link>static ]
153    [ run strong_components_test.cpp ]
154    [ run find_flow_cost_bundled_properties_and_named_params_test.cpp ../../test/build//boost_unit_test_framework/<link>static ]
155    [ run max_flow_algorithms_bundled_properties_and_named_params.cpp ../../test/build//boost_unit_test_framework/<link>static ]
156    [ run delete_edge.cpp ]
157    [ run johnson-test.cpp ]
158    [ run lvalue_pmap.cpp ]
159    ;
160
161alias graph_test_with_filesystem : :
162        # The tests below started failing to compile for xcode with cxxstd=11
163        # due to issues with constexpr ctors in Boost.Filesystem
164        <target-os>darwin
165        <cxxstd>11
166    ;
167
168alias graph_test_with_filesystem :
169    [ run all_planar_input_files_test.cpp
170        ../../filesystem/build
171        ../../system/build
172        : $(PLANAR_INPUT_FILES) ]
173    [ run parallel_edges_loops_test.cpp
174        ../../filesystem/build
175        ../../system/build
176        : $(PLANAR_INPUT_FILES) ]
177    ;
178
179test-suite graph_test :
180    graph_test_regular
181    graph_test_with_filesystem
182    ;
183
184# Run SDB tests only when -sSDB= is set.
185local SDB = [ modules.peek : SDB ] ;
186if $(SDB)
187{
188    local sdb-root = [ path.root [ path.make $(SDB) ] [ path.pwd ] ] ;
189
190    compile stanford_graph_cc.cpp :
191        <include>$(sdb-root) ;
192}
193
194# Run LEDA tests only when -sLEDA= is set.
195local LEDA = [ modules.peek : LEDA ] ;
196if $(LEDA)
197{
198    local leda-root = [ path.root [ path.make $(LEDA) ] [ path.pwd ] ] ;
199    local leda-include = [ path.join $(leda-root) incl ] ;
200
201    compile leda_graph_cc.cpp :
202        <include>$(leda-include) ;
203}
204
205build-project ../example ;
206