test/BackupRestoreTest.rb in rubyfb-0.5.7 vs test/BackupRestoreTest.rb in rubyfb-0.5.8

- old
+ new

@@ -6,25 +6,32 @@ require 'rubyfb' include Rubyfb class BackupRestoreTest < Test::Unit::TestCase - CURDIR = "#{Dir.getwd}" - DB_FILE = "#{CURDIR}#{File::SEPARATOR}backup_restore_unit_test.fdb" - BACKUP_FILE = "#{CURDIR}#{File::SEPARATOR}database.bak" + DB_FILE = File.join(DB_DIR, "backup_restore_unit_test.fdb") + BACKUP_FILE = File.join(DB_DIR, "database.bak") - def setup - puts "#{self.class.name} started." if TEST_LOGGING - # Remove existing database files. - if File.exist?(DB_FILE) - db = Database.new(DB_FILE).drop(DB_USER_NAME, DB_PASSWORD) - end + def cleanup + # Remove existing database files. + if File.exist?(DB_FILE) + db = Database.new(DB_FILE).drop(DB_USER_NAME, DB_PASSWORD) + end - if File.exist?(BACKUP_FILE) - File.delete(BACKUP_FILE) + if File.exist?(BACKUP_FILE) + begin + File.delete(BACKUP_FILE) + rescue + # ignore file permissions may cause this end + end + end + def setup + puts "#{self.class.name} started." if TEST_LOGGING + cleanup + # Create and populate the database files. @database = Database.create(DB_FILE, DB_USER_NAME, DB_PASSWORD) @database.connect(DB_USER_NAME, DB_PASSWORD) do |cxn| cxn.execute_immediate('create table test(id integer)') cxn.execute_immediate('insert into test values (1000)') @@ -33,20 +40,13 @@ cxn.execute_immediate('insert into test values (3000)') cxn.execute_immediate('insert into test values (4000)') end end - def teardown - # Remove existing database files. - if File.exist?(DB_FILE) - db = Database.new(DB_FILE).drop(DB_USER_NAME, DB_PASSWORD) - end - - if File.exist?(BACKUP_FILE) - File.delete(BACKUP_FILE) - end - puts "#{self.class.name} finished." if TEST_LOGGING - end + def teardown + cleanup + puts "#{self.class.name} finished." if TEST_LOGGING + end def test01 sm = ServiceManager.new('localhost') sm.connect(DB_USER_NAME, DB_PASSWORD)