blob: 2e0636fcbed13752ff433bbf52d1b1bd2cf6e05c [file] [log] [blame]
Nicolas Nobleddef2462015-01-06 18:08:25 -08001#!/bin/bash
2
Craig Tiller34629822015-01-18 10:07:41 -08003set -e
Nicolas Nobleddef2462015-01-06 18:08:25 -08004
5if [ "x$TEST" == "x" ] ; then
6 TEST=false
7fi
8
9
ctiller08c50d82015-01-09 12:47:03 -080010cd `dirname $0`/../..
Nicolas Nobleddef2462015-01-06 18:08:25 -080011mako_renderer=tools/buildgen/mako_renderer.py
12gen_build_json=test/core/end2end/gen_build_json.py
13
Craig Tiller03221342015-01-13 07:19:35 -080014end2end_test_build=`mktemp /tmp/genXXXXXX`
Nicolas Nobleddef2462015-01-06 18:08:25 -080015$gen_build_json > $end2end_test_build
16
17global_plugins=`find ./tools/buildgen/plugins -name '*.py' |
18 sort | grep -v __init__ |
19 while read p ; do echo -n "-p $p " ; done`
20
21for dir in . ; do
22 local_plugins=`find $dir/templates -name '*.py' |
23 sort | grep -v __init__ |
24 while read p ; do echo -n "-p $p " ; done`
25
26 plugins="$global_plugins $local_plugins"
27
28 find -L $dir/templates -type f -and -name *.template | while read file ; do
29 out=${dir}/${file#$dir/templates/} # strip templates dir prefix
30 out=${out%.*} # strip template extension
31 json_files="build.json $end2end_test_build"
32 data=`for i in $json_files; do echo -n "-d $i "; done`
33 if [ $TEST == true ] ; then
34 actual_out=$out
Craig Tillerd4eec902015-01-19 20:44:44 -080035 out=`mktemp /tmp/gentXXXXXX`
Nicolas Nobleddef2462015-01-06 18:08:25 -080036 fi
37 $mako_renderer $plugins $data -o $out $file
38 if [ $TEST == true ] ; then
39 diff -q $out $actual_out
40 rm $out
41 fi
42 done
43done
44
45rm $end2end_test_build
46