Now we are going to do some serious multi user testing. Having introduced transactions and complex locking to Database abstraction with google apps script in Working with transactions, testing all that in a multi user environment was always going to be tough. Using the lessons learned in Simulating multiuser testing, here’s how.
The tests
I’m adding new backends to the test as I complete their implementation of transactions., locking and rollbacks. The test will run serveral of instances of the same back end along side others. The objective is to make sure there is no leakage of locking across or between backends and that cache voiding and so on were working in this complex environment.
Here are the profiles.
Most of this is recycled from previous posts, so I won’t repeat the details of the profile functions. Here they are all put together though.

And the results

The tests

These are the standard tests I use against all databases, except now I’ve updated them to include transactions
 

For more snippets like this see Google Apps Scripts snippets