| This README covers documentation on how to develop with and test against |
| a local CIDB instance. Whenever you add or modify a cidb feature you should run |
| cidb_integration_test.py. Specifically, there are two large sets of data that |
| can be used for adding tests. Data for these are stored in individual json files |
| that are stored in .test_data/. Each series has a readme that roughly describes |
| what is in the data. |
| |
| However, when adding a new test, this may not be sufficient. The test launches a |
| local mysqld instance that runs out of a temporary directory. To prevent this |
| directory from disappearing at the end of the test, run the test with --no-wipe. |
| |
| $ lib/cidb_integration_test --debug --no-wipe |
| |
| The test logs the path to the temporary working directory at the end. |
| |
| You can launch the mysqld server again to play with the database in its final |
| state. You'll have to fish out the temp directory that it created -- it will |
| be inside the logged directory (above) and will look something like: |
| |
| /tmp/chromite.test_no_cleanup3WqzmO/chromite.testYypd_c/ |
| |
| Set your local tmpdir variable to the path that you found, and run (inside the |
| chroot): |
| |
| $ tmpdir=/tmp/.... |
| $ /usr/sbin/mysqld --no-defaults --datadir ${tmpdir}/mysqld_dir --socket \ |
| ${tmpdir}/mysqld_dir/mysqld.socket --port 8440 --pid-file \ |
| ${tmpdir}/mysqld_dir/mysqld.pid --tmpdir ${tmpdir}/mysqld_dir/tmp & |
| |
| You can connect to this instance using mysql client. |
| |
| $ mysql -u root -S ${tmpdir}/mysqld_dir/mysqld.socket |
| |
| At this point you can run normal SQL. To double check, run: |
| |
| > use cidb; |
| > show tables; |
| |
| You can then use the data here to create your own integration test to test |
| something you added to CIDB. |
| |
| When you're done, remember to shutdown the mysqld instance, and delete the |
| temporary directory. |
| |
| $ mysqladmin -u root -S ${tmpdir}/mysqld_dir/mysqld.socket shutdown |
| $ rm -rf ${tmpdir} |
| |
| Please see ./schema.dump.readme for more information on how to read the schema. |