File: assert-equal.jam

package info (click to toggle)
boost-build 2.0-m12-2
  • links: PTS
  • area: main
  • in suites: lenny, squeeze
  • size: 8,692 kB
  • ctags: 6,963
  • sloc: ansic: 39,914; sh: 9,086; python: 6,120; xml: 5,524; cpp: 1,467; yacc: 456; asm: 353; makefile: 184
file content (33 lines) | stat: -rw-r--r-- 1,048 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# 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) ")"
       ;
    
    }
}