services: MySQL: Add more tests.

* gnu/tests/databases.scm (run-mysql-test): Try creating a database and
inserting data.
This commit is contained in:
Marius Bakke 2020-11-28 19:42:22 +01:00
parent e20388ad7f
commit 97c4fd21bd
No known key found for this signature in database
GPG key ID: A2A06DF2A33A54FA

View file

@ -315,6 +315,45 @@ (define marionette
(test-assert "mysql_upgrade completed"
(wait-for-file "/var/lib/mysql/mysql_upgrade_info" marionette))
(test-eq "create database"
0
(marionette-eval
'(begin
(system* #$(file-append mariadb "/bin/mysql")
"-e" "CREATE DATABASE guix;"))
marionette))
(test-eq "create table"
0
(marionette-eval
'(begin
(system*
#$(file-append mariadb "/bin/mysql") "guix"
"-e" "CREATE TABLE facts (id INT, data VARCHAR(12));"))
marionette))
(test-eq "insert data"
0
(marionette-eval
'(begin
(system* #$(file-append mariadb "/bin/mysql") "guix"
"-e" "INSERT INTO facts VALUES (1, 'awesome')"))
marionette))
(test-equal "retrieve data"
"awesome\n"
(marionette-eval
'(begin
(use-modules (ice-9 popen))
(let* ((port (open-pipe*
OPEN_READ
#$(file-append mariadb "/bin/mysql") "guix"
"-NB" "-e" "SELECT data FROM facts WHERE id=1;"))
(output (get-string-all port)))
(close-pipe port)
output))
marionette))
(test-end)
(exit (= (test-runner-fail-count (test-runner-current)) 0)))))