From 298d00e8d73c23b8b2537489aee4319a43968e9e Mon Sep 17 00:00:00 2001
From: Petteri Aimonen <jpa@git.mail.kapsi.fi>
Date: Sat, 23 Jul 2016 20:24:54 +0300
Subject: Include package name in include guard (issue #207).

Fix suggested by Ulenspiegel.

Also added testcase for the same.
---
 tests/multiple_files/SConscript              |  5 ++++-
 tests/multiple_files/subdir/multifile2.proto | 25 +++++++++++++++++++++++++
 tests/multiple_files/test_multiple_files.c   |  8 ++++++++
 3 files changed, 37 insertions(+), 1 deletion(-)
 create mode 100644 tests/multiple_files/subdir/multifile2.proto

(limited to 'tests')

diff --git a/tests/multiple_files/SConscript b/tests/multiple_files/SConscript
index 1689f48..b1281e1 100644
--- a/tests/multiple_files/SConscript
+++ b/tests/multiple_files/SConscript
@@ -4,10 +4,13 @@ Import("env")
 
 incpath = env.Clone()
 incpath.Append(PROTOCPATH = '#multiple_files')
+incpath.Append(CPPPATH = '$BUILD/multiple_files')
 
 incpath.NanopbProto(["multifile1", "multifile1.options"])
 incpath.NanopbProto("multifile2")
-test = incpath.Program(["test_multiple_files.c", "multifile1.pb.c", "multifile2.pb.c"])
+incpath.NanopbProto("subdir/multifile2")
+test = incpath.Program(["test_multiple_files.c", "multifile1.pb.c",
+                        "multifile2.pb.c", "subdir/multifile2.pb.c"])
 
 env.RunTest(test)
 
diff --git a/tests/multiple_files/subdir/multifile2.proto b/tests/multiple_files/subdir/multifile2.proto
new file mode 100644
index 0000000..847a929
--- /dev/null
+++ b/tests/multiple_files/subdir/multifile2.proto
@@ -0,0 +1,25 @@
+syntax = "proto2";
+
+package subdir;
+
+import "multifile1.proto";
+
+message Callback2Message {
+    required TestMessage tstmsg = 1;
+    required SubMessage submsg = 2;
+}
+
+message OneofMessage {
+    oneof msgs {
+        StaticMessage tstmsg = 1;
+    }
+}
+
+message Enums {
+    required SignedEnum senum = 1;
+    required UnsignedEnum uenum = 2;
+}
+
+message SubdirMessage {
+    required int32 foo = 1 [default = 15];
+}
diff --git a/tests/multiple_files/test_multiple_files.c b/tests/multiple_files/test_multiple_files.c
index 292b8d7..70a3e59 100644
--- a/tests/multiple_files/test_multiple_files.c
+++ b/tests/multiple_files/test_multiple_files.c
@@ -6,6 +6,7 @@
 #include <pb_encode.h>
 #include "unittests.h"
 #include "multifile2.pb.h"
+#include "subdir/multifile2.pb.h"
 
 int main()
 {
@@ -18,5 +19,12 @@ int main()
     TEST(PB_LTYPE(Enums_fields[0].type) == PB_LTYPE_VARINT);
     TEST(PB_LTYPE(Enums_fields[1].type) == PB_LTYPE_UVARINT);
     
+    /* Test that subdir file is correctly included */
+    {
+        subdir_SubdirMessage foo = subdir_SubdirMessage_init_default;
+        TEST(foo.foo == 15);
+        /* TEST(subdir_OneofMessage_size == 27); */ /* TODO: Issue #172 */
+    }
+    
     return status;
 }
-- 
cgit