Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(741)

Unified Diff: tests/untrusted_crash_dump/untrusted_crash_dump_test.c

Issue 9316125: Adding untrusted crash dump / stack trace tests. (Closed) Base URL: svn://svn.chromium.org/native_client/trunk/src/native_client
Patch Set: fixing 64-bit build issue Created 8 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: tests/untrusted_crash_dump/untrusted_crash_dump_test.c
diff --git a/tests/untrusted_crash_dump/untrusted_crash_dump_test.c b/tests/untrusted_crash_dump/untrusted_crash_dump_test.c
new file mode 100644
index 0000000000000000000000000000000000000000..63f696ec2c481592a06b4cffecaf33ac561fc7b0
--- /dev/null
+++ b/tests/untrusted_crash_dump/untrusted_crash_dump_test.c
@@ -0,0 +1,55 @@
+/*
+ * Copyright (c) 2012 The Native Client Authors. All rights reserved.
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#include <assert.h>
+#include <stdio.h>
+#include <stdlib.h>
+
+#include "native_client/tests/untrusted_crash_dump/untrusted_crash_dump.h"
+
+#if defined(IN_BROWSER)
+#include "native_client/src/shared/srpc/nacl_srpc.h"
+#include "native_client/src/shared/srpc/nacl_srpc_ppapi_plugin_internal.h"
+#endif
+
+void CallMe(void (*func)(int), int);
+
+void layer5(int x, int y) {
+ *(volatile int *)x = y;
+}
+
+void layer4(int x) {
+ layer5(x, 1);
+}
+
+void layer3(int a, int b, int c) {
+ CallMe(layer4, a + b + c);
+}
+
+void layer2(int i, int j) {
+ layer3(i, j, 7);
+}
+
+void layer1(int s, int t) {
+ layer2(s + 5, t + 1);
+}
+
+int main(int argc, char *argv[]) {
+#if defined(IN_BROWSER)
+ if (!NaClSrpcModuleInit())
+ return -1;
+ NaClPluginLowLevelInitializationComplete();
Mark Seaborn 2012/02/06 19:44:06 Please comment what this is for. Do we actually n
bradn 2012/02/06 22:27:48 Ooops, cargo cult. Dropped.
+#endif
+
+ NaClCrashDumpInit(argv[0]);
+
+ layer1(2, 9);
+
+ NaClCrashDumpDestroy();
+
+ fprintf(stderr, "** intended_exit_status=0\n");
Mark Seaborn 2012/02/06 19:44:06 Surely you expect it to crash and not reach here?
bradn 2012/02/06 22:27:48 Whoops. Leftover, thanks. Done.
+ return 0;
+}

Powered by Google App Engine
This is Rietveld 408576698