summaryrefslogtreecommitdiff
path: root/cpp/test
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/test')
-rw-r--r--cpp/test/Slice/errorDetection/WarningInvalidMetaData.err21
-rw-r--r--cpp/test/Slice/errorDetection/WarningInvalidMetaData.ice68
-rw-r--r--cpp/test/Slice/errorDetection/WarningSuppressInvalidMetaData.err1
-rw-r--r--cpp/test/Slice/errorDetection/WarningSuppressInvalidMetaData.ice70
-rw-r--r--cpp/test/Slice/errorDetection/include/IcePrefix.ice5
-rw-r--r--cpp/test/Slice/errorDetection/test.py4
-rw-r--r--cpp/test/Slice/errorDetection/tmp/.gitignore1
7 files changed, 163 insertions, 7 deletions
diff --git a/cpp/test/Slice/errorDetection/WarningInvalidMetaData.err b/cpp/test/Slice/errorDetection/WarningInvalidMetaData.err
new file mode 100644
index 00000000000..11146a61c8b
--- /dev/null
+++ b/cpp/test/Slice/errorDetection/WarningInvalidMetaData.err
@@ -0,0 +1,21 @@
+WarningInvalidMetaData.ice: warning: ignoring invalid global metadata `cpp:header-ext:hh': directive can appear only once per file
+WarningInvalidMetaData.ice: warning: ignoring invalid global metadata `cpp:source-ext:cc': directive can appear only once per file
+WarningInvalidMetaData.ice: warning: ignoring invalid global metadata `cpp:dll-export:Test': directive can appear only once per file
+WarningInvalidMetaData.ice: warning: ignoring invalid global metadata `cpp:header-ext'
+WarningInvalidMetaData.ice: warning: ignoring invalid global metadata `cpp:header-ext:'
+WarningInvalidMetaData.ice: warning: ignoring invalid global metadata `cpp:source-ext'
+WarningInvalidMetaData.ice: warning: ignoring invalid global metadata `cpp:source-ext:'
+WarningInvalidMetaData.ice: warning: ignoring invalid global metadata `cpp:dll-export'
+WarningInvalidMetaData.ice: warning: ignoring invalid global metadata `cpp:dll-export:'
+WarningInvalidMetaData.ice: warning: ignoring invalid global metadata `cpp:include'
+WarningInvalidMetaData.ice: warning: ignoring invalid global metadata `cpp:include:'
+WarningInvalidMetaData.ice:37: warning: ignoring metadata `cpp:noexcept' for non local interface
+WarningInvalidMetaData.ice:40: warning: ignoring invalid metadata `cpp:type:std::list< ::std::string>' for operation with void return type
+WarningInvalidMetaData.ice:43: warning: ignoring invalid metadata `cpp:view-type:std::experimental::string_view' for operation with void return type
+WarningInvalidMetaData.ice:46: warning: ignoring invalid metadata `cpp:array' for operation with void return type
+WarningInvalidMetaData.ice:49: warning: ignoring invalid metadata `cpp:range' for operation with void return type
+WarningInvalidMetaData.ice:54: warning: ignoring invalid metadata `cpp:class'
+WarningInvalidMetaData.ice:54: warning: ignoring invalid metadata `cpp:comparable'
+WarningInvalidMetaData.ice:59: warning: ignoring invalid metadata `cpp:const'
+WarningInvalidMetaData.ice:59: warning: ignoring invalid metadata `cpp:ice_print'
+WarningInvalidMetaData.ice:65: warning: ignoring invalid metadata `cpp:virtual'
diff --git a/cpp/test/Slice/errorDetection/WarningInvalidMetaData.ice b/cpp/test/Slice/errorDetection/WarningInvalidMetaData.ice
new file mode 100644
index 00000000000..2bfe0f4bcc7
--- /dev/null
+++ b/cpp/test/Slice/errorDetection/WarningInvalidMetaData.ice
@@ -0,0 +1,68 @@
+// **********************************************************************
+//
+// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+//
+// This copy of Ice is licensed to you under the terms described in the
+// ICE_LICENSE file included in this distribution.
+//
+// **********************************************************************
+
+[["cpp:header-ext:hh"]]
+[["cpp:header-ext:hh"]]
+
+[["cpp:source-ext:cc"]]
+[["cpp:source-ext:cc"]]
+
+[["cpp:dll-export:Test"]]
+[["cpp:dll-export:Test"]]
+
+[["cpp:header-ext"]]
+[["cpp:header-ext:"]]
+
+[["cpp:source-ext"]]
+[["cpp:source-ext:"]]
+
+[["cpp:dll-export"]]
+[["cpp:dll-export:"]]
+
+[["cpp:include"]]
+[["cpp:include:"]]
+
+module Test
+{
+
+interface I
+{
+ ["cpp:noexcept"]
+ void op();
+
+ ["cpp:type:std::list< ::std::string>"]
+ void op1();
+
+ ["cpp:view-type:std::experimental::string_view"]
+ void op2();
+
+ ["cpp:array"]
+ void op3();
+
+ ["cpp:range"]
+ void op4();
+};
+
+["cpp:class", "cpp:comparable"]
+class C
+{
+};
+
+["cpp:const", "cpp:ice_print"]
+struct S
+{
+ int i;
+};
+
+["cpp:virtual"]
+exception E
+{
+};
+
+};
diff --git a/cpp/test/Slice/errorDetection/WarningSuppressInvalidMetaData.err b/cpp/test/Slice/errorDetection/WarningSuppressInvalidMetaData.err
new file mode 100644
index 00000000000..8b137891791
--- /dev/null
+++ b/cpp/test/Slice/errorDetection/WarningSuppressInvalidMetaData.err
@@ -0,0 +1 @@
+
diff --git a/cpp/test/Slice/errorDetection/WarningSuppressInvalidMetaData.ice b/cpp/test/Slice/errorDetection/WarningSuppressInvalidMetaData.ice
new file mode 100644
index 00000000000..8d637bdb8bc
--- /dev/null
+++ b/cpp/test/Slice/errorDetection/WarningSuppressInvalidMetaData.ice
@@ -0,0 +1,70 @@
+// **********************************************************************
+//
+// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved.
+//
+// This copy of Ice is licensed to you under the terms described in the
+// ICE_LICENSE file included in this distribution.
+//
+// **********************************************************************
+
+[["suppress-warning:invalid-metadata"]]
+
+[["cpp:header-ext:hh"]]
+[["cpp:header-ext:hh"]]
+
+[["cpp:source-ext:cc"]]
+[["cpp:source-ext:cc"]]
+
+[["cpp:dll-export:Test"]]
+[["cpp:dll-export:Test"]]
+
+[["cpp:header-ext"]]
+[["cpp:header-ext:"]]
+
+[["cpp:source-ext"]]
+[["cpp:source-ext:"]]
+
+[["cpp:dll-export"]]
+[["cpp:dll-export:"]]
+
+[["cpp:include"]]
+[["cpp:include:"]]
+
+module Test
+{
+
+interface I
+{
+ ["cpp:noexcept"]
+ void op();
+
+ ["cpp:type:std::list< ::std::string>"]
+ void op1();
+
+ ["cpp:view-type:std::experimental::string_view"]
+ void op2();
+
+ ["cpp:array"]
+ void op3();
+
+ ["cpp:range"]
+ void op4();
+};
+
+["cpp:class", "cpp:comparable"]
+class C
+{
+};
+
+["cpp:const", "cpp:ice_print"]
+struct S
+{
+ int i;
+};
+
+["cpp:virtual"]
+exception E
+{
+};
+
+};
diff --git a/cpp/test/Slice/errorDetection/include/IcePrefix.ice b/cpp/test/Slice/errorDetection/include/IcePrefix.ice
index 357ba2fc9c2..58fb9f02afd 100644
--- a/cpp/test/Slice/errorDetection/include/IcePrefix.ice
+++ b/cpp/test/Slice/errorDetection/include/IcePrefix.ice
@@ -7,9 +7,4 @@
//
// **********************************************************************
-
-
-
-
-
module IceSomething {};
diff --git a/cpp/test/Slice/errorDetection/test.py b/cpp/test/Slice/errorDetection/test.py
index 32eec3e3f66..dc4f44860e3 100644
--- a/cpp/test/Slice/errorDetection/test.py
+++ b/cpp/test/Slice/errorDetection/test.py
@@ -21,12 +21,12 @@ class SliceErrorDetectionTestCase(ClientTestCase):
for file in files:
current.write(os.path.basename(file) + "... ")
- args = ["-I.", file]
+ args = ["-I.", file, "--output-dir", "tmp"]
if file.find("Underscore") >= 0:
args.append("--underscore")
# Don't print out slice2cpp output and expect failures
- slice2cpp.run(current, args=args, exitstatus=1)
+ slice2cpp.run(current, args=args, exitstatus=0 if file.find("Warning") >= 0 else 1)
output = slice2cpp.getOutput(current)
regex1 = re.compile("\.ice$", re.IGNORECASE)
diff --git a/cpp/test/Slice/errorDetection/tmp/.gitignore b/cpp/test/Slice/errorDetection/tmp/.gitignore
new file mode 100644
index 00000000000..72e8ffc0db8
--- /dev/null
+++ b/cpp/test/Slice/errorDetection/tmp/.gitignore
@@ -0,0 +1 @@
+*