bug 951354 - test nsNSSCertificateDB for proper shutdown r=cviecco a=abillings
☠☠ backed out by 41a0bf080410 ☠ ☠
authorDavid Keeler <dkeeler@mozilla.com>
Fri, 17 Jan 2014 16:22:51 -0800
changeset 164108 8526c7a387617c0d9db00c873e2b6bc3a0fbd5a4
parent 164107 a0a1851773db6d8c5f91e9d63530e33f51416811
child 164109 cbb166c4a60d198c0824eb05687ce1aa32386ba6
push id26026
push userphilringnalda@gmail.com
push dateSat, 18 Jan 2014 23:17:27 +0000
treeherdermozilla-central@61fd0f987cf2 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewerscviecco, abillings
bugs951354
milestone29.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
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,9 +6,13 @@
 
 DIRS += ['unit']
 
 TEST_DIRS += [
 	'gtest',
 	'mochitest',
 ]
 
+TEST_TOOL_DIRS += [
+  'compiled',
+]
+
 XPCSHELL_TESTS_MANIFESTS += ['unit/xpcshell.ini']