Rename db0.c to db1.c, resurrect db2.c (from db3.c).
[platform/upstream/rpm.git] / perl / test.pl
1 # Before `make install' is performed this script should be runnable with
2 # `make test'. After `make install' it should work as `perl test.pl'
3
4 ######################### We start with some black magic to print on failure.
5
6 # Change 1..1 below to 1..last_test_to_print .
7 # (It may become useful if the test is moved to ./t subdirectory.)
8
9 BEGIN { $| = 1; print "1..6\n"; }
10 END {print "not ok 1\n" unless $loaded;}
11 use rpm;
12 $loaded = 1;
13 print "ok 1\n";
14
15 ######################### End of black magic.
16
17 # Insert your test code below (better if it prints "ok 13"
18 # (correspondingly "not ok 13") depending on the success of chunk 13
19 # of the test code):
20
21 my $valid_package = "foo.i386.rpm";
22
23 # we should be able to open a valid file
24 print rpm::Header($valid_package) ? "ok 2" : "not ok 2", "\n";
25
26 # we should not be able to read stuff from an invalid file
27 print rpm::Header("this is not a valid package") ? "not ok 3" : "ok 3", "\n";
28
29 # in the test file we have there are exactly 42 headers
30 print scalar rpm::Header($valid_package)->Tags() == 42 ? "ok 4" : "not ok 4", "\n";
31
32 # there are exactly 4 files in the package
33 print scalar rpm::Header($valid_package)->ItemByName('Filenames') == 4 ? "ok 5" : "not ok 5", "\n";
34
35 # item 1000 should be the name of the package
36 print scalar rpm::Header($valid_package)->ItemByVal(1000) eq "xemacs-extras" ? "ok 6" : "not ok 6", "\n";
37