summaryrefslogtreecommitdiffstats
path: root/amend/tests/008-parse-real-script
diff options
context:
space:
mode:
Diffstat (limited to 'amend/tests/008-parse-real-script')
-rw-r--r--amend/tests/008-parse-real-script/expected.txt74
-rw-r--r--amend/tests/008-parse-real-script/info.txt1
-rw-r--r--amend/tests/008-parse-real-script/input10
-rw-r--r--amend/tests/008-parse-real-script/run17
4 files changed, 102 insertions, 0 deletions
diff --git a/amend/tests/008-parse-real-script/expected.txt b/amend/tests/008-parse-real-script/expected.txt
new file mode 100644
index 000000000..dabf6d4e2
--- /dev/null
+++ b/amend/tests/008-parse-real-script/expected.txt
@@ -0,0 +1,74 @@
+command "assert" {
+ STRING EQ {
+ FUNCTION hash_dir (
+ "SYS:"
+ )
+ "112345oldhashvalue1234123"
+ }
+}
+command "mark" {
+ "SYS:"
+ "dirty"
+}
+command "copy_dir" {
+ "PKG:android-files"
+ "SYS:"
+}
+command "assert" {
+ STRING EQ {
+ FUNCTION hash_dir (
+ "SYS:"
+ )
+ "667890newhashvalue6678909"
+ }
+}
+command "mark" {
+ "SYS:"
+ "clean"
+}
+command "done" {
+}
+command "assert" {
+ STRING EQ {
+ FUNCTION hash_dir (
+ "SYS:"
+ "blah"
+ )
+ "112345oldhashvalue1234123"
+ }
+}
+command "assert" {
+ STRING EQ {
+ "true"
+ "false"
+ }
+}
+command "assert" {
+ STRING NE {
+ FUNCTION matches (
+ FUNCTION hash_dir (
+ "SYS:"
+ )
+ "667890newhashvalue6678909"
+ "999999newhashvalue6678909"
+ )
+ ""
+ }
+}
+command "assert" {
+ BOOLEAN OR {
+ STRING EQ {
+ FUNCTION hash_dir (
+ "SYS:"
+ )
+ "667890newhashvalue6678909"
+ }
+ STRING EQ {
+ FUNCTION hash_dir (
+ "SYS:"
+ )
+ "999999newhashvalue6678909"
+ }
+ }
+}
+amend: Parse successful.
diff --git a/amend/tests/008-parse-real-script/info.txt b/amend/tests/008-parse-real-script/info.txt
new file mode 100644
index 000000000..5e321f552
--- /dev/null
+++ b/amend/tests/008-parse-real-script/info.txt
@@ -0,0 +1 @@
+An input script similar to one that will actually be used in practice.
diff --git a/amend/tests/008-parse-real-script/input b/amend/tests/008-parse-real-script/input
new file mode 100644
index 000000000..b07330695
--- /dev/null
+++ b/amend/tests/008-parse-real-script/input
@@ -0,0 +1,10 @@
+assert hash_dir("SYS:") == "112345oldhashvalue1234123"
+mark SYS: dirty
+copy_dir "PKG:android-files" SYS:
+assert hash_dir("SYS:") == "667890newhashvalue6678909"
+mark SYS: clean
+done
+assert hash_dir("SYS:", "blah") == "112345oldhashvalue1234123"
+assert "true" == "false"
+assert matches(hash_dir("SYS:"), "667890newhashvalue6678909", "999999newhashvalue6678909") != ""
+assert hash_dir("SYS:") == "667890newhashvalue6678909" || hash_dir("SYS:") == "999999newhashvalue6678909"
diff --git a/amend/tests/008-parse-real-script/run b/amend/tests/008-parse-real-script/run
new file mode 100644
index 000000000..9544e1b9b
--- /dev/null
+++ b/amend/tests/008-parse-real-script/run
@@ -0,0 +1,17 @@
+#!/bin/bash
+#
+# Copyright (C) 2007 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+amend --debug-ast input