[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