r22259 - gnucash/trunk/test-templates - Fix make-testfile to count references in UI files
John Ralls
jralls at code.gnucash.org
Mon Jul 2 17:24:07 EDT 2012
Author: jralls
Date: 2012-07-02 17:24:07 -0400 (Mon, 02 Jul 2012)
New Revision: 22259
Trac: http://svn.gnucash.org/trac/changeset/22259
Modified:
gnucash/trunk/test-templates/make-testfile
Log:
Fix make-testfile to count references in UI files
Some functions may be called only by callback reference in a GtkBuilder
XML file (*.glade, *.xml, or *.ui). Indicate that usage in the test-file
function summary.
Modified: gnucash/trunk/test-templates/make-testfile
===================================================================
--- gnucash/trunk/test-templates/make-testfile 2012-07-02 18:16:13 UTC (rev 22258)
+++ gnucash/trunk/test-templates/make-testfile 2012-07-02 21:24:07 UTC (rev 22259)
@@ -117,6 +117,19 @@
return ($calls, $files);
}
+sub search_glade {
+ my ($name) = @_;
+ my $calls = `egrep -r $name --include="*.glade" --include=*.xml" --include=*.ui" src | wc -l`;
+ chomp $calls;
+ $calls =~ s/\s//g;
+ my $files = `egrep -rl $name --include="*.glade" --include=*.xml" --include=*.ui" src | wc -l`;
+ chomp $files;
+ $files =~ s/\s//g;
+
+ return ($calls, $files);
+}
+
+
sub search_local {
my ($name, $inpath) = @_;
open INFILE, "<$inpath" or die "Failed to open $inpath: $!";
@@ -147,7 +160,7 @@
sub process_function {
my ($c_name, $static, $func, $inpath) = @_;
- my ($ext_calls, $ext_files, $scm_calls, $scm_files, $not_used);
+ my ($ext_calls, $ext_files, $scm_calls, $scm_files, $ui_calls, $ui_files, $not_used);
my $gobject_re = qr/_(?:init|constructor|dispose|finalize|[sg]et_property)$/;
if ($c_name =~ /$gobject_re/) {
print OUTFH "/* $c_name\n";
@@ -158,9 +171,10 @@
unless ($static) {
($ext_calls, $ext_files) = search_external($c_name, $inpath);
($scm_calls, $scm_files) = search_scheme($c_name);
+ ($ui_calls, $ui_files) = search_glade($c_name);
}
my ($local_calls, $local_callbacks, $local_refs) = search_local($c_name, $inpath);
- unless ($ext_calls || $scm_calls) {
+ unless ($ext_calls || $scm_calls || $ui_calls) {
my $local_use = $local_calls + $local_callbacks + $local_refs;
print OUTFH "// Make Static\n" if !$static && $local_use > 1;
unless ($local_use) {
@@ -175,11 +189,13 @@
print OUTFH "/* $c_name\n";
print OUTFH join("\n", @$func);
print OUTFH "// ";
- print OUTFH "External: 0\n" if $ext_calls + $scm_calls == 0;
+ print OUTFH "External: 0\n" if $ext_calls + $scm_calls + $ui_calls == 0;
print OUTFH "C: $ext_calls " if $ext_calls > 0;
print OUTFH "in $ext_files " if $ext_calls > 1;
print OUTFH "SCM: $scm_calls " if $scm_calls > 0;
print OUTFH "in $scm_files" if $scm_calls > 1;
+ print OUTFH "UI: $ui_calls " if $ui_calls > 0;
+ print OUTFH "in $ui_files" if $ui_calls > 1;
print OUTFH " Local: $local_calls:$local_callbacks:$local_refs\n";
print OUTFH "*/\n";
}
More information about the gnucash-changes
mailing list