tests:Add destructors for 4 objects

Textures, Pipelines, Shaders and Samplers
diff --git a/tests/xglrenderframework.cpp b/tests/xglrenderframework.cpp
index 59d5302..1524e28 100644
--- a/tests/xglrenderframework.cpp
+++ b/tests/xglrenderframework.cpp
@@ -753,6 +753,10 @@
     m_textureViewInfo.view = m_textureView;
 
 }
+XglTextureObj::~XglTextureObj()
+{
+       if (m_texture != XGL_NULL_HANDLE) xglDestroyObject(m_texture);
+}
 
 void XglTextureObj::ChangeColors(uint32_t color1, uint32_t color2)
 {
@@ -797,6 +801,10 @@
     assert(!err);
 
 }
+XglSamplerObj::~XglSamplerObj()
+{
+    if (m_sampler != XGL_NULL_HANDLE) xglDestroyObject(m_sampler);
+}
 
 /*
  * Basic ConstantBuffer constructor. Then use create methods to fill in the details.
@@ -1073,7 +1081,10 @@
         assert(!err);
     }
 }
-
+XglShaderObj::~XglShaderObj()
+{
+    if (m_shader != XGL_NULL_HANDLE) xglDestroyObject(m_shader);
+}
 XglPipelineObj::XglPipelineObj(XglDevice *device)
 {
     XGL_RESULT err;
@@ -1184,7 +1195,10 @@
         m_vertexBufferObjs[i]->Bind(m_cmdBuffer, m_vertexBufferObjs[i]->m_constantBufferView.offset,  m_vertexBufferBindings[i]);
     }
 }
-
+XglPipelineObj::~XglPipelineObj()
+{
+       if (m_pipeline != XGL_NULL_HANDLE) xglDestroyObject(m_pipeline);
+}
 
 XglMemoryRefManager::XglMemoryRefManager() {