buildframework/helium/tools/common/test/test_scanlog.ant.xml
changeset 587 85df38eb4012
parent 217 0f5e3a7fb6af
child 588 c7c26511138f
child 618 df88fead2976
equal deleted inserted replaced
217:0f5e3a7fb6af 587:85df38eb4012
     1 <?xml version="1.0" encoding="UTF-8"?>
     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <!-- 
     2 <!-- 
     3 ============================================================================ 
     3 ============================================================================ 
     4 Name        : test_common.ant.xml 
     4 Name        : test_scanlog.ant.xml 
     5 Part of     : Helium 
     5 Part of     : Helium 
     6 
     6 
     7 Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
     7 Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
     8 All rights reserved.
     8 All rights reserved.
     9 This component and the accompanying materials are made available
     9 This component and the accompanying materials are made available
    28     
    28     
    29     
    29     
    30     <property name="helium.dir" location="../../.." />
    30     <property name="helium.dir" location="../../.." />
    31     <import file="../../../helium.ant.xml"/>
    31     <import file="../../../helium.ant.xml"/>
    32     <property name="scanlog.temp.dir" location="${helium.build.dir}/antunit/scanlog" />
    32     <property name="scanlog.temp.dir" location="${helium.build.dir}/antunit/scanlog" />
    33 
    33     
    34     <target name="setUp">
    34     <target name="setUp">
    35         <delete dir="${scanlog.temp.dir}" failonerror="false" />
    35         <delete dir="${scanlog.temp.dir}" failonerror="false" />
    36         <mkdir dir="${scanlog.temp.dir}" />
    36         <mkdir dir="${scanlog.temp.dir}" />
    37     </target>
    37     </target>
    38 
    38 
    39     <target name="tearDown">
    39     <target name="tearDown">
    40         <!--delete dir="${scanlog.temp.dir}" failonerror="false" /-->
    40         <!-- delete dir="${scanlog.temp.dir}" failonerror="false" / -->
    41     </target>
    41     </target>
    42     
    42     
    43     <target name="test-scanlog-generation">
    43     <target name="test-scanlog-generation">
    44         <unzip src="${helium.dir}/tests/data/minibuild_ido_sbs_0.0.1_metadata_db.zip" dest="${scanlog.temp.dir}" />
    44         <property name="sbs.log.file" location="${helium.dir}/tests/data/test-scanlog_helium_minibuild_ido_input_compile.log" />
       
    45         <hlm:metadatarecord  database="${scanlog.temp.dir}/test-scanlog-generation_db">
       
    46             <hlm:sbsmetadatainput>
       
    47                 <fileset casesensitive="false" file="${sbs.log.file}"/>
       
    48                 <metadatafilterset refid="filterset.sbs" />
       
    49             </hlm:sbsmetadatainput>
       
    50         </hlm:metadatarecord>
       
    51         
    45         <fmpp sourceFile="${helium.dir}/tools/common/templates/log/scan2_orm.html.ftl"
    52         <fmpp sourceFile="${helium.dir}/tools/common/templates/log/scan2_orm.html.ftl"
    46                      outputfile="${scanlog.temp.dir}/scanlog.scan2.html">
    53                      outputfile="${scanlog.temp.dir}/scanlog.scan2.html">
    47             <freemarkerLinks expandProperties="yes">
    54             <freemarkerLinks expandProperties="yes">
    48                 macro: ${helium.dir}/tools/common/templates/macro
    55                 macro: ${helium.dir}/tools/common/templates/macro
    49             </freemarkerLinks>
    56             </freemarkerLinks>
    50             <data expandProperties="yes">
    57             <data expandProperties="yes">
    51                 dbPath: ${scanlog.temp.dir}/minibuild_ido_sbs_0.0.1_metadata_db
    58                 dbPath: ${scanlog.temp.dir}/test-scanlog-generation_db
    52                 whatLogPath: "v:/output/logs/compile/minibuild_ido_sbs_0.0.1_armv5_helium_minibuild_ido.log.whatlog.log"
    59                 logfilename: antProperty('sbs.log.file')
    53                 doc: xml(${scanlog.temp.dir}/minibuild_ido_sbs_0.0.1_armv5_helium_minibuild_ido.log.info.xml)
    60                 ant: antProperties()
    54                 ant: antProperties()
    61             </data>
    55             </data>
    62         </fmpp>
    56         </fmpp>
    63         <au:assertFileExists file="${scanlog.temp.dir}/scanlog.scan2.html" />
    57     </target>
    64         <loadfile property="scanlog" srcFile="${scanlog.temp.dir}/scanlog.scan2.html" />
    58     
    65         <au:assertTrue message="Time must be 00:00:13">
       
    66             <contains string="${scanlog}" substring="00:00:13" />
       
    67         </au:assertTrue>
       
    68         <au:assertTrue message="Check for components">
       
    69             <and>
       
    70                 <contains string="${scanlog}" substring="sf/mw/HelloWorldAPI/group" />
       
    71                 <contains string="${scanlog}" substring="sf/app/HelloWorldCons/group" />
       
    72             </and>
       
    73         </au:assertTrue>
       
    74     </target>
       
    75     
       
    76     <target name="test-cc-summary-generation">
       
    77         <condition property="sbs.log.file" value="${helium.dir}/tests/data/test-scanlog_linux_helium_minibuild_ido_input_compile.log">
       
    78             <os family="unix" />
       
    79         </condition>
       
    80         <property name="sbs.log.file" location="${helium.dir}/tests/data/test-scanlog_helium_minibuild_ido_input_compile.log" />
       
    81         <hlm:metadatarecord  database="${scanlog.temp.dir}/test-cc-summary-generation_db">
       
    82             <hlm:sbsmetadatainput>
       
    83                 <fileset casesensitive="false" file="${sbs.log.file}"/>
       
    84                 <metadatafilterset refid="filterset.sbs" />
       
    85             </hlm:sbsmetadatainput>
       
    86         </hlm:metadatarecord>
       
    87         
       
    88         <fmpp sourceFile="${helium.dir}/tools/common/templates/log/cc_summary_metadata_orm.html.ftl"
       
    89                      outputfile="${scanlog.temp.dir}/cc_summary.html">
       
    90             <freemarkerLinks expandProperties="yes">
       
    91                 macro: ${helium.dir}/tools/common/templates/macro
       
    92             </freemarkerLinks>
       
    93             <data expandProperties="yes">
       
    94                 dbPath: ${scanlog.temp.dir}/test-cc-summary-generation_db
       
    95                 logfilename: antProperty('sbs.log.file')
       
    96                 ant: antProperties()
       
    97             </data>
       
    98         </fmpp>
       
    99         <au:assertFileExists file="${scanlog.temp.dir}/cc_summary.html" />
       
   100         <loadfile property="scanlog" srcFile="${scanlog.temp.dir}/cc_summary.html" />
       
   101         <au:assertTrue message="Check for components">
       
   102             <and>
       
   103                 <contains string="${scanlog}" substring="sf/mw/HelloWorldAPI/group" />
       
   104                 <contains string="${scanlog}" substring="sf/app/HelloWorldCons/group" />
       
   105             </and>
       
   106         </au:assertTrue>
       
   107         <au:assertTrue message="Check for 23 errors">
       
   108             <contains string="${scanlog}" substring="&gt;23&lt;/td&gt;" />
       
   109         </au:assertTrue>
       
   110         
       
   111     </target>
       
   112     
       
   113     
       
   114     <target name="scanlog-metadata-text">
       
   115         <echo message="log.dir:${env.TEMP}/" />
       
   116         
       
   117         <hlm:scanlogMetadataTest log="${helium.dir}/tests/data/scanlog/all_regex_type.log"
       
   118             output="${helium.dir}/tests/data/test-scanlog-metadata-text.log" />
       
   119         <hlm:assertFileExists file="${helium.dir}/tests/data/test-scanlog-metadata-text"/>
       
   120         <hlm:metadatarecord  database="${scanlog.temp.dir}/test-metadata-1_db">
       
   121             <hlm:textmetadatainput>
       
   122                 <fileset casesensitive="false" file="${helium.dir}/tests/data/test-scanlog-metadata-1.log"/>
       
   123                 <metadatafilterset refid="filterset.sbs" />
       
   124             </hlm:textmetadatainput>
       
   125         </hlm:metadatarecord>
       
   126         <fmpp sourceFile="${helium.dir}/tools/common/templates/log/scan2_text_orm.html.ftl"
       
   127                      outputfile="${scanlog.temp.dir}/test-scanlog-metadata-1.log.scan2.html">
       
   128             <freemarkerLinks expandProperties="yes">
       
   129                 macro: ${helium.dir}/tools/common/templates/macro
       
   130             </freemarkerLinks>
       
   131             <data expandProperties="yes">
       
   132                 dbPath: ${scanlog.temp.dir}/test-metadata-1_db
       
   133                 ant: antProperties()
       
   134             </data>
       
   135         </fmpp>
       
   136         <hlm:generateBuildStatus dbfile="${scanlog.temp.dir}/test-metadata-1_db" output-dir="${helium.dir}/tests/data/" file="test-scanlog-metadata-1.log"/>
       
   137         <hlm:assertFileExists file="${scanlog.temp.dir}/test-scanlog-metadata-1.log.scan2.html"/>
       
   138     </target>
       
   139 
       
   140 
       
   141 
       
   142     <hlm:signalInput id="testSBSScanlogInput" failbuild="now">
       
   143         <hlm:notifierListRef refid="defaultFailNotifier" />
       
   144     </hlm:signalInput>
       
   145 
       
   146     <hlm:signalListenerConfig id="testSBSScanlog" target="test-scanlog-metadata-1" message="sbs scanlog processed">
       
   147         <hlm:targetCondition>
       
   148             <hlm:hasSeverity severity="error" file="${env.TEMP}/signals/test-scanlog-metadata-1.log.status.xml" />
       
   149         </hlm:targetCondition>
       
   150         <signalNotifierInput>
       
   151             <signalInput refid="testSBSScanlogInput" />
       
   152             <notifierInput file = "${env.TEMP}/signals/test-scanlog-metadata-1.log.status.html" />
       
   153         </signalNotifierInput>
       
   154     </hlm:signalListenerConfig>
       
   155 
       
   156     <target name="scanlog-metadata-1">
       
   157         <echo message="log.dir:${env.TEMP}/" />
       
   158         <property name="sbslog" location="${helium.dir}/tests/data/scanlog/all_regex_type.log" />
       
   159         <hlm:metadatarecord  database="${scanlog.temp.dir}/test-metadata-1_db">
       
   160             <hlm:sbsmetadatainput>
       
   161                 <fileset casesensitive="false" file="${sbslog}"/>
       
   162                 <metadatafilterset refid="filterset.sbs" />
       
   163             </hlm:sbsmetadatainput>
       
   164         </hlm:metadatarecord>
       
   165         <hlm:assertFileExists file="${sbslog}"/>
       
   166         <hlm:assertFileExists file="${sbslog}.sbs_error.log"/>
       
   167         <fmpp sourceFile="${helium.dir}/tools/common/templates/log/scan2_orm.html.ftl"
       
   168                      outputfile="${scanlog.temp.dir}/test-scanlog-metadata-1.log.scan2.html">
       
   169             <freemarkerLinks expandProperties="yes">
       
   170                 macro: ${helium.dir}/tools/common/templates/macro
       
   171             </freemarkerLinks>
       
   172             <data expandProperties="yes">
       
   173                 dbPath: ${scanlog.temp.dir}/test-metadata-1_db
       
   174                 ant: antProperties()
       
   175             </data>
       
   176         </fmpp>
       
   177         <basename property="sbslog.basename" file="${sbslog}" />
       
   178         <hlm:generateBuildStatus dbfile="${scanlog.temp.dir}/test-metadata-1_db" 
       
   179             output-dir="${scanlog.temp.dir}" file="${sbslog.basename}"/>
       
   180         <au:assertFileExists file="${scanlog.temp.dir}/test-scanlog-metadata-1.log.scan2.html"/>
       
   181     </target>
       
   182 
       
   183     
       
   184     <target name="test-metadata-signal">
       
   185         <antcall target="scanlog-metadata-1" />
       
   186     </target>    
       
   187     
       
   188     <target name="test-diamonds-faults">
       
   189         <condition property="sbs.log.file" value="${helium.dir}/tests/data/test-scanlog_linux_helium_minibuild_ido_input_compile.log">
       
   190             <os family="unix" />
       
   191         </condition>
       
   192         <property name="sbs.log.file" location="${helium.dir}/tests/data/test-scanlog_helium_minibuild_ido_input_compile.log" />
       
   193         <hlm:metadatarecord  database="${scanlog.temp.dir}/test-diamonds-faults_db">
       
   194             <hlm:sbsmetadatainput>
       
   195                 <fileset casesensitive="false" file="${sbs.log.file}"/>
       
   196                 <metadatafilterset refid="filterset.sbs" />
       
   197             </hlm:sbsmetadatainput>
       
   198         </hlm:metadatarecord>
       
   199 
       
   200         <fmpp sourceFile="${helium.dir}/tools/common/templates/diamonds/faults_metadata_orm.ftl"
       
   201                 outputfile="${scanlog.temp.dir}/compile-main.xml">
       
   202             <data expandProperties="yes">
       
   203                   dbPath: ${scanlog.temp.dir}/test-diamonds-faults_db
       
   204                   ant: antProperties()
       
   205             </data>
       
   206         </fmpp>
       
   207         <loadfile property="scanlog" srcFile="${scanlog.temp.dir}/compile-main.xml" />
       
   208         <au:assertTrue message="Check for components">
       
   209             <and>
       
   210                 <contains string="${scanlog}" substring="&lt;name&gt;sf/mw/HelloWorldAPI/group&lt;/name&gt;" />
       
   211                 <contains string="${scanlog}" substring="&lt;name&gt;sf/app/HelloWorldCons/group&lt;/name&gt;" />
       
   212             </and>
       
   213         </au:assertTrue>
       
   214         <au:assertTrue message="Check for 23 errors">
       
   215             <contains string="${scanlog}" substring="&gt;23&lt;/total&gt;" />
       
   216         </au:assertTrue>
       
   217         <au:assertTrue message="Check for 16 errors">
       
   218             <contains string="${scanlog}" substring="&gt;16&lt;/total&gt;" />
       
   219         </au:assertTrue>
       
   220         <au:assertTrue message="Check for 7 errors">
       
   221             <contains string="${scanlog}" substring="&gt;7&lt;/total&gt;" />
       
   222         </au:assertTrue>
       
   223     </target>
       
   224 
       
   225     <target name="test-cc-summary-metadata-generation"> 
       
   226         <hlm:metadatarecord  database="${scanlog.temp.dir}/test_metadata_db">
       
   227             <hlm:antmetadatainput>
       
   228                 <fileset casesensitive="false" file="${helium.dir}/tests/data/test_minibuild_ido_ccm_get_input.log"/>
       
   229                 <fileset casesensitive="false" file="${helium.dir}/tests/data/test_minibuild_compile_roms.log"/>
       
   230                 <metadatafilterset refid="filterset.common" />
       
   231             </hlm:antmetadatainput>
       
   232             <hlm:sbsmetadatainput>
       
   233                 <fileset casesensitive="false" file="${helium.dir}/tests/data/test-scanlog_cc_summary_compile.log"/>
       
   234                 <metadatafilterset refid="filterset.sbs" />
       
   235             </hlm:sbsmetadatainput>
       
   236             <hlm:policymetadatainput>
       
   237                 <fileset casesensitive="false" file="${helium.dir}/tests/data/test_minibuild_compile_validate-policy.summary.xml"/>
       
   238                 <metadatafilterset refid="filterset.common" />
       
   239             </hlm:policymetadatainput>
       
   240         </hlm:metadatarecord>
       
   241 
       
   242         <fmpp sourceFile="${helium.dir}/tools/common/templates/log/cc_summary_metadata_orm.html.ftl"
       
   243                      outputfile="${scanlog.temp.dir}/cc_summary.html">
       
   244             <data expandProperties="yes">
       
   245                 dbPath:  ${scanlog.temp.dir}/test_metadata_db
       
   246                 ant: antProperties()
       
   247             </data>
       
   248         </fmpp>
       
   249         
       
   250         <au:assertFileExists file="${scanlog.temp.dir}/cc_summary.html" />
       
   251         <loadfile property="cclog" srcFile="${scanlog.temp.dir}/cc_summary.html" /> 
       
   252         <au:assertTrue message="Check for synergy errors"> 
       
   253             <contains string="${cclog}" substring="Exception: Could not find  object TestDomain-50_200832:project:testDb#1 in the database" /> 
       
   254         </au:assertTrue> 
       
   255         <au:assertTrue message="Check for build errors"> 
       
   256             <contains string="${cclog}" substring="test-scanlog_cc_summary_compile.log" /> 
       
   257         </au:assertTrue> 
       
   258         <au:assertTrue message="Check for 24 build errors"> 
       
   259             <contains string="${cclog}" substring="24" /> 
       
   260         </au:assertTrue> 
       
   261         <au:assertTrue message="Check for 23 build errors"> 
       
   262             <contains string="${cclog}" substring="23" /> 
       
   263         </au:assertTrue> 
       
   264         <au:assertTrue message="Check for validate policy errors"> 
       
   265             <and>
       
   266                 <contains string="${cclog}" substring="s60\test\tools\uitools\DOM" /> 
       
   267                 <contains string="${cclog}" substring="s60\test\tools\uitools\DOM\SAX2DOM" /> 
       
   268             </and>                
       
   269         </au:assertTrue> 
       
   270         <au:assertTrue message="Check for Roms"> 
       
   271             <contains string="${cclog}" substring="WARNING: Nothing to build" /> 
       
   272         </au:assertTrue> 
       
   273     </target>    
       
   274 
       
   275     <target name="test-missing-files-clean-compile"> 
       
   276         <property name="sbs.log.file" value="${helium.dir}/tests/data/test_helium_minibuild_ido_input_clean_armv5_compile.log"/>
       
   277         <hlm:metadatarecord  database="${scanlog.temp.dir}/test_compile_clean_metadata_db">
       
   278             <hlm:sbsmetadatainput>
       
   279                 <fileset casesensitive="false" file="${sbs.log.file}"/>
       
   280                 <metadatafilterset refid="filterset.sbs" />
       
   281             </hlm:sbsmetadatainput>
       
   282         </hlm:metadatarecord>
       
   283 
       
   284         <fmpp sourceFile="${helium.dir}/tools/common/templates/log/scan2_orm.html.ftl"
       
   285                      outputfile="${scanlog.temp.dir}/test_scan2.html">
       
   286             <freemarkerLinks expandProperties="yes">
       
   287                     macro: ${helium.dir}/tools/common/templates/macro
       
   288             </freemarkerLinks>
       
   289             <data expandProperties="yes">
       
   290                 dbPath: ${scanlog.temp.dir}/test_compile_clean_metadata_db
       
   291                 logfilename: ${sbs.log.file}
       
   292                 ant: antProperties()
       
   293             </data>
       
   294         </fmpp>
       
   295         
       
   296         <au:assertFileExists file="${scanlog.temp.dir}/test_scan2.html" />
       
   297         <loadfile property="scanog" srcFile="${scanlog.temp.dir}/test_scan2.html" /> 
       
   298         <au:assertFalse message="Check for Missing Files"> 
       
   299             <contains string="${scanog}" substring="MISSING: " /> 
       
   300         </au:assertFalse> 
       
   301     </target>    
       
   302    
       
   303    
    59 </project>
   304 </project>
    60 
   305