Home | History | Annotate | Download | only in docs
      1 #!/bin/bash
      2 
      3 #
      4 # Copyright (C) 2012 The Android Open Source Project
      5 #
      6 # Licensed under the Apache License, Version 2.0 (the "License");
      7 # you may not use this file except in compliance with the License.
      8 # You may obtain a copy of the License at
      9 #
     10 #      http://www.apache.org/licenses/LICENSE-2.0
     11 #
     12 # Unless required by applicable law or agreed to in writing, software
     13 # distributed under the License is distributed on an "AS IS" BASIS,
     14 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     15 # See the License for the specific language governing permissions and
     16 # limitations under the License.
     17 #
     18 
     19 #
     20 # Sanity check the XML parser by making sure it's generating the same data
     21 # as the original parsed data.
     22 #
     23 
     24 thisdir=$(cd "$(dirname "$0")"; pwd)
     25 
     26 $thisdir/metadata-check-dependencies || exit 1
     27 
     28 tmp_out=$(mktemp -t tmp.XXXXXXXXXX)
     29 tmp_tidy1=$(mktemp -t tmp.XXXXXXXXXX)
     30 tmp_tidy2=$(mktemp -t tmp.XXXXXXXXXX)
     31 
     32 python $thisdir/metadata_parser_xml.py $thisdir/metadata_properties.xml $thisdir/metadata_template.mako $tmp_out || exit 1
     33 tidy -indent -xml -quiet $thisdir/metadata_properties.xml > $tmp_tidy1
     34 tidy -indent -xml -quiet $tmp_out > $tmp_tidy2
     35 
     36 diff $tmp_tidy1 $tmp_tidy2
     37 exit_code=$?
     38 rm $tmp_out $tmp_tidy1 $tmp_tidy2
     39 
     40 if [[ $exit_code -ne 0 ]]
     41 then
     42     echo "ERROR: Files differ, please check parser logic" 1>&2
     43 else
     44     echo "SUCCESS: Files are the same!" 1>&2
     45 fi
     46 
     47 exit $exit_code
     48