diff options
Diffstat (limited to 'cpp/test')
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 @@ +* |