Commit Graph

438 Commits

Author SHA1 Message Date
Brian Carlson
3500154d2a writer's buffer resize no longer dies when item byteLength > 2x buffer length 2011-01-14 14:52:16 -06:00
Brian Carlson
25398def4d no longer ignore millisecond integration test 2011-01-10 16:26:48 -06:00
Darwin
7fcfbd8bb0 . 2011-01-08 16:41:48 +01:00
Darwin
a811fcd069 test showing bug... 2011-01-08 16:34:47 +01:00
brianc
eb3e4ca3ab writer#addString 2011-01-01 12:36:26 -06:00
brianc
99086cf4bf Writer#flush 2011-01-01 11:51:33 -06:00
brianc
905207dff8 failing test for 'clear' 2011-01-01 11:32:59 -06:00
brianc
6f37062a11 remove duplicate class definition in test file 2011-01-01 11:31:53 -06:00
brianc
c724ea276d ElasticBuffer now has same public interface as old Writer 2010-12-29 20:51:18 -06:00
brianc
dd1e291ef3 resize internal buffer on cstring 2010-12-29 20:33:36 -06:00
brianc
ee35bd8a78 cstring adding 2010-12-29 20:30:49 -06:00
brianc
e93cb644e8 starting working on faster buffer writer 2010-12-29 20:27:58 -06:00
brianc
51d922f3e1 a connection string without all settings no longer causes client
constructor to throw error
2010-12-28 10:44:33 -06:00
brianc
28bbbf9087 modified connection info for invalid connection test to use localhost
in order to avoid long timeouts in dns
2010-12-24 20:01:11 -06:00
brianc
7dc89cec04 made integration tests die faster when they cannot connect to the database 2010-12-19 15:12:51 -06:00
brianc
c0f37e1468 don't print out args on every test run 2010-12-19 14:52:26 -06:00
brianc
eec75ea871 die on client/query errors in integration tests 2010-12-19 14:49:14 -06:00
brianc
49f5da8f02 make the test name printing an option via the "verbose" command line argument 2010-12-19 14:46:43 -06:00
brianc
ac92b4a8e6 Merge branch 'master' of https://github.com/JulianBirch/node-postgres into JulianBirch-master 2010-12-19 14:16:33 -06:00
Julian Birch
721cf56eb3 Rows are now associative arrays rather than straight arrays. 2010-12-19 09:41:11 +00:00
brianc
4bda436b2b added test for transactions 2010-12-18 14:50:30 -06:00
Brian Carlson
9281ff9860 failing test for query errors not being trapped in callback 2010-12-16 23:48:58 -06:00
Brian Carlson
f89e9c4bb0 made require statement work with older versions of node 2010-12-14 19:57:26 -06:00
Brian Carlson
26b28a7565 added test for ending multiple connection pools at once 2010-12-14 19:30:32 -06:00
Brian Carlson
fb463923d8 test refactoring 2010-12-14 19:23:01 -06:00
Brian Carlson
af997d914b refactored test execution to use makefile
integration tests all running in the same process were stepping on eachother. each test file is now run within its own node process
2010-12-14 18:50:18 -06:00
Brian Carlson
a23be1d085 remove empty row tests 2010-12-13 18:25:08 -06:00
Brian Carlson
b3e56afea2 initial working connection pool implementation & tests 2010-12-13 17:21:40 -06:00
Brian Carlson
618c268788 pass sink up the chain 2010-12-13 17:21:09 -06:00
Brian Carlson
70f8b998d8 added sink object for testing async long running query pool 2010-12-13 17:20:51 -06:00
Darwin
8ba010b0fe fixed bug related to parseInt bug, leading 0 is interpreated in a fucked upp way 2010-12-11 12:07:05 +01:00
Brian Carlson
ab13d0c1eb initial crack at connection pooling -- still dirty 2010-12-10 17:32:34 -06:00
Brian Carlson
0d03db5d28 added assert.isNull 2010-12-09 20:53:59 -06:00
Brian Carlson
10a244ae4c made timeout lenght of assert.calls configurable and made tests die
sooner on error
2010-12-09 20:50:19 -06:00
Brian Carlson
169c6dc3ce Pool object for use in connection pooling 2010-12-09 18:10:42 -06:00
Brian Carlson
d4ac9b4024 make 'assert.calls' short circuit on function call 2010-12-02 17:48:39 -06:00
Brian Carlson
f0291d30d7 nested query and streamlined api working 2010-12-02 17:47:54 -06:00
Brian Carlson
9447b78e9f added quick assertion helper to check for callbacks being executed 2010-12-02 14:43:17 -06:00
Brian Carlson
8d7ff353af fix to allow executing queries within the callback function of another query.
there was a timing issue with emiting the drain event
2010-11-21 23:30:10 -06:00
Brian Carlson
de5438e6f5 started working on specifying defaults 2010-11-20 14:09:18 -06:00
Brian Carlson
2fd220d8e2 fix to make connection error reporting more robust in test 2010-11-17 13:13:27 -06:00
Brian Carlson
f7d990068f more integration tests for new api 2010-11-15 01:12:29 -06:00
Brian Carlson
0bde640bab overloaded "simple" query api to provide callback enabled prepared statement 2010-11-15 00:42:38 -06:00
Brian Carlson
91aac6d350 initial callback api integration underway 2010-11-15 00:10:21 -06:00
Brian Carlson
f8096cbe55 initial work on streamlined client interface 2010-11-14 23:04:41 -06:00
Brian Carlson
78c4ca832c test for row count > result count in cursor row limit 2010-11-14 17:56:18 -06:00
Brian Carlson
ebf5c5c4ed support for limiting number of rows returned at a time from a cursor 2010-11-14 17:53:49 -06:00
Brian Carlson
e61ec5dfed unit test for portal suspended 2010-11-14 17:44:36 -06:00
Brian Carlson
6585f85d03 query object now emits query related errors, client object no longer
emits query related errors
2010-11-14 16:50:38 -06:00
brianc
d77fd0ee65 ability to init connection with url instead of config object 2010-11-10 21:45:39 -06:00
brianc
aa975af83d don't output parsed cli commands when running test 2010-11-10 20:52:44 -06:00
brianc
95ee9e645c query now returns named records in rows 2010-11-04 00:21:29 -05:00
brianc
b9387dfda5 added more robust multiple query result tests 2010-11-03 23:16:58 -05:00
brianc
dbc84f69f0 changed integration test to depend on row array methods for
future-proofing any accidental api change
2010-11-03 23:08:14 -05:00
brianc
2efe451ee6 added Row object instead of returning raw dataRow object w/ coerced types 2010-11-03 23:06:07 -05:00
brianc
8ec671a67c added test & fix for missing 'sys' require in query.js 2010-11-03 16:47:26 -05:00
brianc
1b9ccf97e9 reduced number of flush messages during prepared statement, 2x performance 2010-11-02 03:29:11 -05:00
brianc
aa53908e88 updating tests to use fewer connections and up timeout for slower machines 2010-11-02 18:15:41 -05:00
brianc
381598d3c0 date type coercion works in both directions 2010-11-02 00:50:42 -05:00
brianc
6841178ca2 modified tests to correctly check for adjusted utc values 2010-11-02 00:23:39 -05:00
brianc
0c777fafec fix for strang \0 buffer encoding issue in node v0.3.0 2010-11-01 22:11:40 -04:00
brianc
2ce2277bcf updated type coercion test execution order to not fail due to slow query perf timeouts 2010-11-01 20:38:22 -04:00
brianc
07010389ff basic (ugly) date type coercion tests 2010-11-01 00:27:06 -05:00
brianc
074779b5ff initial work on dates 2010-11-01 00:27:05 -05:00
brianc
0d2d6b5107 Moved buffer list to test directory and replaced w/ slightly cleaner
"writer" for use in the library code.  BufferList was always supposed
to be a test helper and the api is trash
2010-10-31 18:21:37 -05:00
brianc
75da13a4b9 removed id from connection messages (simplify API) 2010-10-31 17:30:35 -05:00
brianc
6eea7b3c4f added unit test for connection propagating stream errors 2010-10-31 14:49:49 -05:00
brianc
d2079478da change name of assert.raises to assert.emits 2010-10-31 14:43:10 -05:00
brianc
405fbbec12 nulls supported in all currently supported type coercions 2010-10-30 21:10:26 -05:00
brianc
a928453d69 integration tests for parsing types, failing on nulls 2010-10-30 21:10:26 -05:00
brianc
df2533e9a3 adding begining of better testing of types 2010-10-30 21:10:26 -05:00
bmc
01161c2d80 todo note about possibly handling commandComplete message tags 2010-10-29 21:50:13 -04:00
bmc
cafded964e support for 'emptyQuery' command 2010-10-29 21:33:53 -04:00
bmc
adcadd5810 rename to correct typo in filename 2010-10-29 21:16:37 -04:00
bmc
e57e1809a3 no-data test passing 2010-10-29 21:16:05 -04:00
bmc
8108736b21 added more complicated simple query & used 'drain' event to disconnect 2010-10-29 21:10:49 -04:00
bmc
d0de1fc890 unrolled test nesting to better demonstrate async nature 2010-10-29 21:05:35 -04:00
bmc
577f48f824 added 'drain' event to client which fires after all pending queries
are done
2010-10-29 20:48:31 -04:00
brianc
d38a7f5ed7 added tests to support noData & extra query scenarios but currently
failing...ignoring for now
2010-10-29 00:46:08 -05:00
brianc
f63659cbc5 parsing noData message 2010-10-29 00:02:08 -05:00
brianc
da8026df9d prepared statements moved forward a good deal 2010-10-28 19:09:40 -05:00
brianc
0787df4f74 remove detailed logging from integration test 2010-10-28 01:04:55 -05:00
brianc
104727fd87 simple prepared statements working! 2010-10-28 00:50:45 -05:00
brianc
35d2b2e4ad removed renamed file (gooooo git!!) 2010-10-28 00:48:15 -05:00
brianc
f6f15322d7 ignore failing unit test for prepared statements until integration
tests are in place (integration tests helping me drive out the api in
a more natural way than unit testing on such a fine grained level)
2010-10-28 00:48:02 -05:00
brianc
c848a5ad92 added support for describe command 2010-10-28 00:27:08 -05:00
brianc
239a12fa1c file renames 2010-10-27 23:51:08 -05:00
brianc
2c6f85beb9 failing unit tests for extended query protocol (bound commands) 2010-10-27 16:50:26 -05:00
brianc
05ba85ae79 fix to pass correct 'mock' data in rowDescription event to now more
demanding client
2010-10-27 00:56:47 -05:00
brianc
f04ad8e64c boolean coercion 2010-10-27 00:31:34 -05:00
brianc
5a2ccd657c refactor of type parsing tests 2010-10-27 00:28:23 -05:00
brianc
86d5296fb0 parsing floats 2010-10-27 00:15:58 -05:00
brianc
368724d4f4 integer datatype coercion in result set 2010-10-26 23:57:36 -05:00
brianc
cb460e7aa2 moved test client helper into helper file 2010-10-26 21:47:18 -05:00
brianc
b5d02a995a basic test for client error handling 2010-10-26 08:51:12 -05:00
brianc
6699cccafe more asertions for simple query test 2010-10-26 08:47:05 -05:00
brianc
490bfdaebd slight refactor to client integration tests in prep for deeper testing effort 2010-10-26 08:31:58 -05:00
brianc
721a2e810e integration test refactoring 2010-10-25 17:43:55 -05:00
brianc
3e0c2e4809 automatically handle connection password from cli args 2010-10-25 17:25:44 -05:00
brianc
e9036d22aa support for password in cli arg parsing 2010-10-25 17:24:55 -05:00
brianc
c3f69a8be7 add end to client 2010-10-25 17:24:17 -05:00
brianc
bf6c1f6ec7 move test script under test directory. allow test type to be specified via argument 2010-10-25 15:25:51 -05:00
brianc
2a594b624d remove redundant auth tests and connect with command line arguments 2010-10-25 15:19:01 -05:00
brianc
e5bcdc4542 added integration tests for simple queries via the client api 2010-10-25 01:40:24 -05:00
brianc
ccc04cdd0b add cli parsing to all tests 2010-10-25 01:30:14 -05:00
brianc
80ee829ba0 testing out the query interface 2010-10-24 23:32:18 -05:00
brianc
6600bc603c better error message on timeout firing because event wasn't raised in assert.raises 2010-10-24 23:18:23 -05:00
brianc
59aed65b78 tests for simple query queue scenarios 2010-10-24 22:52:12 -05:00
brianc
d927e7e3f5 changed Connection#startupMessage to Connection#startup 2010-10-24 21:28:10 -05:00
brianc
e89aa9c84c changed Connection#passwordMessage to Connection#password 2010-10-24 21:26:18 -05:00
brianc
ec4078d508 renamed 'notificationResponse' to 'notification' for consistency 2010-10-24 14:45:07 -05:00
brianc
ee4a65b923 support for 'notice' messages 2010-10-24 14:43:25 -05:00
brianc
bcfbb535b8 full support for bind and execute 2010-10-24 13:46:50 -05:00
brianc
c176489348 add type IDs to parse command 2010-10-24 00:18:48 -05:00
brianc
1b56e708e9 integration test for notifications 2010-10-23 23:12:02 -05:00
brianc
09d8e5d1e7 renamed 'message' to 'payload' 2010-10-23 22:45:03 -05:00
brianc
16352f9156 parsing notificationResponse messages 2010-10-23 22:31:43 -05:00
brianc
4743195597 test refactoring 2010-10-23 22:07:00 -05:00
brianc
a5fba7515e modified callback nesting to ensure test is called after all setup is complete 2010-10-23 21:16:21 -05:00
brianc
3edb02aa67 big refactor, all tests passing 2010-10-23 20:26:24 -05:00
brianc
ed909cbc66 connection now handles ending 2010-10-23 19:28:57 -05:00
brianc
d156a2cb9a moved config tests 2010-10-23 19:24:48 -05:00
brianc
8559099678 removed redundant tests 2010-10-23 19:23:08 -05:00
brianc
9749ec4fdc md5 password authentication using connect 2010-10-23 19:21:01 -05:00
brianc
3662e6f4af clear password using connection 2010-10-23 19:02:13 -05:00
brianc
34a17fbac8 moved auth tests into client test section 2010-10-23 18:54:20 -05:00
brianc
b687581d0e test for parsing password request messages 2010-10-23 18:52:01 -05:00
brianc
697a967865 directory structure tweaking 2010-10-23 18:20:29 -05:00
brianc
ea165fef37 removed outstanding references to client 2010-10-23 18:08:03 -05:00
brianc
5fdf25c31d tests for separated connection 2010-10-23 17:36:04 -05:00
brianc
962380de88 renamed file 2010-10-23 16:35:20 -05:00
brianc
e61a04b0ae begin breaking out connection functionality from client functionality 2010-10-23 16:34:20 -05:00
brianc
057df36e2a simple bound queries 2010-10-23 16:21:11 -05:00
brianc
5650b02993 initial work on binding 2010-10-23 15:07:26 -05:00
brianc
95ec1b403c parsing of prepared queries with no parameters 2010-10-23 14:50:28 -05:00
brianc
380abbf6a6 start working on parsing 2010-10-23 14:22:47 -05:00
brianc
37bbb21bce collapsed query into client 2010-10-23 13:58:15 -05:00
brianc
cb7717b5b1 updated integration tests 2010-10-23 13:56:38 -05:00
brianc
dea4424e97 added failing test for munged protocol version bytes 2010-10-23 13:24:13 -05:00
brianc
790e5d8feb link to documentation 2010-10-23 12:50:59 -05:00
brianc
f9f7e0759d failing test for EventEmitter.once backwards compatibility 2010-10-23 12:42:01 -05:00
brianc
4213d528f0 starting tests for prepared queries 2010-10-23 12:33:26 -05:00
brianc
f0d225aa64 test failures show more 2010-10-23 12:30:55 -05:00
brianc
85c93d2af5 minor code cleanup in test helper 2010-10-23 00:52:16 -05:00
brianc
7be2ac1150 remove dead code 2010-10-23 00:50:11 -05:00
brianc
6d90a4c992 updated test runner 2010-10-23 00:49:27 -05:00
brianc
65dbfa43ec renamed Client#disconnect to Client#end 2010-10-22 18:28:10 -05:00
brianc
5b1f8aff3b supporting md5 password authentication 2010-10-22 18:16:40 -05:00
brianc
b2631cbb50 ignored md5 test 2010-10-20 00:41:35 -05:00
brianc
406e8a56a9 got basic password authentication working 2010-10-19 23:29:23 -05:00
brianc
f72f996705 failing test for password property in config 2010-10-19 23:26:25 -05:00
brianc
a4fa1f4614 fix helper method 2010-10-19 23:02:33 -05:00
brianc
ccce68b368 ignore failing type result tests for now 2010-10-19 22:58:44 -05:00
brianc
cb4ea65bc8 ability to ignore tests by returning false 2010-10-19 22:58:25 -05:00
brianc
52a0d0459d start to handle other auth messages 2010-10-19 22:55:26 -05:00
brianc
ec5f1b8831 failing date parsing 2010-10-18 23:35:51 -05:00
brianc
ae40a13daf time/timez parsing 2010-10-18 23:19:17 -05:00
brianc
a05ad762d2 added oid as integer type 2010-10-18 22:42:48 -05:00
brianc
503cd5c164 added todo for binary 2010-10-18 22:33:34 -05:00
brianc
967ec0f6bb parsing ints 2010-10-18 22:12:26 -05:00
brianc
ac13201891 added failing test for type-casting row results 2010-10-17 22:18:17 -05:00
brianc
c29d61f803 removed multi-column test data 2010-10-17 16:59:33 -05:00
bmc
1f63d84dee changing how buffers are written 2010-10-15 18:29:01 -04:00
brianc
8cb44e3cf3 substantial refactoring of the parser 2010-10-15 00:24:58 -05:00
brianc
81d097caf7 some test runner improvements 2010-10-14 00:06:09 -05:00
brianc
f662e3599c added more tests 2010-10-13 23:51:11 -05:00
brianc
851e928d38 got spliced packet tests passing 2010-10-13 23:29:20 -05:00
brianc
96cb1cc6c2 added failing test for buffers which are split due to tcp packet splitting 2010-10-12 22:20:40 -05:00
brianc
1786c73565 downcased first character of message names 2010-10-12 22:01:13 -05:00
brianc
2617560fc7 fix for null data row value 2010-10-10 23:38:08 -05:00
brianc
c8a02e19d1 failing test for null result in data row 2010-10-10 23:36:08 -05:00
brianc
cc82286741 writing null data row value fix 2010-10-10 23:35:59 -05:00
brianc
cf5bcaa140 working on integration test 2010-10-10 23:02:50 -05:00
brianc
ac95c74c66 code cleanup 2010-10-10 22:42:13 -05:00
brianc
97f7da083e updated test to throw entire error 2010-10-10 22:38:16 -05:00
brianc
390593ba1e removed redundant parser tests 2010-10-10 22:29:16 -05:00
brianc
5a8061bf5f unrolled loop 2010-10-10 19:09:24 -05:00
brianc
a45ee945d3 made script to execute all unit tests 2010-10-10 18:50:05 -05:00
brianc
82e66b936c moved unit tests into unit test folder 2010-10-10 18:26:13 -05:00
brianc
87fb4b9360 moved integration tests into sub folder 2010-10-10 18:25:47 -05:00
brianc
aa41feb5d9 fixed test so it expects & verifies cstring 2010-10-10 18:24:27 -05:00
brianc
3271b5b016 simple query works 2010-10-10 18:23:06 -05:00
brianc
e69b6faa82 added null terminator (c-string) to query 2010-10-10 18:20:24 -05:00
brianc
f9b5c7b03e parsing error 2010-10-10 18:15:16 -05:00
brianc
f0a272a78b fix always appending to front on add char 2010-10-10 18:10:26 -05:00
brianc
b4d1c67eb5 parsing the most simplistic error message 2010-10-10 17:48:27 -05:00
brianc
61ff6055b7 added 'addChar' method 2010-10-10 17:40:11 -05:00
brianc
94811981d6 added test for bad stream reference 2010-10-10 17:30:33 -05:00
brianc
98856f0e9c simple query scenario tested 2010-10-09 02:48:41 -05:00
brianc
d20e47f644 writes simple query 2010-10-08 23:17:09 -05:00
brianc
d0a98ce129 moved equalBuffers to test-helper 2010-10-08 23:15:47 -05:00
brianc
2fc0d1124a moved all buffers into external file 2010-10-08 23:10:13 -05:00
brianc
ad8b6b018c require bufferlist or it wont work buddy 2010-10-08 23:02:01 -05:00
brianc
5d006bc593 moved buffer list to it's own file 2010-10-08 23:00:37 -05:00
brianc
3925f6fbb0 passes initial query queue tests 2010-10-07 20:00:49 -05:00
brianc
3933be9e0d returning query from function 2010-10-07 19:38:27 -05:00
brianc
90bac87578 added assert.length 2010-10-07 19:35:21 -05:00
brianc
3768e43e15 moved more buffers into test buffer file 2010-10-06 21:39:52 -05:00
brianc
9c55891521 test tweaks 2010-10-06 21:34:51 -05:00
brianc
25fe2be510 adding external test buffers 2010-10-06 21:34:38 -05:00
brianc
e9d15d2146 added higher level tests for client 2010-10-06 20:54:33 -05:00
brianc
7864a59c84 moved stream to test helper file 2010-10-06 19:59:20 -05:00
brianc
a3a21c50e4 using passed in stream to client 2010-10-06 19:54:02 -05:00
brianc
4566a3563b added failing test for stream being passed into connection
this will allow testing of incoming and outgoing stream data without
resorting to monkey patching
2010-10-05 23:42:41 -05:00
brianc
0df4f6037c beginnings of actually TDDd query 2010-10-03 01:14:19 -05:00
brianc
891aacce54 connection tests w/ two clients 2010-10-03 01:08:04 -05:00
brianc
2acad1377c whitespace 2010-10-03 00:56:35 -05:00
brianc
730321dbd4 added connection/disconnection tests 2010-10-03 00:45:10 -05:00
brianc
02f23647a2 split out client tests into file 2010-10-03 00:27:16 -05:00
brianc
ab0076aa68 can read single data row of text 2010-10-01 01:02:52 -05:00
brianc
5cf151ad7a whitespace 2010-10-01 00:29:16 -05:00
brianc
961f3f1984 added failing test for reading empty row 2010-10-01 00:22:53 -05:00
brianc
8fe24a31a9 refactored tests 2010-10-01 00:19:44 -05:00
brianc
4ebbc8a023 tests changed to run locally 2010-10-01 00:11:38 -05:00
brianc
1286090ce1 added tests for parsing row definition messages of various lenghts 2010-09-30 23:13:50 -05:00
brianc
012d2a13f5 parsing a single row description 2010-09-30 22:48:50 -05:00
brianc
df88e11a14 refactored tests slightly, working on rowdescription parsing 2010-09-30 01:26:32 -05:00
brianc
1ef03e27a9 work on executing query 2010-09-29 02:46:44 -05:00
brianc
7478b74d9a refactored tests to use BufferList 2010-09-29 02:46:10 -05:00
brianc
bf03dbf3f8 BufferList.concat 2010-09-29 02:39:43 -05:00
brianc
871f529fea moved bufferlist to helper file 2010-09-29 02:28:23 -05:00
brianc
eb698f8619 added writer to clarify test intentions. not sure if i'm going to use
it in actual library
2010-09-29 02:27:37 -05:00
brianc
c68c365478 working on getting query to complete 2010-09-29 01:01:52 -05:00
brianc
6ba4575385 parser now parses all messages at once 2010-09-30 00:40:06 -05:00
brianc
7a5ea00995 more test refactoring 2010-09-30 00:36:07 -05:00
brianc
f541fea830 refactored test. added assertion macro 2010-09-30 00:32:44 -05:00
brianc
124bd0960e parsing of ready for query 2010-09-30 00:14:41 -05:00
brianc
c5b1d95ca0 changed auth 2010-09-29 23:52:57 -05:00
brianc
19099919f7 a bit of logging for testing purposes 2010-09-29 00:43:28 -05:00
brianc
2c9d26d7f6 refactored parser to be more stateful 2010-09-29 00:30:35 -05:00
brianc
9688d8947f added test for parsing CString 2010-09-29 00:20:10 -05:00
brianc
a921d6c144 made Parser non-static 2010-09-29 00:12:04 -05:00
brianc
a9a9f2e03a parsing of parameterstatus messsage 2010-09-29 00:08:53 -05:00
brianc
dc427a9923 use hex code in message buffer simulation 2010-09-28 23:34:10 -05:00
brianc
c73fa0dad2 whitespace 2010-09-28 23:32:00 -05:00
brianc
0ca7b93bb0 added test for parameterstatus message 2010-09-28 23:31:40 -05:00
brianc
52e53edf63 added little hex helper methods 2010-09-28 23:30:06 -05:00
brianc
18e6ec2121 totally thrashing at this point, but moving forward 2010-09-28 23:18:46 -05:00