Backed out changeset 467f14a11325 (
bug 517604)
--- a/xpcom/tests/TestHarness.h
+++ b/xpcom/tests/TestHarness.h
@@ -44,22 +44,16 @@
#ifndef TestHarness_h__
#define TestHarness_h__
#include "nsComponentManagerUtils.h"
#include "nsServiceManagerUtils.h"
#include "nsCOMPtr.h"
#include "nsAutoPtr.h"
#include "nsStringGlue.h"
-#include "nsAppDirectoryServiceDefs.h"
-#include "nsDirectoryServiceDefs.h"
-#include "nsDirectoryServiceUtils.h"
-#include "nsIDirectoryService.h"
-#include "nsIFile.h"
-#include "nsIProperties.h"
#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>
static PRUint32 gFailCount = 0;
/**
* Prints the given failure message and arguments using printf, prepending
@@ -115,17 +109,17 @@ static PRBool _PlatformDeinitProfiler();
* @precondition Profiling is not started
* @param profileName A descriptive name for this profiling run. Every
* attempt is made to name the profile data according
* to this name, but check your platform's profiler
* documentation for what this means.
* @return PR_TRUE if profiling was available and successfully started.
* @see StopProfiling
*/
-inline PRBool
+static PRBool
StartProfiling(const char* profileName)
{
if (!gProfilerTriedInit) {
gProfilerTriedInit = PR_TRUE;
gProfilerInited = _PlatformInitProfiler();
}
if (!gProfilerInited)
return PR_FALSE;
@@ -144,25 +138,25 @@ StartProfiling(const char* profileName)
* documentation of your platform's profiler.
*
* This is NOT thread safe.
*
* @precondition Profiling was started
* @return PR_TRUE if profiling was successfully stopped.
* @see StartProfiling
*/
-inline PRBool
+static PRBool
StopProfiling()
{
NS_ASSERTION(gProfilerTriedInit, "tried to stop profile before starting one");
if (!gProfilerInited)
return PR_FALSE;
NS_PRECONDITION(gCurrentProfile, "tried to stop profile before starting one");
-
+
const char* profileName = gCurrentProfile;
gCurrentProfile = 0;
return _PlatformStopProfile(profileName);
}
//--------------------------------------------------
// Shark impl
#if defined(MOZ_SHARK)
@@ -230,50 +224,39 @@ static PRBool
NS_WARNING("Profiling is not available/configured for your platform.");
return PR_FALSE;
}
#endif
//-----------------------------------------------------------------------------
-class ScopedXPCOM : public nsIDirectoryServiceProvider
+class ScopedXPCOM
{
public:
- NS_DECL_ISUPPORTS
-
ScopedXPCOM(const char* testName,
nsIDirectoryServiceProvider *dirSvcProvider = NULL)
- : mDirSvcProvider(dirSvcProvider)
{
mTestName = testName;
printf("Running %s tests...\n", mTestName);
- nsresult rv = NS_InitXPCOM2(&mServMgr, NULL, this);
+ nsresult rv = NS_InitXPCOM2(&mServMgr, NULL, dirSvcProvider);
if (NS_FAILED(rv))
{
fail("NS_InitXPCOM2 returned failure code 0x%x", rv);
mServMgr = NULL;
}
}
~ScopedXPCOM()
{
if (gProfilerInited)
if (!_PlatformDeinitProfiler())
NS_WARNING("Problem shutting down profiler");
- // If we created a profile directory, we need to remove it.
- if (mProfD) {
- if (NS_FAILED(mProfD->Remove(PR_TRUE)))
- NS_WARNING("Problem removing profile direrctory");
-
- mProfD = nsnull;
- }
-
if (mServMgr)
{
NS_RELEASE(mServMgr);
nsresult rv = NS_ShutdownXPCOM(NULL);
if (NS_FAILED(rv))
{
fail("XPCOM shutdown failed with code 0x%x", rv);
exit(1);
@@ -283,87 +266,14 @@ class ScopedXPCOM : public nsIDirectoryS
printf("Finished running %s tests.\n", mTestName);
}
PRBool failed()
{
return mServMgr == NULL;
}
- already_AddRefed<nsIFile> GetProfileDirectory()
- {
- if (mProfD) {
- NS_ADDREF(mProfD);
- return mProfD.get();
- }
-
- // Create a unique temporary folder to use for this test.
- nsCOMPtr<nsIFile> profD;
- nsresult rv = NS_GetSpecialDirectory(NS_OS_TEMP_DIR,
- getter_AddRefs(profD));
- NS_ENSURE_SUCCESS(rv, nsnull);
-
- rv = profD->Append(NS_LITERAL_STRING("cpp-unit-profd"));
- NS_ENSURE_SUCCESS(rv, nsnull);
-
- rv = profD->CreateUnique(nsIFile::DIRECTORY_TYPE, 0755);
- NS_ENSURE_SUCCESS(rv, nsnull);
-
- mProfD = profD;
- return profD.forget();
- }
-
- ////////////////////////////////////////////////////////////////////////////
- //// nsIDirectoryServiceProvider
-
- NS_IMETHODIMP GetFile(const char *aProperty, PRBool *_persistent,
- nsIFile **_result)
- {
- // If we were supplied a directory service provider, ask it first.
- if (mDirSvcProvider &&
- NS_SUCCEEDED(mDirSvcProvider->GetFile(aProperty, _persistent,
- _result))) {
- return NS_OK;
- }
-
- // Otherwise, the test harness provides some directories automatically.
- if (0 == strcmp(aProperty, NS_APP_USER_PROFILE_50_DIR) ||
- 0 == strcmp(aProperty, NS_APP_USER_PROFILE_LOCAL_50_DIR)) {
- nsCOMPtr<nsIFile> profD = GetProfileDirectory();
- NS_ENSURE_TRUE(profD, NS_ERROR_FAILURE);
-
- nsCOMPtr<nsIFile> clone;
- nsresult rv = profD->Clone(getter_AddRefs(clone));
- NS_ENSURE_SUCCESS(rv, rv);
-
- *_persistent = PR_TRUE;
- clone.forget(_result);
- return NS_OK;
- }
-
- return NS_ERROR_FAILURE;
- }
-
private:
const char* mTestName;
nsIServiceManager* mServMgr;
- nsCOMPtr<nsIDirectoryServiceProvider> mDirSvcProvider;
- nsCOMPtr<nsIFile> mProfD;
};
-NS_IMPL_QUERY_INTERFACE1(
- ScopedXPCOM,
- nsIDirectoryServiceProvider
-)
-
-NS_IMETHODIMP_(nsrefcnt)
-ScopedXPCOM::AddRef()
-{
- return 2;
-}
-
-NS_IMETHODIMP_(nsrefcnt)
-ScopedXPCOM::Release()
-{
- return 1;
-}
-
#endif // TestHarness_h__