[ovs-dev] [join ovsdb schema v2 8/8] tests: add ovsdb-tool join schema tests
Andy Zhou
azhou at nicira.com
Thu Jun 25 21:53:40 UTC 2015
Add unit tests for ovsdb-tools that deals with multiple schemas.
Signed-off-by: Andy Zhou <azhou at nicira.com>
---
tests/ovsdb-tool.at | 153 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 153 insertions(+)
diff --git a/tests/ovsdb-tool.at b/tests/ovsdb-tool.at
index 0d3219b..4a59578 100644
--- a/tests/ovsdb-tool.at
+++ b/tests/ovsdb-tool.at
@@ -341,3 +341,156 @@ AT_CHECK([diff schema schema2], [1], [ignore])
AT_CHECK([ovsdb-tool needs-conversion db schema2], [0], [yes
])
AT_CLEANUP
+
+m4_divert_push([PREPARE_TESTS])
+[
+
+extended_ordinal_schema () {
+ cat <<'EOF'
+ {"name": "extended",
+ "tables": {
+ "ordinals": {
+ "columns": {
+ "number": {"type": "integer"},
+ "name": {"type": "string"},
+ "comment": {"type": "string"}},
+ "indexes": [["number"]]}},
+ "version": "5.2.3",
+ "cksum": "22345678 9"}
+EOF
+}
+
+reduced_ordinal_schema () {
+ cat <<'EOF'
+ {"name": "reduced",
+ "tables": {
+ "ordinals": {
+ "columns": {
+ "number": {"type": "integer"}},
+ "indexes": [["number"]]}},
+ "version": "6.1.3",
+ "cksum": "32345678 9"}
+EOF
+}
+
+incompatible_ordinal_schema () {
+ cat <<'EOF'
+ {"name": "incompatible",
+ "tables": {
+ "ordinals": {
+ "columns": {
+ "name": {"type": "string"},
+ "number": {"type": "string"}},
+ "indexes": [["number"]]}},
+ "version": "5.1.4",
+ "cksum": "42345678 9"}
+EOF
+}
+
+]
+m4_divert_pop([PREPARE_TESTS])
+
+AT_SETUP([ovsdb-tool create join compatibles])
+AT_KEYWORDS([ovsdb file join positive])
+ordinal_schema > schema
+extended_ordinal_schema > extended
+reduced_ordinal_schema > reduced
+touch .db.~lock~
+AT_CHECK([ovsdb-tool create db 'schema, extended, reduced'], [0], [], [ignore])
+AT_CHECK([[ovsdb-tool transact db '
+ ["ordinals",
+ {"op": "insert",
+ "table": "ordinals",
+ "row": {"number": 5}}
+ ]']], [0], [stdout], [ignore])
+AT_CHECK([grep "\"number\":5" db], [0], [ignore])
+AT_CLEANUP
+
+AT_SETUP([ovsdb-tool reject join incompatible])
+AT_KEYWORDS([ovsdb file join negative])
+ordinal_schema > schema
+incompatible_ordinal_schema > incompatible
+touch .db.~lock~
+AT_CHECK([ovsdb-tool create db 'schema, incompatible'], [0], [], [ignore])
+AT_CLEANUP
+
+AT_SETUP([ovsdb-tool reject join idential schema])
+AT_KEYWORDS([ovsdb file join negative])
+ordinal_schema > schema0
+ordinal_schema > schema1
+touch .db.~lock~
+AT_CHECK([ovsdb-tool create db 'schema0, schema1'], [1], [], [ignore])
+AT_CLEANUP
+
+AT_SETUP([ovsdb-tool convert joined schema to single])
+AT_KEYWORDS([ovsdb file join positive])
+ordinal_schema > schema
+extended_ordinal_schema > extended
+touch .db.~lock~
+AT_CHECK([ovsdb-tool create db 'schema, extended'], [0], [], [ignore])
+AT_CHECK([ovsdb-tool convert db schema], [0], [ignore])
+AT_CHECK([ovsdb-tool db-version db], [0], [5.1.3
+])
+AT_CLEANUP
+
+AT_SETUP([ovsdb-tool convert single schema to joined])
+AT_KEYWORDS([ovsdb file join positive])
+ordinal_schema > schema
+extended_ordinal_schema > extended
+touch .db.~lock~
+AT_CHECK([ovsdb-tool create db 'schema'], [0], [], [ignore])
+AT_CHECK([ovsdb-tool convert db 'schema, extended'], [0], [ignore])
+AT_CHECK([ovsdb-tool db-version db], [0], [ordinals:5.1.3
+extended:5.2.3
+])
+AT_CLEANUP
+
+AT_SETUP([ovsdb-tool needs-conversion joined schema])
+AT_KEYWORDS([ovsdb file join positive])
+ordinal_schema > schema
+extended_ordinal_schema > extended
+reduced_ordinal_schema > reduced
+touch .db.~lock~
+AT_CHECK([ovsdb-tool create db 'schema, extended'], [0], [], [ignore])
+AT_CHECK([ovsdb-tool needs-conversion db 'schema, reduced'], [0], [yes
+])
+AT_CLEANUP
+
+AT_SETUP([ovsdb-tool db-version joined schema])
+AT_KEYWORDS([ovsdb file join positive])
+ordinal_schema > schema
+extended_ordinal_schema > extended
+touch .db.~lock~
+AT_CHECK([ovsdb-tool create db 'schema, extended'], [0], [], [ignore])
+AT_CHECK([ovsdb-tool db-version db], [0], [ordinals:5.1.3
+extended:5.2.3
+])
+AT_CLEANUP
+
+AT_SETUP([ovsdb-tool schema-version joined schema])
+AT_KEYWORDS([ovsdb file join positive])
+ordinal_schema > schema
+extended_ordinal_schema > extended
+AT_CHECK([ovsdb-tool schema-version 'schema, extended'], [0], [ordinals:5.1.3
+extended:5.2.3
+])
+AT_CLEANUP
+
+AT_SETUP([ovsdb-tool db-cksum joined schema])
+AT_KEYWORDS([ovsdb file join positive])
+ordinal_schema > schema
+extended_ordinal_schema > extended
+AT_CHECK([ovsdb-tool create db 'schema, extended'], [0], [], [ignore])
+AT_CHECK([ovsdb-tool db-cksum db], [0], [ordinals:12345678 9
+extended:22345678 9
+])
+AT_CLEANUP
+
+AT_SETUP([ovsdb-tool schema-cksum joined schema])
+AT_KEYWORDS([ovsdb file join positive])
+ordinal_schema > schema
+extended_ordinal_schema > extended
+AT_CHECK([ovsdb-tool schema-cksum 'schema, extended'], [0], [ordinals:12345678 9
+extended:22345678 9
+])
+AT_CLEANUP
--
1.9.1
More information about the dev
mailing list