[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