Added sh script to run a test
authorAdam Dickmeiss <adam@indexdata.dk>
Thu, 9 Sep 2004 14:12:10 +0000 (14:12 +0000)
committerAdam Dickmeiss <adam@indexdata.dk>
Thu, 9 Sep 2004 14:12:10 +0000 (14:12 +0000)
perl/lib/IDZebra.pm
perl/lib/IDZebra/Session.pm
perl/runtest.sh [new file with mode: 0755]
perl/t/03_record_update.t

index 7528315..1d2afaf 100644 (file)
@@ -88,7 +88,6 @@ package IDZebra;
 *records_retrieve = *IDZebrac::records_retrieve;
 *record_retrieve = *IDZebrac::record_retrieve;
 *deleteResultSet = *IDZebrac::deleteResultSet;
-*resultSetTerms = *IDZebrac::resultSetTerms;
 *sort = *IDZebrac::sort;
 *scan_PQF = *IDZebrac::scan_PQF;
 *getScanEntry = *IDZebrac::getScanEntry;
index 744ab6a..16fb101 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: Session.pm,v 1.20 2004-07-28 08:15:46 adam Exp $
+# $Id: Session.pm,v 1.21 2004-09-09 14:12:10 adam Exp $
 # 
 # Zebra perl API header
 # =============================================================================
@@ -16,7 +16,7 @@ BEGIN {
     use IDZebra::ScanList;
     use IDZebra::RetrievalRecord;
     require Exporter;
-    our $VERSION = do { my @r = (q$Revision: 1.20 $ =~ /\d+/g); sprintf "%d."."%02d" x $#r, @r }; 
+    our $VERSION = do { my @r = (q$Revision: 1.21 $ =~ /\d+/g); sprintf "%d."."%02d" x $#r, @r }; 
     our @ISA = qw(IDZebra::Logger Exporter);
     our @EXPORT = qw (TRANS_RW TRANS_RO);
 }
@@ -482,8 +482,8 @@ sub insert_record {
     my @args = $self->_record_update_args(%args);
     my $stat = IDZebra::insert_record($self->{zh}, @args);
     # ADAM: rg no longer part of vector
-    my $sysno = $args[1]; $stat = -1 * $stat if ($stat > 0);
-    return $stat ? $stat : $$sysno;
+    print STDERR "\nsub insert_record stat=$stat sys=${$args[1]}\n";
+    return $stat;
 }
 
 sub update_record {
@@ -507,8 +507,8 @@ sub delete_record {
 
 sub _record_update_args {
     my ($self, %args) = @_;
-
-    my $sysno   = $args{sysno}      ? $args{sysno}      : 0;
+    my $dummysysno=0;
+    my $sysno   = $args{sysno}      ? $args{sysno}      : \$dummysysno;
     my $match   = $args{match}      ? $args{match}      : "";
     my $rectype = $args{recordType} ? $args{recordType} : "";
     my $fname   = $args{file}       ? $args{file}       : "<no file>";
@@ -556,7 +556,7 @@ sub _record_update_args {
     }
 
     # ADAM: rg no longer part of vector..
-    return ($rectype, \$sysno, $match, $fname, $buff, $len, $force);
+    return ($rectype, $sysno, $match, $fname, $buff, $len, $force);
 }
 
 # -----------------------------------------------------------------------------
diff --git a/perl/runtest.sh b/perl/runtest.sh
new file mode 100755 (executable)
index 0000000..6951e11
--- /dev/null
@@ -0,0 +1,2 @@
+#!/bin/sh
+PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0,'blib/lib', 'blib/arch')" $*
index 9742fc7..04600da 100644 (file)
@@ -1,6 +1,6 @@
 #!perl
 # =============================================================================
-# $Id: 03_record_update.t,v 1.7 2004-07-28 08:15:47 adam Exp $
+# $Id: 03_record_update.t,v 1.8 2004-09-09 14:12:10 adam Exp $
 #
 # Perl API header
 # =============================================================================
@@ -42,105 +42,36 @@ my $rec3=`cat lib/IDZebra/Session.pm`;
 
 my ($sysno, $stat);
 
+$sess->init;
+
 # ADAM: we must set database separately (can't be set from group)
 $sess->databases('demo1');
-$sess->begin_trans;
-$sysno = $sess->update_record(data       => $rec1,
-                             recordType => 'grs.perl.pod',
-                             groupName  => "demo1",
-                             );
-$stat = $sess->end_trans;
-ok(($stat->{updated} == 1), "Updated 1 records");
-
-$sess->begin_trans;
-$sysno = $sess->delete_record(data       => $rec2,
-                             recordType => 'grs.perl.pod',
-                             groupName  => "demo1",
-                             );
-$stat = $sess->end_trans;
-ok(($stat->{deleted} == 1), "Deleted 1 records");
-
-$sess->begin_trans;
-$sysno = $sess->insert_record(data       => $rec2,
-                             recordType => 'grs.perl.pod',
-                             groupName  => "demo1",
-                             );
-$stat = $sess->end_trans;
-ok(($stat->{inserted} == 1), "Inserted 1 records");
-ok(($sysno > 0),"Inserted record got valid sysno");
 
 $sess->begin_trans;
-$sysno = $sess->insert_record(data       => $rec2,
+my $ret = $sess->insert_record(data       => $rec1,
                              recordType => 'grs.perl.pod',
                              groupName  => "demo1",
                              );
-$stat = $sess->end_trans;
-ok(($stat->{inserted} == 0), "Inserted 0 records");
-ok(($stat->{updated} == 0), "Updated 0 records");
-ok(($sysno < 0),"Inserted record got invalid sysno");
-
 
-$sess->begin_trans;
-my $sysno1 = $sess->update_record(data       => $rec2,
-                                 recordType => 'grs.perl.pod',
-                                 groupName  => "demo1",
-                                 );
+print STDERR "\nAfter first insert_record. ret=$ret\n";
 
-my $sysno2 = $sess->update_record(data       => $rec2,
-                                 recordType => 'grs.perl.pod',
-                                 groupName  => "demo1",
-                                 );
-
-$stat = $sess->end_trans;
-ok(($stat->{inserted} == 0), "Inserted 0 records");
-ok(($stat->{updated} == 1), "Updated $stat->{updated} records");
-ok(($sysno1 > 0),"Updated record got valid sysno");
-ok(($sysno2 < 0),"Unupdated record got invalid sysno");
+ok(($ret == 0),"Must return ret=0 (OK)");
 
-$sess->begin_trans;
-$sysno = $sess->delete_record(data       => $rec3,
-                             recordType => 'grs.perl.pod',
-                             groupName  => "demo1",
-                             );
 $stat = $sess->end_trans;
-
+ok(($stat->{inserted} == 1), "Inserted 1 records");
+die;
 
 $sess->begin_trans;
-$sysno = $sess->update_record(data       => $rec2,
+$sysno=-42;
+$ret = $sess->insert_record(data       => $rec2,
                              recordType => 'grs.perl.pod',
                              groupName  => "demo1",
+                             sysno => \$sysno,
                              );
-
-foreach my $i (1..100) {
-    $sysno = $sess->update_record(data       => $rec2,
-                                 recordType => 'grs.perl.pod',
-                                 groupName  => "demo1",
-                                 force      => 1,
-                                 );
-}
-foreach my $i (1..10) {
-    $sysno = $sess->update_record(data       => $rec3,
-                                 recordType => 'grs.perl.pod',
-                                 groupName  => "demo1",
-                                 force      => 1,
-                                 );
-}
-foreach my $i (1..10) {
-    $sysno = $sess->update_record(data       => $rec2,
-                                 recordType => 'grs.perl.pod',
-                                 groupName  => "demo1",
-                                 force      => 1,
-                                 );
-}
-
+ok(($ret == 0 && $sysno != 42),"Inserted record got valid sysno");
 
 $stat = $sess->end_trans;
-ok(($stat->{inserted} == 1), "Inserted $stat->{inserted} records");
-ok(($stat->{updated} == 120), "Updated $stat->{updated} records");
-ok(($sysno > 0),"Inserted got valid sysno");
-
-# ----------------------------------------------------------------------------
-# Close session
+ok(($stat->{inserted} == 1), "Inserted 1 records");
 
 $sess->commit;
 $sess->close;