Merge lp:~compiz-team/compiz/compiz.fix_1049169.1 into lp:compiz/0.9.8

Proposed by Sam Spilsbury
Status: Merged
Approved by: Daniel van Vugt
Approved revision: 3393
Merged at revision: 3396
Proposed branch: lp:~compiz-team/compiz/compiz.fix_1049169.1
Merge into: lp:compiz/0.9.8
Prerequisite: lp:~compiz-team/compiz/compiz.fix_1050796
Diff against target: 304 lines (+60/-46)
9 files modified
compizconfig/gsettings/src/gsettings.c (+2/-1)
compizconfig/gsettings/tests/compizconfig_ccs_gsettings_settings_env_test.cpp (+0/-17)
compizconfig/gsettings/tests/compizconfig_ccs_gsettings_settings_env_test.h (+2/-2)
compizconfig/gsettings/tests/test_gsettings_conformance.cpp (+0/-1)
compizconfig/gsettings/tests/test_gsettings_tests.h (+13/-8)
compizconfig/integration/gnome/gsettings/include/ccs_gnome_integration_gsettings_integrated_setting_factory.h (+3/-0)
compizconfig/integration/gnome/gsettings/src/ccs_gnome_integration_gsettings_integrated_setting_factory.c (+12/-0)
compizconfig/integration/gnome/gsettings/tests/compizconfig_test_ccs_gnome_gsettings_integrated_setting.cpp (+26/-15)
compizconfig/libcompizconfig/src/bindings.c (+2/-2)
To merge this branch: bzr merge lp:~compiz-team/compiz/compiz.fix_1049169.1
Reviewer Review Type Date Requested Status
jenkins (community) continuous-integration Needs Fixing
Daniel van Vugt Approve
Review via email: mp+126397@code.launchpad.net

This proposal supersedes a proposal from 2012-09-25.

Commit message

Fixes memory leaks in the tests (LP: #1049169)

Description of the change

Fixes memory leaks in the tests

To post a comment you must log in.
Revision history for this message
jenkins (martin-mrazik+qa) wrote : Posted in a previous version of this proposal
review: Needs Fixing (continuous-integration)
Revision history for this message
Sam Spilsbury (smspillaz) wrote : Posted in a previous version of this proposal

Seems to me like the above failure is probably caused by a missing file. Jenkins doesn't say too much about it, rebuilding locally to check

Revision history for this message
jenkins (martin-mrazik+qa) wrote : Posted in a previous version of this proposal
review: Needs Fixing (continuous-integration)
Revision history for this message
jenkins (martin-mrazik+qa) wrote : Posted in a previous version of this proposal
review: Needs Fixing (continuous-integration)
Revision history for this message
jenkins (martin-mrazik+qa) wrote : Posted in a previous version of this proposal
review: Needs Fixing (continuous-integration)
Revision history for this message
Sam Spilsbury (smspillaz) wrote : Posted in a previous version of this proposal
Revision history for this message
Daniel van Vugt (vanvugt) wrote : Posted in a previous version of this proposal

Looks OK.

review: Approve
Revision history for this message
Unity Merger (unity-merger) wrote : Posted in a previous version of this proposal

No proposals found for merge of lp:~compiz-team/compiz/compiz.fix_1050796 into lp:compiz.

Revision history for this message
Daniel van Vugt (vanvugt) wrote : Posted in a previous version of this proposal
review: Approve
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Looks like the same branch I approved before.

review: Approve
Revision history for this message
jenkins (martin-mrazik+qa) wrote :
review: Needs Fixing (continuous-integration)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'compizconfig/gsettings/src/gsettings.c'
--- compizconfig/gsettings/src/gsettings.c 2012-08-16 17:00:25 +0000
+++ compizconfig/gsettings/src/gsettings.c 2012-09-26 07:27:20 +0000
@@ -50,7 +50,8 @@
50 cleanSettingName,50 cleanSettingName,
51 pathName,51 pathName,
52 ccsSettingGetType (setting));52 ccsSettingGetType (setting));
5353 free (cleanSettingName);
54 g_free (pathName);
54 return gsettingsValue;55 return gsettingsValue;
55}56}
5657
5758
=== modified file 'compizconfig/gsettings/tests/compizconfig_ccs_gsettings_settings_env_test.cpp'
--- compizconfig/gsettings/tests/compizconfig_ccs_gsettings_settings_env_test.cpp 2012-09-17 15:39:11 +0000
+++ compizconfig/gsettings/tests/compizconfig_ccs_gsettings_settings_env_test.cpp 2012-09-26 07:27:20 +0000
@@ -52,8 +52,6 @@
5252
53 CCSGSettingsWrapper *mSettings;53 CCSGSettingsWrapper *mSettings;
54 std::string profileName;54 std::string profileName;
55 CompizGLibGSettingsMemoryBackendTestingEnv gsettingsEnv;
56 CompizGLibGSliceOffEnv gsliceEnv;
57};55};
5856
59void57void
@@ -333,21 +331,6 @@
333 return shared;331 return shared;
334}332}
335333
336void
337CCSGSettingsStorageEnv::SetUp ()
338{
339 g_type_init ();
340 priv->gsliceEnv.SetUpEnv ();
341 priv->gsettingsEnv.SetUpEnv (MOCK_PATH);
342}
343
344void
345CCSGSettingsStorageEnv::TearDown ()
346{
347 priv->gsettingsEnv.TearDownEnv ();
348 priv->gsliceEnv.TearDownEnv ();
349}
350
351PrivateCCSGSettingsStorageEnv::PrivateCCSGSettingsStorageEnv (CCSGSettingsWrapper *settings,334PrivateCCSGSettingsStorageEnv::PrivateCCSGSettingsStorageEnv (CCSGSettingsWrapper *settings,
352 const std::string &profileName) :335 const std::string &profileName) :
353 mSettings (settings),336 mSettings (settings),
354337
=== modified file 'compizconfig/gsettings/tests/compizconfig_ccs_gsettings_settings_env_test.h'
--- compizconfig/gsettings/tests/compizconfig_ccs_gsettings_settings_env_test.h 2012-09-23 04:35:00 +0000
+++ compizconfig/gsettings/tests/compizconfig_ccs_gsettings_settings_env_test.h 2012-09-26 07:27:20 +0000
@@ -40,8 +40,8 @@
40{40{
41 public:41 public:
4242
43 virtual void SetUp ();43 virtual void SetUp () {}
44 virtual void TearDown ();44 virtual void TearDown () {}
4545
46 CCSGSettingsStorageEnv (CCSGSettingsWrapper *settings,46 CCSGSettingsStorageEnv (CCSGSettingsWrapper *settings,
47 const std::string &profileName);47 const std::string &profileName);
4848
=== modified file 'compizconfig/gsettings/tests/test_gsettings_conformance.cpp'
--- compizconfig/gsettings/tests/test_gsettings_conformance.cpp 2012-09-22 04:26:38 +0000
+++ compizconfig/gsettings/tests/test_gsettings_conformance.cpp 2012-09-26 07:27:20 +0000
@@ -65,7 +65,6 @@
65 CCSGSettingsBackendEnv () :65 CCSGSettingsBackendEnv () :
66 pluginToMatch ("mock")66 pluginToMatch ("mock")
67 {67 {
68 g_type_init ();
69 }68 }
7069
71 /* A wrapper to prevent signals from being added */70 /* A wrapper to prevent signals from being added */
7271
=== modified file 'compizconfig/gsettings/tests/test_gsettings_tests.h'
--- compizconfig/gsettings/tests/test_gsettings_tests.h 2012-09-12 08:35:51 +0000
+++ compizconfig/gsettings/tests/test_gsettings_tests.h 2012-09-26 07:27:20 +0000
@@ -45,13 +45,18 @@
4545
46 virtual void SetUpEnv ()46 virtual void SetUpEnv ()
47 {47 {
48 setenv ("G_SLICE", "always-malloc", 1);48 gsliceEnv.SetUpEnv ();
49 g_type_init ();
49 }50 }
5051
51 virtual void TearDownEnv ()52 virtual void TearDownEnv ()
52 {53 {
53 unsetenv ("G_SLICE");54 gsliceEnv.TearDownEnv ();
54 }55 }
56
57 private:
58
59 CompizGLibGSliceOffEnv gsliceEnv;
55};60};
5661
57class CCSGSettingsMemoryBackendTestingEnv :62class CCSGSettingsMemoryBackendTestingEnv :
@@ -62,18 +67,18 @@
62 virtual void SetUpEnv ()67 virtual void SetUpEnv ()
63 {68 {
64 CCSGSettingsTestingEnv::SetUpEnv ();69 CCSGSettingsTestingEnv::SetUpEnv ();
6570 gsettingsEnv.SetUpEnv (MOCK_PATH);
66 g_setenv ("GSETTINGS_SCHEMA_DIR", MOCK_PATH.c_str (), true);
67 g_setenv ("GSETTINGS_BACKEND", "memory", 1);
68 }71 }
6972
70 virtual void TearDownEnv ()73 virtual void TearDownEnv ()
71 {74 {
72 g_unsetenv ("GSETTINGS_BACKEND");75 gsettingsEnv.TearDownEnv ();
73 g_unsetenv ("GSETTINGS_SCHEMA_DIR");
74
75 CCSGSettingsTestingEnv::TearDownEnv ();76 CCSGSettingsTestingEnv::TearDownEnv ();
76 }77 }
78
79 private:
80
81 CompizGLibGSettingsMemoryBackendTestingEnv gsettingsEnv;
77};82};
7883
79class CCSGSettingsTestCommon :84class CCSGSettingsTestCommon :
8085
=== modified file 'compizconfig/integration/gnome/gsettings/include/ccs_gnome_integration_gsettings_integrated_setting_factory.h'
--- compizconfig/integration/gnome/gsettings/include/ccs_gnome_integration_gsettings_integrated_setting_factory.h 2012-09-25 01:23:51 +0000
+++ compizconfig/integration/gnome/gsettings/include/ccs_gnome_integration_gsettings_integrated_setting_factory.h 2012-09-26 07:27:20 +0000
@@ -60,6 +60,9 @@
60CCSGNOMEIntegrationGSettingsWrapperFactory *60CCSGNOMEIntegrationGSettingsWrapperFactory *
61ccsGNOMEIntegrationGSettingsWrapperDefaultImplNew (CCSObjectAllocationInterface *ai);61ccsGNOMEIntegrationGSettingsWrapperDefaultImplNew (CCSObjectAllocationInterface *ai);
6262
63void
64ccsGNOMEIntegrationGSettingsWrapperDefaultImplFree (CCSGNOMEIntegrationGSettingsWrapperFactory *wrapperFactory);
65
63CCSIntegratedSettingFactory *66CCSIntegratedSettingFactory *
64ccsGSettingsIntegratedSettingFactoryNew (CCSGNOMEIntegrationGSettingsWrapperFactory *wrapperFactory,67ccsGSettingsIntegratedSettingFactoryNew (CCSGNOMEIntegrationGSettingsWrapperFactory *wrapperFactory,
65 CCSGNOMEValueChangeData *data,68 CCSGNOMEValueChangeData *data,
6669
=== modified file 'compizconfig/integration/gnome/gsettings/src/ccs_gnome_integration_gsettings_integrated_setting_factory.c'
--- compizconfig/integration/gnome/gsettings/src/ccs_gnome_integration_gsettings_integrated_setting_factory.c 2012-09-25 03:42:20 +0000
+++ compizconfig/integration/gnome/gsettings/src/ccs_gnome_integration_gsettings_integrated_setting_factory.c 2012-09-26 07:27:20 +0000
@@ -79,6 +79,14 @@
79 ccsGNOMEIntegrationGSettingsWrapperFactoryNewGSettingsWrapperDefault79 ccsGNOMEIntegrationGSettingsWrapperFactoryNewGSettingsWrapperDefault
80};80};
8181
82void
83ccsGNOMEIntegrationGSettingsWrapperDefaultImplFree (CCSGNOMEIntegrationGSettingsWrapperFactory *wrapperFactory)
84{
85 ccsObjectFinalize (wrapperFactory);
86 (*wrapperFactory->object.object_allocation->free_) (wrapperFactory->object.object_allocation->allocator,
87 wrapperFactory);
88}
89
82CCSGNOMEIntegrationGSettingsWrapperFactory *90CCSGNOMEIntegrationGSettingsWrapperFactory *
83ccsGNOMEIntegrationGSettingsWrapperDefaultImplNew (CCSObjectAllocationInterface *ai)91ccsGNOMEIntegrationGSettingsWrapperDefaultImplNew (CCSObjectAllocationInterface *ai)
84{92{
@@ -279,6 +287,8 @@
279 if (priv->pluginsToSettingNameGNOMENameHashTable)287 if (priv->pluginsToSettingNameGNOMENameHashTable)
280 g_hash_table_unref (priv->pluginsToSettingNameGNOMENameHashTable);288 g_hash_table_unref (priv->pluginsToSettingNameGNOMENameHashTable);
281289
290 ccsGNOMEIntegrationGSettingsWrapperDefaultImplFree (priv->wrapperFactory);
291
282 ccsObjectFinalize (factory);292 ccsObjectFinalize (factory);
283 (*factory->object.object_allocation->free_) (factory->object.object_allocation->allocator, factory);293 (*factory->object.object_allocation->free_) (factory->object.object_allocation->allocator, factory);
284}294}
@@ -318,6 +328,8 @@
318 ccsObjectSetPrivate (factory, (CCSPrivate *) priv);328 ccsObjectSetPrivate (factory, (CCSPrivate *) priv);
319 ccsObjectAddInterface (factory, (const CCSInterface *) &ccsGSettingsIntegratedSettingFactoryInterface, GET_INTERFACE_TYPE (CCSIntegratedSettingFactoryInterface));329 ccsObjectAddInterface (factory, (const CCSInterface *) &ccsGSettingsIntegratedSettingFactoryInterface, GET_INTERFACE_TYPE (CCSIntegratedSettingFactoryInterface));
320330
331 ccsObjectRef (factory);
332
321 return factory;333 return factory;
322}334}
323335
324336
=== modified file 'compizconfig/integration/gnome/gsettings/tests/compizconfig_test_ccs_gnome_gsettings_integrated_setting.cpp'
--- compizconfig/integration/gnome/gsettings/tests/compizconfig_test_ccs_gnome_gsettings_integrated_setting.cpp 2012-09-24 10:44:29 +0000
+++ compizconfig/integration/gnome/gsettings/tests/compizconfig_test_ccs_gnome_gsettings_integrated_setting.cpp 2012-09-26 07:27:20 +0000
@@ -43,6 +43,7 @@
43using ::testing::ValuesIn;43using ::testing::ValuesIn;
44using ::testing::Values;44using ::testing::Values;
45using ::testing::Eq;45using ::testing::Eq;
46using ::testing::WithArgs;
46using ::testing::_;47using ::testing::_;
4748
48namespace compiz49namespace compiz
@@ -103,6 +104,7 @@
103 ValueGenerator valueGenerator;104 ValueGenerator valueGenerator;
104 Expectation expectation;105 Expectation expectation;
105 CCSSettingType settingType;106 CCSSettingType settingType;
107 CCSSettingType returnType;
106 };108 };
107109
108 namespace impl110 namespace impl
@@ -114,10 +116,10 @@
114116
115 ccit::GSettingsIntegratedSettingInfo settingsInfo[] =117 ccit::GSettingsIntegratedSettingInfo settingsInfo[] =
116 {118 {
117 { vg::i, cvg::integer, ex::integer, TypeInt },119 { vg::i, cvg::integer, ex::integer, TypeInt, TypeInt },
118 { vg::b, cvg::boolean, ex::boolean, TypeBool },120 { vg::b, cvg::boolean, ex::boolean, TypeBool, TypeBool },
119 { vg::s, cvg::string, ex::string, TypeString },121 { vg::s, cvg::string, ex::string, TypeString, TypeString },
120 { vg::as, cvg::key, ex::key, TypeKey }122 { vg::as, cvg::key, ex::key, TypeKey, TypeString }
121 };123 };
122 }124 }
123 }125 }
@@ -361,6 +363,7 @@
361 const CCSSettingType createSettingType =363 const CCSSettingType createSettingType =
362 std::tr1::get <0> (GetParam ());364 std::tr1::get <0> (GetParam ());
363365
366 /* The GSettings Integrated setting takes ownership of these */
364 CCSIntegratedSettingInfo *integratedSetting = ccsSharedIntegratedSettingInfoNew (keyName.c_str (),367 CCSIntegratedSettingInfo *integratedSetting = ccsSharedIntegratedSettingInfoNew (keyName.c_str (),
365 keyName.c_str (),368 keyName.c_str (),
366 integratedSettingInfo.settingType,369 integratedSettingInfo.settingType,
@@ -370,14 +373,15 @@
370 specialType,373 specialType,
371 keyName.c_str (),374 keyName.c_str (),
372 &ccsDefaultObjectAllocator);375 &ccsDefaultObjectAllocator);
373 CCSIntegratedSetting *gsettingsIntegrated = ccsGSettingsIntegratedSettingNew (gnomeIntegratedSetting,376 boost::shared_ptr <CCSIntegratedSetting> gsettingsIntegrated (AutoDestroy (ccsGSettingsIntegratedSettingNew (gnomeIntegratedSetting,
374 mWrapper.get (),377 mWrapper.get (),
375 &ccsDefaultObjectAllocator);378 &ccsDefaultObjectAllocator),
379 ccsIntegratedSettingUnref));
376380
377 GVariant *variant = (*integratedSettingInfo.variantGenerator) ();381 GVariant *variant = (*integratedSettingInfo.variantGenerator) ();
378 EXPECT_CALL (*mWrapperMock, getValue (Eq (keyName))).WillOnce (Return (variant));382 EXPECT_CALL (*mWrapperMock, getValue (Eq (keyName))).WillOnce (Return (variant));
379383
380 CCSSettingValue *value = ccsIntegratedSettingReadValue (gsettingsIntegrated, createSettingType);384 CCSSettingValue *value = ccsIntegratedSettingReadValue (gsettingsIntegrated.get (), createSettingType);
381385
382 if (createSettingType == integratedSettingInfo.settingType)386 if (createSettingType == integratedSettingInfo.settingType)
383 (*integratedSettingInfo.expectation) (value);387 (*integratedSettingInfo.expectation) (value);
@@ -385,7 +389,12 @@
385 EXPECT_THAT (value, IsNull ());389 EXPECT_THAT (value, IsNull ());
386390
387 if (value)391 if (value)
388 ccsFreeSettingValueWithType (value, integratedSettingInfo.settingType);392 ccsFreeSettingValueWithType (value, integratedSettingInfo.returnType);
393}
394
395ACTION (FreeVariant)
396{
397 g_variant_unref (arg0);
389}398}
390399
391TEST_P (CCSGSettingsIntegratedSettingTest, MatchedTypesReturnValueMismatchedTypesResetOrWrite)400TEST_P (CCSGSettingsIntegratedSettingTest, MatchedTypesReturnValueMismatchedTypesResetOrWrite)
@@ -405,14 +414,15 @@
405 specialType,414 specialType,
406 keyName.c_str (),415 keyName.c_str (),
407 &ccsDefaultObjectAllocator);416 &ccsDefaultObjectAllocator);
408 CCSIntegratedSetting *gsettingsIntegrated = ccsGSettingsIntegratedSettingNew (gnomeIntegratedSetting,417 boost::shared_ptr <CCSIntegratedSetting> gsettingsIntegrated (AutoDestroy (ccsGSettingsIntegratedSettingNew (gnomeIntegratedSetting,
409 mWrapper.get (),418 mWrapper.get (),
410 &ccsDefaultObjectAllocator);419 &ccsDefaultObjectAllocator),
420 ccsIntegratedSettingUnref));
411421
412 boost::shared_ptr <CCSSettingValue> value ((*integratedSettingInfo.valueGenerator) (),422 boost::shared_ptr <CCSSettingValue> value ((*integratedSettingInfo.valueGenerator) (),
413 boost::bind (ccsFreeSettingValueWithType,423 boost::bind (ccsFreeSettingValueWithType,
414 _1,424 _1,
415 integratedSettingInfo.settingType));425 integratedSettingInfo.returnType));
416 boost::shared_ptr <GVariant> variant = AutoDestroy (g_variant_ref ((*integratedSettingInfo.variantGenerator) ()),426 boost::shared_ptr <GVariant> variant = AutoDestroy (g_variant_ref ((*integratedSettingInfo.variantGenerator) ()),
417 g_variant_unref);427 g_variant_unref);
418 boost::shared_ptr <GVariant> newVariant = AutoDestroy (ccvg::fromValue (value.get (),428 boost::shared_ptr <GVariant> newVariant = AutoDestroy (ccvg::fromValue (value.get (),
@@ -421,11 +431,12 @@
421 EXPECT_CALL (*mWrapperMock, getValue (Eq (keyName))).WillOnce (Return (variant.get ()));431 EXPECT_CALL (*mWrapperMock, getValue (Eq (keyName))).WillOnce (Return (variant.get ()));
422432
423 if (createSettingType == integratedSettingInfo.settingType)433 if (createSettingType == integratedSettingInfo.settingType)
424 EXPECT_CALL (*mWrapperMock, setValue (Eq (keyName), VariantEqual (newVariant.get ())));434 EXPECT_CALL (*mWrapperMock, setValue (Eq (keyName), VariantEqual (newVariant.get ())))
435 .WillOnce (WithArgs <1> (FreeVariant ()));
425 else436 else
426 EXPECT_CALL (*mWrapperMock, resetKey (Eq (keyName)));437 EXPECT_CALL (*mWrapperMock, resetKey (Eq (keyName)));
427438
428 ccsIntegratedSettingWriteValue (gsettingsIntegrated, value.get (), createSettingType);439 ccsIntegratedSettingWriteValue (gsettingsIntegrated.get (), value.get (), createSettingType);
429}440}
430441
431INSTANTIATE_TEST_CASE_P (CCSGSettingsIntegratedSettingTestMismatchedValues, CCSGSettingsIntegratedSettingTest,442INSTANTIATE_TEST_CASE_P (CCSGSettingsIntegratedSettingTestMismatchedValues, CCSGSettingsIntegratedSettingTest,
432443
=== modified file 'compizconfig/libcompizconfig/src/bindings.c'
--- compizconfig/libcompizconfig/src/bindings.c 2012-07-29 10:11:30 +0000
+++ compizconfig/libcompizconfig/src/bindings.c 2012-09-26 07:27:20 +0000
@@ -219,9 +219,9 @@
219219
220 if (button->button)220 if (button->button)
221 {221 {
222 char buttonStr[256];222 char buttonStr[256];
223 snprintf (buttonStr, 256, "Button%d", button->button);223 snprintf (buttonStr, 256, "Button%d", button->button);
224 binding = stringAppend (binding, buttonStr);224 binding = stringAppend (binding, buttonStr);
225 }225 }
226226
227 if (!binding)227 if (!binding)

Subscribers

People subscribed via source and target branches