summaryrefslogtreecommitdiffstats
path: root/toolkit/crashreporter/test/nsTestCrasher.cpp
diff options
context:
space:
mode:
authorwolfbeast <mcwerewolf@wolfbeast.com>2019-04-01 13:05:24 +0200
committerwolfbeast <mcwerewolf@wolfbeast.com>2019-04-01 13:05:24 +0200
commitff2f287f82630ab3887d7d5c1e64e5b888ea0beb (patch)
tree4e96cb32aa2320a327024942d247c6b56ef8c199 /toolkit/crashreporter/test/nsTestCrasher.cpp
parentbfc97728065cbbc7f6bbc281b654a2d1e079b48d (diff)
downloadUXP-ff2f287f82630ab3887d7d5c1e64e5b888ea0beb.tar
UXP-ff2f287f82630ab3887d7d5c1e64e5b888ea0beb.tar.gz
UXP-ff2f287f82630ab3887d7d5c1e64e5b888ea0beb.tar.lz
UXP-ff2f287f82630ab3887d7d5c1e64e5b888ea0beb.tar.xz
UXP-ff2f287f82630ab3887d7d5c1e64e5b888ea0beb.zip
Remove crashreporter toolkit files.
Resolves #20
Diffstat (limited to 'toolkit/crashreporter/test/nsTestCrasher.cpp')
-rw-r--r--toolkit/crashreporter/test/nsTestCrasher.cpp126
1 files changed, 0 insertions, 126 deletions
diff --git a/toolkit/crashreporter/test/nsTestCrasher.cpp b/toolkit/crashreporter/test/nsTestCrasher.cpp
deleted file mode 100644
index 1be001160..000000000
--- a/toolkit/crashreporter/test/nsTestCrasher.cpp
+++ /dev/null
@@ -1,126 +0,0 @@
-#include "mozilla/Assertions.h"
-
-#include <stdio.h>
-
-#include "nscore.h"
-#include "nsXULAppAPI.h"
-#include "nsExceptionHandler.h"
-#include "mozilla/Unused.h"
-
-/*
- * This pure virtual call example is from MSDN
- */
-class A;
-
-void fcn( A* );
-
-class A
-{
-public:
- virtual void f() = 0;
- A() { fcn( this ); }
-};
-
-class B : A
-{
- void f() { }
-public:
- void use() { }
-};
-
-void fcn( A* p )
-{
- p->f();
-}
-
-void PureVirtualCall()
-{
- // generates a pure virtual function call
- B b;
- b.use(); // make sure b's actually used
-}
-
-// Keep these in sync with CrashTestUtils.jsm!
-const int16_t CRASH_INVALID_POINTER_DEREF = 0;
-const int16_t CRASH_PURE_VIRTUAL_CALL = 1;
-const int16_t CRASH_RUNTIMEABORT = 2;
-const int16_t CRASH_OOM = 3;
-const int16_t CRASH_MOZ_CRASH = 4;
-const int16_t CRASH_ABORT = 5;
-
-extern "C" NS_EXPORT
-void Crash(int16_t how)
-{
- switch (how) {
- case CRASH_INVALID_POINTER_DEREF: {
- volatile int* foo = (int*)0x42;
- *foo = 0;
- // not reached
- break;
- }
- case CRASH_PURE_VIRTUAL_CALL: {
- PureVirtualCall();
- // not reached
- break;
- }
- case CRASH_RUNTIMEABORT: {
- NS_RUNTIMEABORT("Intentional crash");
- break;
- }
- case CRASH_OOM: {
- mozilla::Unused << moz_xmalloc((size_t) -1);
- mozilla::Unused << moz_xmalloc((size_t) -1);
- mozilla::Unused << moz_xmalloc((size_t) -1);
- break;
- }
- case CRASH_MOZ_CRASH: {
- MOZ_CRASH();
- break;
- }
- case CRASH_ABORT: {
- abort();
- break;
- }
- default:
- break;
- }
-}
-
-extern "C" NS_EXPORT
-nsISupports* LockDir(nsIFile *directory)
-{
- nsISupports* lockfile = nullptr;
- XRE_LockProfileDirectory(directory, &lockfile);
- return lockfile;
-}
-
-char testData[32];
-
-extern "C" NS_EXPORT
-uint64_t SaveAppMemory()
-{
- for (size_t i=0; i<sizeof(testData); i++)
- testData[i] = i;
-
- FILE *fp = fopen("crash-addr", "w");
- if (!fp)
- return 0;
- fprintf(fp, "%p\n", (void *)testData);
- fclose(fp);
-
- return (int64_t)testData;
-}
-
-#ifdef XP_WIN32
-static LONG WINAPI HandleException(EXCEPTION_POINTERS* exinfo)
-{
- TerminateProcess(GetCurrentProcess(), 0);
- return 0;
-}
-
-extern "C" NS_EXPORT
-void TryOverrideExceptionHandler()
-{
- SetUnhandledExceptionFilter(HandleException);
-}
-#endif