]> git.ipfire.org Git - thirdparty/libsolv.git/commitdiff
Add str2dep testcases using the genid feature
authorMichael Schroeder <mls@suse.de>
Mon, 23 Mar 2015 14:13:37 +0000 (15:13 +0100)
committerMichael Schroeder <mls@suse.de>
Mon, 23 Mar 2015 14:13:37 +0000 (15:13 +0100)
test/testcases/testcase/str2dep.t [new file with mode: 0644]

diff --git a/test/testcases/testcase/str2dep.t b/test/testcases/testcase/str2dep.t
new file mode 100644 (file)
index 0000000..d08c110
--- /dev/null
@@ -0,0 +1,185 @@
+# testcase for testcase_str2dep and testcase_dep2str
+
+#
+# first test literal escaping
+#
+genid dep <NULL>
+result genid <inline>
+#>genid  1: genid null
+#>genid dep <NULL>
+nextjob
+
+genid dep \00
+result genid <inline>
+#>genid  1: genid lit 
+#>genid dep \00
+nextjob
+
+genid dep \21\20\22\23\24\25\26\27\28\29\2a\2b\2c\2d\2e\2f\3a\3b\3c\3d\3e\3f\40\5b\5c\5d\5e\5f\60\7b\7c\7d\7e
+result genid <inline>
+#>genid  1: genid lit ! "#$%&'()*+,-./:;<=>?@[\]^_`{|}~
+#>genid dep \21\20"#$%&'\28\29*+,-./:;<=>?@[\5c]^_`{|}~
+# make vim happy again: '
+nextjob
+
+genid dep foo(bar)
+result genid <inline>
+#>genid  1: genid lit foo(bar)
+#>genid dep foo(bar)
+nextjob
+
+genid dep foo()bar\29
+result genid <inline>
+#>genid  1: genid lit foo()bar)
+#>genid dep foo\28\29bar\29
+nextjob
+
+#
+# test namespace hack
+#
+genid dep namespace:foo(bar)
+result genid <inline>
+#>genid  1: genid lit namespace:foo
+#>genid  2: genid lit bar
+#>genid  3: genid op <NAMESPACE>
+#>genid dep namespace:foo(bar)
+nextjob
+genid lit namespace:foo(bar)
+result genid <inline>
+#>genid  1: genid lit namespace:foo(bar)
+#>genid dep namespace\3afoo\28bar\29
+nextjob
+
+#
+# test :any hack
+#
+genid dep foo:any
+result genid <inline>
+#>genid  1: genid lit foo
+#>genid  2: genid lit any
+#>genid  3: genid op <MULTIARCH>
+#>genid dep foo:any
+nextjob
+genid lit foo:any
+result genid <inline>
+#>genid  1: genid lit foo:any
+#>genid dep foo\3aany
+nextjob
+
+#
+# test simple ops
+#
+genid dep foo < 1-1
+result genid <inline>
+#>genid  1: genid lit foo
+#>genid  2: genid lit 1-1
+#>genid  3: genid op <
+#>genid dep foo < 1-1
+nextjob
+
+genid dep foo = 1-1
+result genid <inline>
+#>genid  1: genid lit foo
+#>genid  2: genid lit 1-1
+#>genid  3: genid op =
+#>genid dep foo = 1-1
+nextjob
+
+genid dep foo > 1-1
+result genid <inline>
+#>genid  1: genid lit foo
+#>genid  2: genid lit 1-1
+#>genid  3: genid op >
+#>genid dep foo > 1-1
+nextjob
+
+genid dep foo >= 1-1
+result genid <inline>
+#>genid  1: genid lit foo
+#>genid  2: genid lit 1-1
+#>genid  3: genid op >=
+#>genid dep foo >= 1-1
+nextjob
+
+genid dep foo <= 1-1
+result genid <inline>
+#>genid  1: genid lit foo
+#>genid  2: genid lit 1-1
+#>genid  3: genid op <=
+#>genid dep foo <= 1-1
+nextjob
+
+# test arch op
+genid dep foo . i586
+result genid <inline>
+#>genid  1: genid lit foo
+#>genid  2: genid lit i586
+#>genid  3: genid op .
+#>genid dep foo . i586
+nextjob
+
+# test haiku compat dep
+genid dep foo = 2-1 compat >= 1-1
+result genid <inline>
+#>genid  1: genid lit foo
+#>genid  2: genid lit 2-1
+#>genid  3: genid lit 1-1
+#>genid  4: genid op compat >=
+#>genid  5: genid op =
+#>genid dep foo = 2-1 compat >= 1-1
+nextjob
+
+#
+# test complex (aka rich) deps
+#
+
+genid dep foo & bar
+result genid <inline>
+#>genid  1: genid lit foo
+#>genid  2: genid lit bar
+#>genid  3: genid op &
+#>genid dep foo & bar
+nextjob
+
+genid dep foo & bar & baz
+result genid <inline>
+#>genid  1: genid lit foo
+#>genid  2: genid lit bar
+#>genid  3: genid lit baz
+#>genid  4: genid op &
+#>genid  5: genid op &
+#>genid dep foo & bar & baz
+nextjob
+
+genid dep foo & bar | baz
+result genid <inline>
+#>genid  1: genid lit foo
+#>genid  2: genid lit bar
+#>genid  3: genid lit baz
+#>genid  4: genid op |
+#>genid  5: genid op &
+#>genid dep foo & (bar | baz)
+nextjob
+
+genid dep (foo & bar) | baz
+result genid <inline>
+#>genid  1: genid lit foo
+#>genid  2: genid lit bar
+#>genid  3: genid op &
+#>genid  4: genid lit baz
+#>genid  5: genid op |
+#>genid dep (foo & bar) | baz
+nextjob
+
+genid dep (foo & bar > 2) | baz
+result genid <inline>
+#>genid  1: genid lit foo
+#>genid  2: genid lit bar
+#>genid  3: genid lit 2
+#>genid  4: genid op >
+#>genid  5: genid op &
+#>genid  6: genid lit baz
+#>genid  7: genid op |
+#>genid dep (foo & bar > 2) | baz
+nextjob
+