mogstored: fix kqueue usage with daemonization
[MogileFS-Server.git] / t / checksum.t
blob9703c62a1f5b18a9fe529608cc4d54642b08b014
1 # -*-perl-*-
3 use strict;
4 use warnings;
5 use Test::More;
7 use MogileFS::Server;
8 use MogileFS::Util qw(error_code);
9 use MogileFS::Test;
10 use MogileFS::Checksum;
11 use Digest::MD5 qw(md5 md5_hex);
13 my $sto = eval { temp_store(); };
14 if (!$sto) {
15     plan skip_all => "Can't create temporary test database: $@";
16     exit 0;
19 $sto->set_checksum(6, 1, md5("asdf"));
20 my $hash = $sto->get_checksum(6);
21 my $csum = MogileFS::Checksum->new($hash);
22 is(md5_hex("asdf"), $csum->hexdigest);
23 is("MD5", $csum->hashname);
25 my $zero = "MD5:d41d8cd98f00b204e9800998ecf8427e";
26 $csum = MogileFS::Checksum->from_string(6, $zero);
27 is("MogileFS::Checksum", ref($csum), "is a ref");
28 is("d41d8cd98f00b204e9800998ecf8427e", $csum->hexdigest, "hex matches");
29 is(1, $csum->save, "save successfully");
30 $hash = $sto->get_checksum(6);
31 my $reloaded = MogileFS::Checksum->new($hash);
32 is("d41d8cd98f00b204e9800998ecf8427e", $reloaded->hexdigest, "hex matches");
33 my $fid_checksum = MogileFS::FID->new(6)->checksum;
34 is_deeply($fid_checksum, $csum, "MogileFS::FID->checksum works");
36 done_testing();