Committed.
In my tests with FireBird 2.5 on Linux, I got 10 errors [1]. Which IMO is a pretty decent score. BTW, here is a provisioning script that I am using with vagrant to setup FireBird on Ubuntu 12 VM - [2]
[1] Tests in error:
testAddAndDropColumnToDb(org.apache.cayenne.merge.MergerFactoryTest)
testChangeVarcharSizeToDb(org.apache.cayenne.merge.MergerFactoryTest)
testMultipleTokensToDb(org.apache.cayenne.merge.MergerFactoryTest)
testAddTableToDb(org.apache.cayenne.merge.MergerFactoryTest)
testAddForeignKeyWithTable(org.apache.cayenne.merge.MergerFactoryTest)
testAddForeignKeyAfterTable(org.apache.cayenne.merge.MergerFactoryTest)
test(org.apache.cayenne.merge.SetNotNullToDbTest)
testMerging(org.apache.cayenne.util.EntityMergeSupportTest)
testSortObjectsForEntityReflexiveWithFaults(org.apache.cayenne.ashwood.AshwoodEntitySorterTest)
testSelectLongIn(org.apache.cayenne.query.SelectQueryTest)
Tests run: 2179, Failures: 0, Errors: 10, Skipped: 0
[2] #!/bin/bash
apt-get -y install firebird2.5-super
perl -i -ne 's/ENABLE_FIREBIRD_SERVER=no/ENABLE_FIREBIRD_SERVER=yes/; print' /etc/default/firebird2.5
service firebird2.5-super start
echo "create database '/tmp/cayenne.fdb' user 'SYSDBA' password 'masterkey';" | isql-fb
File firebird1.patch adds Firebird adapter files, binds it with cayenne and adds configuration for unit tests.
File tests_firebird.patch changes few test cases to avoid platform specyfic errors