# 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) # Evaluates [ rulename arg1... : arg2... : ... : argN... ] and compares the # result to expected-results. If there is a mismatch, prints an error message # and exits. rule assert-equal ( expected-results * : rulename a1 * : a2 * : a3 * : a4 * : a5 * : a6 * : a7 * : a8 * : a9 * ) { local results = [ $(rulename) $(a1) : $(a2) : $(a3) : $(a4) : $(a5) : $(a6) : $(a7) : $(a8) ] ; if $(results) != $(expected-results) { EXIT ******ASSERTION FAILURE******* " [ $(rulename) " $(a1) ": "$(a2[1]) $(a2[2-]) ": "$(a3[1]) $(a3[2-]) ": "$(a4[1]) $(a4[2-]) ": "$(a5[1]) $(a5[2-]) ": "$(a6[1]) $(a6[2-]) ": "$(a7[1]) $(a7[2-]) ": "$(a8[1]) $(a8[2-]) "] expected: (" $(expected-results) ") result was: (" $(results) ")" ; } }