Change m_schema in Parser to a shared pointer

Shared pointers are reference counted, so this will prevent segmentation
faults in some cases.

Change-Id: Ie180cf6a639c8e73e70f395d19a6082b4fce73d4
diff --git a/tests/leaf_editing.cpp b/tests/leaf_editing.cpp
index 09e8504..9ae2d97 100644
--- a/tests/leaf_editing.cpp
+++ b/tests/leaf_editing.cpp
@@ -13,17 +13,17 @@
 
 TEST_CASE("leaf editing")
 {
-    Schema schema;
-    schema.addContainer("", "contA");
-    schema.addLeaf("", "leafString", yang::LeafDataTypes::String);
-    schema.addLeaf("", "leafDecimal", yang::LeafDataTypes::Decimal);
-    schema.addLeaf("", "leafBool", yang::LeafDataTypes::Bool);
-    schema.addLeaf("", "leafInt", yang::LeafDataTypes::Int);
-    schema.addLeaf("", "leafUint", yang::LeafDataTypes::Uint);
-    schema.addLeafEnum("", "leafEnum", {"lol", "data", "coze"});
-    schema.addLeaf("contA", "leafInCont", yang::LeafDataTypes::String);
-    schema.addList("", "list", {"number"});
-    schema.addLeaf("list", "leafInList", yang::LeafDataTypes::String);
+    auto schema = std::make_shared<Schema>();
+    schema->addContainer("", "contA");
+    schema->addLeaf("", "leafString", yang::LeafDataTypes::String);
+    schema->addLeaf("", "leafDecimal", yang::LeafDataTypes::Decimal);
+    schema->addLeaf("", "leafBool", yang::LeafDataTypes::Bool);
+    schema->addLeaf("", "leafInt", yang::LeafDataTypes::Int);
+    schema->addLeaf("", "leafUint", yang::LeafDataTypes::Uint);
+    schema->addLeafEnum("", "leafEnum", {"lol", "data", "coze"});
+    schema->addLeaf("contA", "leafInCont", yang::LeafDataTypes::String);
+    schema->addList("", "list", {"number"});
+    schema->addLeaf("list", "leafInList", yang::LeafDataTypes::String);
     Parser parser(schema);
     std::string input;
     std::ostringstream errorStream;