diff options
author | ajreynol <andrew.j.reynolds@gmail.com> | 2015-09-26 14:35:40 +0200 |
---|---|---|
committer | ajreynol <andrew.j.reynolds@gmail.com> | 2015-09-26 14:35:40 +0200 |
commit | 51aa945e59ecf3354192f40c3f645d8b221e34a9 (patch) | |
tree | efd08ada86eaaefe42f371a6744dcf681266e6a6 /test | |
parent | e61a79df77924c66e8f6ff3141172bda49301475 (diff) |
Lazy preprocessing of extended operators in strings. Add regressions. Fixes bug 613.
Diffstat (limited to 'test')
-rw-r--r-- | test/regress/regress0/strings/Makefile.am | 6 | ||||
-rw-r--r-- | test/regress/regress0/strings/bug613.smt2 | 9 | ||||
-rwxr-xr-x | test/regress/regress0/strings/ilc-like.smt2 | 14 | ||||
-rwxr-xr-x | test/regress/regress0/strings/indexof-sym-simp.smt2 | 10 |
4 files changed, 37 insertions, 2 deletions
diff --git a/test/regress/regress0/strings/Makefile.am b/test/regress/regress0/strings/Makefile.am index eb88df905..b796fc80b 100644 --- a/test/regress/regress0/strings/Makefile.am +++ b/test/regress/regress0/strings/Makefile.am @@ -50,8 +50,10 @@ TESTS = \ loop008.smt2 \ loop009.smt2 \ reloop.smt2 \ - unsound-0908.smt2 - + unsound-0908.smt2 \ + ilc-like.smt2 \ + indexof-sym-simp.smt2 \ + bug613.smt2 FAILING_TESTS = diff --git a/test/regress/regress0/strings/bug613.smt2 b/test/regress/regress0/strings/bug613.smt2 new file mode 100644 index 000000000..506076cd6 --- /dev/null +++ b/test/regress/regress0/strings/bug613.smt2 @@ -0,0 +1,9 @@ +(set-logic QF_S) +(set-info :status sat) +(set-option :strings-exp true) + +(declare-fun s () String) +(assert (= s "<a></a>")) +(assert (< (str.indexof s "<a>" 0) (str.indexof s "</a>" 0))) + +(check-sat) diff --git a/test/regress/regress0/strings/ilc-like.smt2 b/test/regress/regress0/strings/ilc-like.smt2 new file mode 100755 index 000000000..a711c215c --- /dev/null +++ b/test/regress/regress0/strings/ilc-like.smt2 @@ -0,0 +1,14 @@ +(set-logic ALL_SUPPORTED)
+(set-info :status sat)
+(set-option :strings-exp true)
+
+(declare-fun s () String)
+(assert (= s "I like cookies."))
+
+(declare-fun target () String)
+(assert (= target "like"))
+
+(declare-fun location () Int)
+(assert (= location (str.indexof s target 0)))
+
+(check-sat)
\ No newline at end of file diff --git a/test/regress/regress0/strings/indexof-sym-simp.smt2 b/test/regress/regress0/strings/indexof-sym-simp.smt2 new file mode 100755 index 000000000..7ae60f2db --- /dev/null +++ b/test/regress/regress0/strings/indexof-sym-simp.smt2 @@ -0,0 +1,10 @@ +(set-logic ALL_SUPPORTED)
+(set-info :status unsat)
+(set-option :strings-exp true)
+(declare-fun s () String)
+(declare-fun t () String)
+(declare-fun r () String)
+; solvable if we do equality reasoning over str.indexof
+(assert (= t s))
+(assert (not (= (str.indexof t r 0) (str.indexof s r 0))))
+(check-sat)
\ No newline at end of file |