Subversion Repositories DevTools

Rev

Rev 4724 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 4724 Rev 4725
Line 14... Line 14...
14
use warnings;
14
use warnings;
15
 
15
 
16
# Global variables
16
# Global variables
17
our $ScmPlatform;
17
our $ScmPlatform;
18
our $ScmNoToolsTest;
18
our $ScmNoToolsTest;
-
 
19
our $ScmToolsetProcessTests;
19
 
20
 
20
#   Misc variables
21
#   Misc variables
21
my $UseGcov = 0;
22
my $UseGcov = 0;
22
my $UseCppcheck = 0;
23
my $UseCppcheck = 0;
23
 
24
 
Line 151... Line 152...
151
    $::ScmToolsetVersion = "1.0.0";             # our version
152
    $::ScmToolsetVersion = "1.0.0";             # our version
152
    $::ScmToolsetGenerate = 0;                  # GEN generate optional
153
    $::ScmToolsetGenerate = 0;                  # GEN generate optional
153
    $::ScmToolsetCompilerPath = 1;              # Exports Compiler path to makefile via SCM_COMPILERPATH
154
    $::ScmToolsetCompilerPath = 1;              # Exports Compiler path to makefile via SCM_COMPILERPATH
154
    $::ScmToolsetProgDependancies = 0;          # handle Prog dependancies myself
155
    $::ScmToolsetProgDependancies = 0;          # handle Prog dependancies myself
155
    $::ScmToolsetSoName = 1;                    # Shared library supports SoName
156
    $::ScmToolsetSoName = 1;                    # Shared library supports SoName
-
 
157
    $ScmToolsetProcessTests = 0;                # Unit Tests require Pre/Post processing - set later
156
 
158
 
157
#.. Standard.rul requirements
159
#.. Standard.rul requirements
158
#
160
#
159
    $::s = "asm";
161
    $::s = "asm";
160
    $::o = "o";
162
    $::o = "o";
Line 487... Line 489...
487
    $file = StripExt( $obj );                   # Metric working file
489
    $file = StripExt( $obj );                   # Metric working file
488
    ToolsetGenerate( "\$(OBJDIR)/$file.met" );
490
    ToolsetGenerate( "\$(OBJDIR)/$file.met" );
489
 
491
 
490
    if ( $UseGcov )
492
    if ( $UseGcov )
491
    {
493
    {
-
 
494
        $ScmToolsetProcessTests = 1;
492
        ToolsetGenerate( '$(OBJDIR)/' . $file . '.gcno' );
495
        ToolsetGenerate( '$(OBJDIR)/' . $file . '.gcno' );
493
        ToolsetGenerate( '$(OBJDIR)/' . $file . '.gcda' );
496
        ToolsetGenerate( '$(OBJDIR)/' . $file . '.gcda' );
494
    }
497
    }
495
}
498
}
496
 
499
 
Line 539... Line 542...
539
    $file = StripExt( $obj );                   # Metric working file
542
    $file = StripExt( $obj );                   # Metric working file
540
    ToolsetGenerate( "\$(OBJDIR)/$file.met" );
543
    ToolsetGenerate( "\$(OBJDIR)/$file.met" );
541
 
544
 
542
    if ( $UseGcov )
545
    if ( $UseGcov )
543
    {
546
    {
-
 
547
        $ScmToolsetProcessTests = 1;
544
        ToolsetGenerate( '$(OBJDIR)/' . $file . '.gcno' );
548
        ToolsetGenerate( '$(OBJDIR)/' . $file . '.gcno' );
545
        ToolsetGenerate( '$(OBJDIR)/' . $file . '.gcda' );
549
        ToolsetGenerate( '$(OBJDIR)/' . $file . '.gcda' );
546
    }
550
    }
547
}
551
}
548
 
552
 
Line 959... Line 963...
959
sub ToolsetPreprocessTests
963
sub ToolsetPreprocessTests
960
{
964
{
961
    my ($io) = ToolsetPrinter::New();
965
    my ($io) = ToolsetPrinter::New();
962
    if ( $UseGcov && scalar(keys %::OBJSOURCE) > 0 )
966
    if ( $UseGcov && scalar(keys %::OBJSOURCE) > 0 )
963
    {
967
    {
-
 
968
        #   Force The Pre/Post/Collate rules to be processed
-
 
969
        $ScmToolsetProcessTests = 1;
-
 
970
 
964
        my $finaldir='$(LOCALDIR)/lcov/$(GBE_PLATFORM)$(GBE_TYPE)';
971
        my $finaldir='$(LOCALDIR)/lcov/$(GBE_PLATFORM)$(GBE_TYPE)';
965
        my $final=$finaldir . '/lcov-final.info';
972
        my $final=$finaldir . '/lcov-final.info';
966
        
973
        
967
        ToolsetGenerate( '$(OBJDIR)/lcov-baseline.info' );
974
        ToolsetGenerate( '$(OBJDIR)/lcov-baseline.info' );
-
 
975
        $io->PrtLn('.PHONY: preprocess_tests' );
-
 
976
        $io->PrtLn('preprocess_tests:' );
968
 
977
 
969
        my $key;
978
        my $key;
970
        my $value;
979
        my $value;
971
        while(($key, $value) = each(%::OBJSOURCE))
980
        while(($key, $value) = each(%::OBJSOURCE))
972
        {
981
        {
Line 1004... Line 1013...
1004
        my $final=$finaldir . '/lcov-final.info';
1013
        my $final=$finaldir . '/lcov-final.info';
1005
        
1014
        
1006
        ToolsetGenerate( '$(OBJDIR)/lcov-capture.info' );
1015
        ToolsetGenerate( '$(OBJDIR)/lcov-capture.info' );
1007
        ToolsetGenerate( $final );
1016
        ToolsetGenerate( $final );
1008
        
1017
        
-
 
1018
        $io->PrtLn('.PHONY: postprocess_tests' );
-
 
1019
        $io->PrtLn('postprocess_tests:' );
1009
        $io->PrtLn("\t" . '$(eval GCDA_COUNT := $(shell find $(OBJDIR) -name "*.gcda"))');
1020
        $io->PrtLn("\t" . '$(eval GCDA_COUNT := $(shell find $(OBJDIR) -name "*.gcda"))');
1010
        
1021
        
1011
        $io->PrtLn  ("\t" . '$(XX_PRE)$(mkdir) -p ' . $finaldir);
1022
        $io->PrtLn  ("\t" . '$(XX_PRE)$(mkdir) -p ' . $finaldir);
1012
        $io->PrtPart("\t" . '$(XX_PRE)if [ "$(GCDA_COUNT)" = "" ]; then');
1023
        $io->PrtPart("\t" . '$(XX_PRE)if [ "$(GCDA_COUNT)" = "" ]; then');
1013
        $io->PrtPart("\t\t" . 'if [ ! -e ' . $final . " ]; then");
1024
        $io->PrtPart("\t\t" . 'if [ ! -e ' . $final . " ]; then");
Line 1074... Line 1085...
1074
        my $final=$finaldir . '/lcov-final.info';
1085
        my $final=$finaldir . '/lcov-final.info';
1075
        
1086
        
1076
        my $reportdir='$(PKGDIR)/lcov/$(GBE_PLATFORM)$(GBE_TYPE)';
1087
        my $reportdir='$(PKGDIR)/lcov/$(GBE_PLATFORM)$(GBE_TYPE)';
1077
        my $reportindex=$reportdir . '/index.html';
1088
        my $reportindex=$reportdir . '/index.html';
1078
        
1089
        
-
 
1090
        $io->PrtLn('.PHONY: collate_test_results' );
1079
        $io->PrtLn('collate_test_results: ' . $reportindex);
1091
        $io->PrtLn('collate_test_results: ' . $reportindex);
1080
        $io->Newline();
1092
        $io->Newline();
1081
        $io->PrtLn($reportindex . ': ' . $final);
1093
        $io->PrtLn($reportindex . ': ' . $final);
1082
        $io->PrtLn("\t" . 'genhtml'
1094
        $io->PrtLn("\t" . 'genhtml'
1083
                      . ' --frames'
1095
                      . ' --frames'