Spec: less errors.

toying-with-ramdb
Philippe PITTOLI 2024-05-09 00:03:34 +02:00
parent b3e416da8d
commit c88e738332
1 changed files with 8 additions and 5 deletions

View File

@ -4,6 +4,9 @@ require "file_utils"
require "../src/dodb.cr" require "../src/dodb.cr"
require "./test-data.cr" require "./test-data.cr"
def fork_process(&)
Process.new Crystal::System::Process.fork { yield }
end
class DODB::SpecDataBase < DODB::DataBase(Ship) class DODB::SpecDataBase < DODB::DataBase(Ship)
def initialize(storage_ext = "", remove_previous_data = true) def initialize(storage_ext = "", remove_previous_data = true)
@ -223,7 +226,7 @@ describe "DODB::DataBase" do
}.should be_true }.should be_true
end end
db_ships_by_class.get("does-not-exist").should eq [] of Ship db_ships_by_class.get?("does-not-exist").should eq nil
end end
it "removes select elements from partitions" do it "removes select elements from partitions" do
@ -409,7 +412,7 @@ describe "DODB::DataBase" do
processes = [] of Process processes = [] of Process
fork_count.times do |fork_id| fork_count.times do |fork_id|
processes << Process.fork do processes << fork_process do
entries_per_fork.times do |entry_id| entries_per_fork.times do |entry_id|
db << Ship.new("entry-#{fork_id}-#{entry_id}", "???") db << Ship.new("entry-#{fork_id}-#{entry_id}", "???")
end end
@ -430,7 +433,7 @@ describe "DODB::DataBase" do
# First pass, creating data. # First pass, creating data.
processes = [] of Process processes = [] of Process
fork_count.times do |fork_id| fork_count.times do |fork_id|
processes << Process.fork do processes << fork_process do
entries_per_fork.times do |entry_id| entries_per_fork.times do |entry_id|
db << Ship.new("entry-#{fork_id}-#{entry_id}", "???") db << Ship.new("entry-#{fork_id}-#{entry_id}", "???")
end end
@ -441,7 +444,7 @@ describe "DODB::DataBase" do
# Second pass, updating data. # Second pass, updating data.
processes = [] of Process processes = [] of Process
fork_count.times do |fork_id| fork_count.times do |fork_id|
processes << Process.fork do processes << fork_process do
entries_per_fork.times do |entry_id| entries_per_fork.times do |entry_id|
db_entries_by_name.update Ship.new("entry-#{fork_id}-#{entry_id}", "???", tags: ["updated"]) db_entries_by_name.update Ship.new("entry-#{fork_id}-#{entry_id}", "???", tags: ["updated"])
end end
@ -471,7 +474,7 @@ describe "DODB::DataBase" do
processes = [] of Process processes = [] of Process
fork_count.times do |fork_id| fork_count.times do |fork_id|
processes << Process.fork do processes << fork_process do
entries_per_fork.times do |entry_id| entries_per_fork.times do |entry_id|
db_entries_by_name.safe_get "test" do |entry| db_entries_by_name.safe_get "test" do |entry|
entry.klass = (entry.klass.to_i + 1).to_s entry.klass = (entry.klass.to_i + 1).to_s