bug 951354 - test nsNSSCertificateDB for proper shutdown r=cviecco a=abillings
☠☠ backed out by e75d291a556f ☠ ☠
authorDavid Keeler <dkeeler@mozilla.com>
Fri, 17 Jan 2014 16:22:51 -0800
changeset 167950 c26f88fa740f4781ed1f57fcb6a3bf1869581e7b
parent 167949 b7d7ea54a6d233eea656cd28b99001514e7e72e6
child 167953 e75d291a556f15b0e8e7c636e34f9ad77731a455
push id428
push userbbajaj@mozilla.com
push dateTue, 28 Jan 2014 00:16:25 +0000
treeherdermozilla-release@cd72a7ff3a75 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewerscviecco, abillings
bugs951354
milestone27.0
bug 951354 - test nsNSSCertificateDB for proper shutdown r=cviecco a=abillings
security/manager/ssl/tests/compiled/TestCertDB.cpp
security/manager/ssl/tests/compiled/moz.build
security/manager/ssl/tests/moz.build
new file mode 100644
--- /dev/null
+++ b/security/manager/ssl/tests/compiled/TestCertDB.cpp
@@ -0,0 +1,23 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+#include "nsCOMPtr.h"
+#include "nsIX509CertDB.h"
+#include "nsServiceManagerUtils.h"
+
+int
+main(int argc, char* argv[])
+{
+  {
+    NS_InitXPCOM2(nullptr, nullptr, nullptr);
+    nsCOMPtr<nsIX509CertDB> certdb(do_GetService(NS_X509CERTDB_CONTRACTID));
+    if (!certdb) {
+      return -1;
+    }
+  } // this scopes the nsCOMPtrs
+  // no nsCOMPtrs are allowed to be alive when you call NS_ShutdownXPCOM
+  NS_ShutdownXPCOM(nullptr);
+  return 0;
+}
new file mode 100644
--- /dev/null
+++ b/security/manager/ssl/tests/compiled/moz.build
@@ -0,0 +1,9 @@
+# -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
+# vim: set filetype=python:
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+CPP_UNIT_TESTS += [
+  'TestCertDB.cpp',
+]
--- a/security/manager/ssl/tests/moz.build
+++ b/security/manager/ssl/tests/moz.build
@@ -6,11 +6,15 @@
 
 DIRS += ['unit']
 
 TEST_DIRS += [
 	'gtest',
 	'mochitest',
 ]
 
+TEST_TOOL_DIRS += [
+  'compiled',
+]
+
 MODULE = 'pipnss'
 
 XPCSHELL_TESTS_MANIFESTS += ['unit/xpcshell.ini']