Cleaned test scripts to be (nearly?) atomic
[idzebra-moved-to-github.git] / perl / t / 07_sort.CRASH.t
1 #!perl
2 # =============================================================================
3 # $Id: 07_sort.CRASH.t,v 1.1 2004-09-15 14:11:06 heikki Exp $
4 #
5 # Perl API header
6 # =============================================================================
7 BEGIN {
8     if ($ENV{PERL_CORE}) {
9         chdir 't' if -d 't';
10     }
11     push (@INC,'demo','blib/lib','blib/arch');
12 }
13
14 use strict;
15 use warnings;
16
17 use Test::More skip_all =>"sort into a new rset crashes due to rset_dup bug";
18 #use Test::More tests => 13;
19
20 # ----------------------------------------------------------------------------
21 # Session opening and closing
22 BEGIN {
23     use IDZebra;
24     unlink("test07.log");
25     IDZebra::logFile("test07.log");
26 #  IDZebra::logLevel(0x4F);
27 #  IDZebra::logLevel(15);
28     use_ok('IDZebra::Session'); 
29     use_ok('pod');
30 }
31
32
33 # ----------------------------------------------------------------------------
34 # Session opening and closing
35 my $sess = IDZebra::Session->open(configFile => 'demo/zebra.cfg',
36                                   groupName => 'demo2');
37 # ----------------------------------------------------------------------------
38 # Insert some test data
39 my $ret;
40 my $sysno;
41 my $F;
42 my $filecount=0;
43 $sess->init;
44 $sess->begin_trans;
45 $sess->databases('demo1', 'demo2');
46 $ret=$sess->end_trans;
47
48 $sess->begin_trans;
49 for $F (<lib/IDZebra/*.pm>)
50 {
51     ($ret,$sysno)=$sess->insert_record (file=>$F, recordType => 'grs.perl.pod');
52     ok( $ret==0, "inserted $F");
53     #print STDERR "Inserted $F ok. ret=$ret sys=$sysno\n";
54     $filecount++;
55 }
56 $ret=$sess->end_trans;
57 ok($filecount>0,"Inserted files");
58 is($ret->{inserted},$filecount, "Inserted all");
59
60
61 # -----------------------------------------------------------------------------
62 # Search 1 database, retrieve records, sort "titles" locally (dangerous!)
63
64 my $rs1 = $sess->search(cqlmap    => 'demo/cql.map',
65                         cql       => 'IDZebra',
66                         databases => [qw(demo1)]);
67 $rs1 = $rs1->sort('1=4 id');
68
69 # -----------------------------------------------------------------------------
70 # Sort descending, new rs
71
72 my $rs2 = $rs1->sort('1=4 id');
73
74 isa_ok ($rs2, 'IDZebra::Resultset');
75
76 # ----------------------------------------------------------------------------
77 # Close session
78 $sess->close;
79