summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorMike Pennisi <mike@mikepennisi.com>2016-05-28 15:44:54 -0400
committerMike Pennisi <mike@mikepennisi.com>2016-10-19 15:24:19 -0400
commit7f6e6d137d189a27408195a04f9c88eb226f998d (patch)
tree0d7c924329ae51c63c28da6ef60307458f29e37e /tools
parent0c29e6de86a969ce753d4b2566f0cb8499de007d (diff)
downloadqtdeclarative-testsuites-7f6e6d137d189a27408195a04f9c88eb226f998d.tar.gz
[generation] Parse and render new error format
Extend the test generation tool to emit the recently-modified format of the "negative" meta-data. Update the effected test case files accordingly.
Diffstat (limited to 'tools')
-rw-r--r--tools/generation/lib/template.py5
-rw-r--r--tools/generation/test/expected/negative/negative-negative.js13
-rw-r--r--tools/generation/test/fixtures/negative.case10
-rw-r--r--tools/generation/test/fixtures/negative/negative.template7
-rwxr-xr-xtools/generation/test/run.py5
5 files changed, 39 insertions, 1 deletions
diff --git a/tools/generation/lib/template.py b/tools/generation/lib/template.py
index 769ec4fb9..609724b6f 100644
--- a/tools/generation/lib/template.py
+++ b/tools/generation/lib/template.py
@@ -144,7 +144,10 @@ class Template:
lines += ['includes: ' + yaml.dump(includes).strip()]
if case_values['meta'].get('negative'):
- lines += ['negative: ' + case_values['meta'].get('negative')]
+ lines += ['negative:']
+ as_yaml = yaml.dump(case_values['meta'].get('negative'),
+ default_flow_style=False)
+ lines += indent(as_yaml.strip(), ' ').split('\n')
info = []
diff --git a/tools/generation/test/expected/negative/negative-negative.js b/tools/generation/test/expected/negative/negative-negative.js
new file mode 100644
index 000000000..539d74803
--- /dev/null
+++ b/tools/generation/test/expected/negative/negative-negative.js
@@ -0,0 +1,13 @@
+// This file was procedurally generated from the following sources:
+// - tools/generation/test/fixtures/negative.case
+// - tools/generation/test/fixtures/negative/negative.template
+/*---
+description: foobar (The "negative" field should be emitted in the output files)
+es6id: 1.2.3
+flags: [generated]
+negative:
+ phase: early
+ type: ReferenceError
+info: |
+ case info
+---*/
diff --git a/tools/generation/test/fixtures/negative.case b/tools/generation/test/fixtures/negative.case
new file mode 100644
index 000000000..9a56ecb4c
--- /dev/null
+++ b/tools/generation/test/fixtures/negative.case
@@ -0,0 +1,10 @@
+// Copyright (C) 2016 Mike Pennisi. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+template: negative
+desc: foobar
+info: case info
+negative:
+ phase: early
+ type: ReferenceError
+---*/
diff --git a/tools/generation/test/fixtures/negative/negative.template b/tools/generation/test/fixtures/negative/negative.template
new file mode 100644
index 000000000..e0ffe2019
--- /dev/null
+++ b/tools/generation/test/fixtures/negative/negative.template
@@ -0,0 +1,7 @@
+// Copyright (C) 2016 Mike Pennisi. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+name: The "negative" field should be emitted in the output files
+path: negative/negative-
+es6id: 1.2.3
+---*/
diff --git a/tools/generation/test/run.py b/tools/generation/test/run.py
index 297815d67..9fc9ee3a1 100755
--- a/tools/generation/test/run.py
+++ b/tools/generation/test/run.py
@@ -54,5 +54,10 @@ class TestGeneration(unittest.TestCase):
self.assertEqual(result['returncode'], 0)
self.compareTrees('normal')
+ def test_negative(self):
+ result = self.fixture('negative.case')
+ self.assertEqual(result['returncode'], 0)
+ self.compareTrees('negative')
+
if __name__ == '__main__':
unittest.main()