yugabyte / yugabyte-db

YugabyteDB - the cloud native distributed SQL database for mission-critical applications.
https://www.yugabyte.com
Other
8.99k stars 1.07k forks source link

[YSQL] Add Jepsen-style libpq tests #1685

Open georgeklees opened 5 years ago

georgeklees commented 5 years ago

Jira Link: DB-2179 Right now, our C++ tests are done in a generic way by manually sending protobufs; see src/yb/client/serializable-txn-test.cc for instance. This is fairly unintuitive to code and might miss query layer-specific problems (e.g. #1532 which affects SQL but not CQL). libpq offers a good way to do C++ tests by sending SQL command strings instead. I have nearly finished counter transaction tests written using libpq with variants at the SERIALIZABLE and REPEATABLE READ isolation levels. After that, it might be good to start adding similar libpq tests of other things we want to check.

georgeklees commented 5 years ago

An example of these tests can be found in #1646