diff options
| author | 2020-12-29 23:33:38 +0100 | |
|---|---|---|
| committer | 2020-12-29 23:42:00 +0100 | |
| commit | 80a949d23c5ad835f8b4b0b8e1cec49cd95a2d4b (patch) | |
| tree | b4a7e323c208b0ff43825357cd9c99f03ba9eb4e /sqlite.zig | |
| parent | add InitOptions (diff) | |
| download | zig-sqlite-80a949d23c5ad835f8b4b0b8e1cec49cd95a2d4b.tar.gz zig-sqlite-80a949d23c5ad835f8b4b0b8e1cec49cd95a2d4b.tar.xz zig-sqlite-80a949d23c5ad835f8b4b0b8e1cec49cd95a2d4b.zip | |
add initOptions for testing
Diffstat (limited to 'sqlite.zig')
| -rw-r--r-- | sqlite.zig | 38 |
1 files changed, 24 insertions, 14 deletions
| @@ -803,7 +803,7 @@ fn addTestData(db: *Db) !void { | |||
| 803 | 803 | ||
| 804 | test "sqlite: db init" { | 804 | test "sqlite: db init" { |
| 805 | var db: Db = undefined; | 805 | var db: Db = undefined; |
| 806 | try db.init(testing.allocator, .{ .mode = dbMode() }); | 806 | try db.init(testing.allocator, initOptions()); |
| 807 | try db.init(testing.allocator, .{}); | 807 | try db.init(testing.allocator, .{}); |
| 808 | } | 808 | } |
| 809 | 809 | ||
| @@ -812,7 +812,7 @@ test "sqlite: db pragma" { | |||
| 812 | defer arena.deinit(); | 812 | defer arena.deinit(); |
| 813 | 813 | ||
| 814 | var db: Db = undefined; | 814 | var db: Db = undefined; |
| 815 | try db.init(testing.allocator, .{ .mode = dbMode() }); | 815 | try db.init(testing.allocator, initOptions()); |
| 816 | 816 | ||
| 817 | const foreign_keys = try db.pragma(usize, "foreign_keys", .{}, .{}); | 817 | const foreign_keys = try db.pragma(usize, "foreign_keys", .{}, .{}); |
| 818 | testing.expect(foreign_keys != null); | 818 | testing.expect(foreign_keys != null); |
| @@ -841,7 +841,7 @@ test "sqlite: db pragma" { | |||
| 841 | 841 | ||
| 842 | test "sqlite: statement exec" { | 842 | test "sqlite: statement exec" { |
| 843 | var db: Db = undefined; | 843 | var db: Db = undefined; |
| 844 | try db.init(testing.allocator, .{ .mode = dbMode() }); | 844 | try db.init(testing.allocator, initOptions()); |
| 845 | try addTestData(&db); | 845 | try addTestData(&db); |
| 846 | 846 | ||
| 847 | // Test with a Blob struct | 847 | // Test with a Blob struct |
| @@ -868,7 +868,7 @@ test "sqlite: read a single user into a struct" { | |||
| 868 | defer arena.deinit(); | 868 | defer arena.deinit(); |
| 869 | 869 | ||
| 870 | var db: Db = undefined; | 870 | var db: Db = undefined; |
| 871 | try db.init(testing.allocator, .{ .mode = dbMode() }); | 871 | try db.init(testing.allocator, initOptions()); |
| 872 | try addTestData(&db); | 872 | try addTestData(&db); |
| 873 | 873 | ||
| 874 | var stmt = try db.prepare("SELECT id, name, age, weight FROM user WHERE id = ?{usize}"); | 874 | var stmt = try db.prepare("SELECT id, name, age, weight FROM user WHERE id = ?{usize}"); |
| @@ -911,7 +911,7 @@ test "sqlite: read all users into a struct" { | |||
| 911 | defer arena.deinit(); | 911 | defer arena.deinit(); |
| 912 | 912 | ||
| 913 | var db: Db = undefined; | 913 | var db: Db = undefined; |
| 914 | try db.init(testing.allocator, .{ .mode = dbMode() }); | 914 | try db.init(testing.allocator, initOptions()); |
| 915 | try addTestData(&db); | 915 | try addTestData(&db); |
| 916 | 916 | ||
| 917 | var stmt = try db.prepare("SELECT id, name, age, weight FROM user"); | 917 | var stmt = try db.prepare("SELECT id, name, age, weight FROM user"); |
| @@ -936,7 +936,7 @@ test "sqlite: read in an anonymous struct" { | |||
| 936 | defer arena.deinit(); | 936 | defer arena.deinit(); |
| 937 | 937 | ||
| 938 | var db: Db = undefined; | 938 | var db: Db = undefined; |
| 939 | try db.init(testing.allocator, .{ .mode = dbMode() }); | 939 | try db.init(testing.allocator, initOptions()); |
| 940 | try addTestData(&db); | 940 | try addTestData(&db); |
| 941 | 941 | ||
| 942 | var stmt = try db.prepare("SELECT id, name, name, age, id, weight FROM user WHERE id = ?{usize}"); | 942 | var stmt = try db.prepare("SELECT id, name, name, age, id, weight FROM user WHERE id = ?{usize}"); |
| @@ -970,7 +970,7 @@ test "sqlite: read in a Text struct" { | |||
| 970 | defer arena.deinit(); | 970 | defer arena.deinit(); |
| 971 | 971 | ||
| 972 | var db: Db = undefined; | 972 | var db: Db = undefined; |
| 973 | try db.init(testing.allocator, .{ .mode = dbMode() }); | 973 | try db.init(testing.allocator, initOptions()); |
| 974 | try addTestData(&db); | 974 | try addTestData(&db); |
| 975 | 975 | ||
| 976 | var stmt = try db.prepare("SELECT id, name, age FROM user WHERE id = ?{usize}"); | 976 | var stmt = try db.prepare("SELECT id, name, age FROM user WHERE id = ?{usize}"); |
| @@ -998,7 +998,7 @@ test "sqlite: read a single text value" { | |||
| 998 | defer arena.deinit(); | 998 | defer arena.deinit(); |
| 999 | 999 | ||
| 1000 | var db: Db = undefined; | 1000 | var db: Db = undefined; |
| 1001 | try db.init(testing.allocator, .{ .mode = dbMode() }); | 1001 | try db.init(testing.allocator, initOptions()); |
| 1002 | try addTestData(&db); | 1002 | try addTestData(&db); |
| 1003 | 1003 | ||
| 1004 | const types = &[_]type{ | 1004 | const types = &[_]type{ |
| @@ -1051,7 +1051,7 @@ test "sqlite: read a single text value" { | |||
| 1051 | 1051 | ||
| 1052 | test "sqlite: read a single integer value" { | 1052 | test "sqlite: read a single integer value" { |
| 1053 | var db: Db = undefined; | 1053 | var db: Db = undefined; |
| 1054 | try db.init(testing.allocator, .{ .mode = dbMode() }); | 1054 | try db.init(testing.allocator, initOptions()); |
| 1055 | try addTestData(&db); | 1055 | try addTestData(&db); |
| 1056 | 1056 | ||
| 1057 | const types = &[_]type{ | 1057 | const types = &[_]type{ |
| @@ -1083,7 +1083,7 @@ test "sqlite: read a single integer value" { | |||
| 1083 | 1083 | ||
| 1084 | test "sqlite: read a single value into void" { | 1084 | test "sqlite: read a single value into void" { |
| 1085 | var db: Db = undefined; | 1085 | var db: Db = undefined; |
| 1086 | try db.init(testing.allocator, .{ .mode = dbMode() }); | 1086 | try db.init(testing.allocator, initOptions()); |
| 1087 | try addTestData(&db); | 1087 | try addTestData(&db); |
| 1088 | 1088 | ||
| 1089 | const query = "SELECT age FROM user WHERE id = ?{usize}"; | 1089 | const query = "SELECT age FROM user WHERE id = ?{usize}"; |
| @@ -1096,7 +1096,7 @@ test "sqlite: read a single value into void" { | |||
| 1096 | 1096 | ||
| 1097 | test "sqlite: read a single value into bool" { | 1097 | test "sqlite: read a single value into bool" { |
| 1098 | var db: Db = undefined; | 1098 | var db: Db = undefined; |
| 1099 | try db.init(testing.allocator, .{ .mode = dbMode() }); | 1099 | try db.init(testing.allocator, initOptions()); |
| 1100 | try addTestData(&db); | 1100 | try addTestData(&db); |
| 1101 | 1101 | ||
| 1102 | const query = "SELECT id FROM user WHERE id = ?{usize}"; | 1102 | const query = "SELECT id FROM user WHERE id = ?{usize}"; |
| @@ -1111,7 +1111,7 @@ test "sqlite: read a single value into bool" { | |||
| 1111 | 1111 | ||
| 1112 | test "sqlite: insert bool and bind bool" { | 1112 | test "sqlite: insert bool and bind bool" { |
| 1113 | var db: Db = undefined; | 1113 | var db: Db = undefined; |
| 1114 | try db.init(testing.allocator, .{ .mode = dbMode() }); | 1114 | try db.init(testing.allocator, initOptions()); |
| 1115 | try addTestData(&db); | 1115 | try addTestData(&db); |
| 1116 | 1116 | ||
| 1117 | try db.exec("INSERT INTO article(id, author_id, is_published) VALUES(?{usize}, ?{usize}, ?{bool})", .{ | 1117 | try db.exec("INSERT INTO article(id, author_id, is_published) VALUES(?{usize}, ?{usize}, ?{bool})", .{ |
| @@ -1132,7 +1132,7 @@ test "sqlite: insert bool and bind bool" { | |||
| 1132 | 1132 | ||
| 1133 | test "sqlite: statement reset" { | 1133 | test "sqlite: statement reset" { |
| 1134 | var db: Db = undefined; | 1134 | var db: Db = undefined; |
| 1135 | try db.init(testing.allocator, .{ .mode = dbMode() }); | 1135 | try db.init(testing.allocator, initOptions()); |
| 1136 | try addTestData(&db); | 1136 | try addTestData(&db); |
| 1137 | 1137 | ||
| 1138 | // Add data | 1138 | // Add data |
| @@ -1161,7 +1161,7 @@ test "sqlite: statement iterator" { | |||
| 1161 | var allocator = &arena.allocator; | 1161 | var allocator = &arena.allocator; |
| 1162 | 1162 | ||
| 1163 | var db: Db = undefined; | 1163 | var db: Db = undefined; |
| 1164 | try db.init(testing.allocator, .{ .mode = dbMode() }); | 1164 | try db.init(testing.allocator, initOptions()); |
| 1165 | try addTestData(&db); | 1165 | try addTestData(&db); |
| 1166 | 1166 | ||
| 1167 | // Cleanup first | 1167 | // Cleanup first |
| @@ -1213,6 +1213,16 @@ test "sqlite: statement iterator" { | |||
| 1213 | } | 1213 | } |
| 1214 | } | 1214 | } |
| 1215 | 1215 | ||
| 1216 | fn initOptions() InitOptions { | ||
| 1217 | return .{ | ||
| 1218 | .open_flags = .{ | ||
| 1219 | .write = true, | ||
| 1220 | .create = true, | ||
| 1221 | }, | ||
| 1222 | .mode = dbMode(), | ||
| 1223 | }; | ||
| 1224 | } | ||
| 1225 | |||
| 1216 | fn dbMode() Db.Mode { | 1226 | fn dbMode() Db.Mode { |
| 1217 | return if (build_options.in_memory) blk: { | 1227 | return if (build_options.in_memory) blk: { |
| 1218 | break :blk .{ .Memory = {} }; | 1228 | break :blk .{ .Memory = {} }; |