summaryrefslogtreecommitdiff
path: root/regress/variable/diff.pl
diff options
context:
space:
mode:
authorfukachan <fukachan>2003-10-29 14:52:29 +0000
committerfukachan <fukachan>2003-10-29 14:52:29 +0000
commit208e5be9d3778864604ede272d25b9e8716dce06 (patch)
tree7fdc4dd7a6033e0e369aec41889eab236ef5ee10 /regress/variable/diff.pl
parenta4be7e05be0e499e5ff6f5646841b79be050bf21 (diff)
downloadfml8-208e5be9d3778864604ede272d25b9e8716dce06.tar.gz
fml8-208e5be9d3778864604ede272d25b9e8716dce06.tar.bz2
fml8-208e5be9d3778864604ede272d25b9e8716dce06.zip
check: run variable/diff.pl to check etc/src/ consistency.
Diffstat (limited to 'regress/variable/diff.pl')
-rwxr-xr-xregress/variable/diff.pl75
1 files changed, 75 insertions, 0 deletions
diff --git a/regress/variable/diff.pl b/regress/variable/diff.pl
new file mode 100755
index 00000000..ebf49f00
--- /dev/null
+++ b/regress/variable/diff.pl
@@ -0,0 +1,75 @@
+#!/usr/bin/env perl
+#
+# $FML$
+#
+
+use strict;
+use Carp;
+
+my $p = {};
+
+for my $lang (qw(ja en)) {
+ $p->{ $lang } = read_cf_in_dir($lang, "etc/src/config.cf.$lang");
+}
+
+var_compare("ja", "en", $p->{ ja }, $p->{ en } );
+var_compare("en", "ja", $p->{ en }, $p->{ ja } );
+
+exit 0;
+
+
+sub read_cf_in_dir
+{
+ my ($lang, $dir) = @_;
+ my $hash = {};
+
+ use DirHandle;
+ my $dh = new DirHandle $dir;
+ if (defined $dh) {
+ my $x;
+
+ ENTRY:
+ while ($x = $dh->read()) {
+ next ENTRY if $x =~ /^\./;
+ next ENTRY if $x =~ /^CVS/;
+ next ENTRY if $x !~ /\.cf$/;
+
+ use File::Spec;
+ my $f = File::Spec->catfile($dir, $x);
+ read_cf($hash, $f);
+ }
+ }
+
+ return $hash;
+}
+
+
+sub read_cf
+{
+ my ($x, $f) = @_;
+
+ use FileHandle;
+ my $fh = new FileHandle $f;
+ if (defined $fh) {
+ my $buf;
+
+ while ($buf = <$fh>) {
+ if ($buf =~ /^([\w\d_]+).*=/) {
+ $x->{ $1 } = 1;
+ }
+ }
+ $fh->close();
+ }
+}
+
+
+sub var_compare
+{
+ my ($tablename_x, $tablename_y, $x, $y) = @_;
+
+ for my $k (keys %$x) {
+ unless ($y->{ $k }) {
+ printf "%-5s %s\n", $tablename_y, "no $k";
+ }
+ }
+}