[Bf-blender-cvs] [d0f48d33f47] master: Cycles: Fix memory leak in test and simplify code

Sergey Sharybin noreply at git.blender.org
Tue Oct 24 11:55:42 CEST 2017


Commit: d0f48d33f47a09e318afbccc31f32cdad4ed659c
Author: Sergey Sharybin
Date:   Tue Oct 24 11:12:28 2017 +0200
Branches: master
https://developer.blender.org/rBd0f48d33f47a09e318afbccc31f32cdad4ed659c

Cycles: Fix memory leak in test and simplify code

===================================================================

M	intern/cycles/test/render_graph_finalize_test.cpp

===================================================================

diff --git a/intern/cycles/test/render_graph_finalize_test.cpp b/intern/cycles/test/render_graph_finalize_test.cpp
index fc78bda6df3..b66a91adbda 100644
--- a/intern/cycles/test/render_graph_finalize_test.cpp
+++ b/intern/cycles/test/render_graph_finalize_test.cpp
@@ -74,7 +74,7 @@ protected:
 
 class ShaderGraphBuilder {
 public:
-	explicit ShaderGraphBuilder(ShaderGraph *graph)
+	ShaderGraphBuilder(ShaderGraph *graph)
 	  : graph_(graph)
 	{
 		node_map_["Output"] = graph->output();
@@ -155,17 +155,39 @@ protected:
 
 }  // namespace
 
-#define DEFINE_COMMON_VARIABLES(builder_name, mock_log_name) \
-	util_logging_start(); \
-	util_logging_verbosity_set(1); \
-	ScopedMockLog mock_log_name; \
-	DeviceInfo device_info; \
-	Stats stats; \
-	Device *device_cpu = Device::create(device_info, stats, true); \
-	SceneParams scene_params; \
-	Scene scene(scene_params, device_cpu); \
-	ShaderGraph graph; \
-	ShaderGraphBuilder builder(&graph); \
+class RenderGraph : public testing::Test
+{
+protected:
+	ScopedMockLog log;
+	Stats stats;
+	DeviceInfo device_info;
+	Device *device_cpu;
+	SceneParams scene_params;
+	Scene *scene;
+	ShaderGraph graph;
+	ShaderGraphBuilder builder;
+
+	RenderGraph()
+	        : testing::Test(),
+	          builder(&graph)
+	{
+	}
+
+	virtual void SetUp()
+	{
+		util_logging_start();
+		util_logging_verbosity_set(1);
+
+		device_cpu = Device::create(device_info, stats, true);
+		scene = new Scene(scene_params, device_cpu);
+	}
+
+	virtual void TearDown()
+	{
+		delete scene;
+		delete device_cpu;
+	}
+};
 
 #define EXPECT_ANY_MESSAGE(log) \
 	EXPECT_CALL(log, Log(_, _, _)).Times(AnyNumber()); \
@@ -179,10 +201,8 @@ protected:
 /*
  * Test deduplication of nodes that have inputs, some of them folded.
  */
-TEST(render_graph, deduplicate_deep)
+TEST_F(RenderGraph, deduplicate_deep)
 {
-	DEFINE_COMMON_VARIABLES(builder, log);
-
 	EXPECT_ANY_MESSAGE(log);
 	CORRECT_INFO_MESSAGE(log, "Folding Value1::Value to constant (0.8).");
 	CORRECT_INFO_MESSAGE(log, "Folding Value2::Value to constant (0.8).");
@@ -208,7 +228,7 @@ TEST(render_graph, deduplicate_deep)
 		.add_connection("Noise2::Color", "Mix::Color2")
 		.output_color("Mix::Color");
 
-	graph.finalize(&scene);
+	graph.finalize(scene);
 
 	EXPECT_EQ(graph.nodes.size(), 5);
 }
@@ -216,10 +236,8 @@ TEST(render_graph, deduplicate_deep)
 /*
  * Test RGB to BW node.
  */
-TEST(render_graph, constant_fold_rgb_to_bw)
+TEST_F(RenderGraph, constant_fold_rgb_to_bw)
 {
-	DEFINE_COMMON_VARIABLES(builder, log);
-
 	EXPECT_ANY_MESSAGE(log);
 	CORRECT_INFO_MESSAGE(log, "Folding RGBToBWNodeNode::Val to constant (0.8).");
 	CORRECT_INFO_MESSAGE(log, "Folding convert_float_to_color::value_color to constant (0.8, 0.8, 0.8).");
@@ -229,17 +247,15 @@ TEST(render_graph, constant_fold_rgb_to_bw)
 		          .set("Color", make_float3(0.8f, 0.8f, 0.8f)))
 		.output_color("RGBToBWNodeNode::Val");
 
-	graph.finalize(&scene);
+	graph.finalize(scene);
 }
 
 /*
  * Tests:
  *  - folding of Emission nodes that don't emit to nothing.
  */
-TEST(render_graph, constant_fold_emission1)
+TEST_F(RenderGraph, constant_fold_emission1)
 {
-	DEFINE_COMMON_VARIABLES(builder, log);
-
 	EXPECT_ANY_MESSAGE(log);
 	CORRECT_INFO_MESSAGE(log, "Discarding closure Emission.");
 
@@ -248,13 +264,11 @@ TEST(render_graph, constant_fold_emission1)
 		          .set("Color", make_float3(0.0f, 0.0f, 0.0f)))
 		.output_closure("Emission::Emission");
 
-	graph.finalize(&scene);
+	graph.finalize(scene);
 }
 
-TEST(render_graph, constant_fold_emission2)
+TEST_F(RenderGraph, constant_fold_emission2)
 {
-	DEFINE_COMMON_VARIABLES(builder, log);
-
 	EXPECT_ANY_MESSAGE(log);
 	CORRECT_INFO_MESSAGE(log, "Discarding closure Emission.");
 
@@ -263,17 +277,15 @@ TEST(render_graph, constant_fold_emission2)
 		          .set("Strength", 0.0f))
 		.output_closure("Emission::Emission");
 
-	graph.finalize(&scene);
+	graph.finalize(scene);
 }
 
 /*
  * Tests:
  *  - folding of Background nodes that don't emit to nothing.
  */
-TEST(render_graph, constant_fold_background1)
+TEST_F(RenderGraph, constant_fold_background1)
 {
-	DEFINE_COMMON_VARIABLES(builder, log);
-
 	EXPECT_ANY_MESSAGE(log);
 	CORRECT_INFO_MESSAGE(log, "Discarding closure Background.");
 
@@ -282,13 +294,11 @@ TEST(render_graph, constant_fold_background1)
 		          .set("Color", make_float3(0.0f, 0.0f, 0.0f)))
 		.output_closure("Background::Background");
 
-	graph.finalize(&scene);
+	graph.finalize(scene);
 }
 
-TEST(render_graph, constant_fold_background2)
+TEST_F(RenderGraph, constant_fold_background2)
 {
-	DEFINE_COMMON_VARIABLES(builder, log);
-
 	EXPECT_ANY_MESSAGE(log);
 	CORRECT_INFO_MESSAGE(log, "Discarding closure Background.");
 
@@ -297,17 +307,15 @@ TEST(render_graph, constant_fold_background2)
 		          .set("Strength", 0.0f))
 		.output_closure("Background::Background");
 
-	graph.finalize(&scene);
+	graph.finalize(scene);
 }
 
 /*
  * Tests:
  *  - Folding of Add Closure with only one input.
  */
-TEST(render_graph, constant_fold_shader_add)
+TEST_F(RenderGraph, constant_fold_shader_add)
 {
-	DEFINE_COMMON_VARIABLES(builder, log);
-
 	EXPECT_ANY_MESSAGE(log);
 	CORRECT_INFO_MESSAGE(log, "Folding AddClosure1::Closure to socket Diffuse::BSDF.");
 	CORRECT_INFO_MESSAGE(log, "Folding AddClosure2::Closure to socket Diffuse::BSDF.");
@@ -324,7 +332,7 @@ TEST(render_graph, constant_fold_shader_add)
 		.add_connection("AddClosure2::Closure", "AddClosure3::Closure2")
 		.output_closure("AddClosure3::Closure");
 
-	graph.finalize(&scene);
+	graph.finalize(scene);
 }
 
 /*
@@ -332,10 +340,8 @@ TEST(render_graph, constant_fold_shader_add)
  *  - Folding of Mix Closure with 0 or 1 fac.
  *  - Folding of Mix Closure with both inputs folded to the same node.
  */
-TEST(render_graph, constant_fold_shader_mix)
+TEST_F(RenderGraph, constant_fold_shader_mix)
 {
-	DEFINE_COMMON_VARIABLES(builder, log);
-
 	EXPECT_ANY_MESSAGE(log);
 	CORRECT_INFO_MESSAGE(log, "Folding MixClosure1::Closure to socket Diffuse::BSDF.");
 	CORRECT_INFO_MESSAGE(log, "Folding MixClosure2::Closure to socket Diffuse::BSDF.");
@@ -359,17 +365,15 @@ TEST(render_graph, constant_fold_shader_mix)
 		.add_connection("MixClosure2::Closure", "MixClosure3::Closure2")
 		.output_closure("MixClosure3::Closure");
 
-	graph.finalize(&scene);
+	graph.finalize(scene);
 }
 
 /*
  * Tests:
  *  - Folding of Invert with all constant inputs.
  */
-TEST(render_graph, constant_fold_invert)
+TEST_F(RenderGraph, constant_fold_invert)
 {
-	DEFINE_COMMON_VARIABLES(builder, log);
-
 	EXPECT_ANY_MESSAGE(log);
 	CORRECT_INFO_MESSAGE(log, "Folding Invert::Color to constant (0.68, 0.5, 0.32).");
 
@@ -379,17 +383,15 @@ TEST(render_graph, constant_fold_invert)
 		          .set("Color", make_float3(0.2f, 0.5f, 0.8f)))
 		.output_color("Invert::Color");
 
-	graph.finalize(&scene);
+	graph.finalize(scene);
 }
 
 /*
  * Tests:
  *  - Folding of Invert with zero Fac.
  */
-TEST(render_graph, constant_fold_invert_fac_0)
+TEST_F(RenderGraph, constant_fold_invert_fac_0)
 {
-	DEFINE_COMMON_VARIABLES(builder, log);
-
 	EXPECT_ANY_MESSAGE(log);
 	CORRECT_INFO_MESSAGE(log, "Folding Invert::Color to socket Attribute::Color.");
 
@@ -400,17 +402,15 @@ TEST(render_graph, constant_fold_invert_fac_0)
 		.add_connection("Attribute::Color", "Invert::Color")
 		.output_color("Invert::Color");
 
-	graph.finalize(&scene);
+	graph.finalize(scene);
 }
 
 /*
  * Tests:
  *  - Folding of Invert with zero Fac and constant input.
  */
-TEST(render_graph, constant_fold_invert_fac_0_const)
+TEST_F(RenderGraph, constant_fold_invert_fac_0_const)
 {
-	DEFINE_COMMON_VARIABLES(builder, log);
-
 	EXPECT_ANY_MESSAGE(log);
 	CORRECT_INFO_MESSAGE(log, "Folding Invert::Color to constant (0.2, 0.5, 0.8).");
 
@@ -420,17 +420,15 @@ TEST(render_graph, constant_fold_invert_fac_0_const)
 		          .set("Color", make_float3(0.2f, 0.5f, 0.8f)))
 		.output_color("Invert::Color");
 
-	graph.finalize(&scene);
+	graph.finalize(scene);
 }
 
 /*
  * Tests:
  *  - Folding of MixRGB Add with all constant inputs (clamp false).
  */
-TEST(render_graph, constant_fold_mix_add)
+TEST_F(RenderGraph, constant_fold_mix_add)
 {
-	DEFINE_COMMON_VARIABLES(builder, log);
-
 	EXPECT_ANY_MESSAGE(log);
 	CORRECT_INFO_MESSAGE(log, "Folding MixAdd::Color to constant (0.62, 1.14, 1.42).");
 
@@ -443,17 +441,15 @@ TEST(render_graph, constant_fold_mix_add)
 		          .set("Color2", make_float3(0.4, 0.8, 0.9)))
 		.output_color("MixAdd::Color");
 
-	graph.finalize(&scene);
+	graph.finalize(scene);
 }
 
 /*
  * Tests:
  *  - Folding of MixRGB Add with all constant inputs (clamp true).
  */
-TEST(render_graph, constant_fold_mix_add_clamp)
+TEST_F(RenderGraph, constant_fold_mix_add_clamp)
 {
-	DEFINE_COMMON_VARIABLES(builder, log);
-
 	EXPECT_ANY_MESSAGE(log);
 	CORRECT_INFO_MESSAGE(log, "Folding MixAdd::Color to constant (0.62, 1, 1).");
 
@@ -466,17 +462,15 @@ TEST(render_graph, constant_fold_mix_add_clamp)
 		          .set("Color2", make_float3(0.4, 0.8, 0.9)))
 		.output_color("MixAdd::Color");
 
-	graph.finalize(&scene);
+	graph.finalize(scene);
 }
 
 /*
  * Tests:
  *  - No folding on fac 0 for dodge.
  */
-TEST(render_graph, constant_fold_part_mix_dodge_no_fac_0)
+TEST_F(RenderGraph, constant_fold_part_mix_dodge_no_fac_0)
 {
-	DEFINE_COMMON_VARIABLES(builder, log);
-
 	EXPECT_ANY_MESSAGE(log);
 	INVALID_INFO_MESSAGE(log, "Folding ");
 
@@ -491,17 +485,15 @@ TEST(render_graph, constant_fold_part_mix_dodge_no_fac_0)
 		.add_connection("Attribute2::Color", "Mix::Color2")
 		.output_color("Mix::Color");
 
-	graph.finalize(&scene);
+	graph.finalize(scene);
 }
 
 /*
  * Tests:
  *  - No folding on fac 0 for light.
  */
-TEST(render_graph, constant_fold_part_mix_light_no_fac_0)
+TEST_F(RenderGraph, constant_fold_part_mix_light_no_fac_0)
 {
-	DEFINE_COMMON_VARIABLES(builder, log);
-
 	EXPECT_ANY_MESSAGE(log);
 	INVALID_INFO_MESSAGE(log, "Folding ");
 
@@ -516,17 +508,15 @@ TEST(render_graph, constant_fold_part_mix_light_no_fac_0)
 		.add_connection("Attribute2::Color", "Mix::Color2")
 		.output_color("Mix::Color");
 
-	graph.finalize(&scene);
+	graph.finalize(scene);
 }
 
 /*
  * Tests:
  *  - No folding on fac 0 for burn.
  */
-TEST(render_graph, constant_fold_part_mix_burn_no_fac_0)
+TEST_F(RenderGraph, consta

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list