ruby-mdbx/spec/mdbx/stats_spec.rb

42 lines
1.1 KiB
Ruby
Raw Normal View History

#!/usr/bin/env rspec -cfd
# vim: set nosta noet ts=4 sw=4 ft=ruby:
require_relative '../lib/helper'
RSpec.describe( MDBX::Database ) do
let!( :db ) { described_class.open( TEST_DATABASE.to_s, max_readers: 500 ) }
let( :stats ) { db.statistics }
after( :each ) do
db.close
end
it "returns the configured max_readers" do
expect( stats.dig(:environment, :max_readers) ).to be >= 500
end
it "returns compile time flags and options" do
build = stats[ :build ]
expect( build.keys.size ).to be( 4 )
expect( build.keys ).to include( :compiler, :flags, :options, :target )
expect( build[:compiler] ).to be_a( String )
expect( build[:flags] ).to be_a( String )
expect( build[:target] ).to be_a( String )
expect( build[:options] ).to be_a( Hash )
end
it "returns readers in use" do
readers = stats[ :readers ]
expect( stats.dig(:environment, :readers_in_use) ).to eq( readers.size )
expect( readers.first[:pid] ).to eq( $$ )
end
it "returns datafile attributes" do
expect( stats.dig(:environment, :datafile, :type) ).to eq( "dynamic" )
end
end