aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoralon@honor <none@none>2010-09-04 21:32:35 -0700
committeralon@honor <none@none>2010-09-04 21:32:35 -0700
commitc3d043f32921b28dee20c5b68e0c1424d266b2a3 (patch)
treeaf24f8a6910ccde42f2bb089538a5aefe3f277ce
parentf44ff320263db6a465a09798168b4220e7333f83 (diff)
clean up settings and add code snippets file
--HG-- rename : tests/settings.cfg => tests/settings.py
-rw-r--r--src/parser.js29
-rw-r--r--src/settings.js3
-rw-r--r--src/snippets.js15
-rw-r--r--tests/runner.py4
-rw-r--r--tests/settings.py (renamed from tests/settings.cfg)0
5 files changed, 26 insertions, 25 deletions
diff --git a/src/parser.js b/src/parser.js
index 6eb368b5..22fdd3e6 100644
--- a/src/parser.js
+++ b/src/parser.js
@@ -8,9 +8,6 @@
// Options
-OPTIMIZE = 1;
-RELOOP = 1;
-
LINEDEBUG = 0;
// Prep - allow this to run in both SpiderMonkey and V8
@@ -22,8 +19,10 @@ if (!this['read']) {
read = function(f) { snarf(f) }
}
+load('settings.js');
load('utility.js');
load('enzymatic.js');
+load('snippets.js');
// Tools
@@ -1938,26 +1937,10 @@ function JSify(data) {
substrate.addZyme('FunctionStub', {
selectItem: function(item) { return item.intertype == 'functionStub' && !item.JS },
processItem: function(item) {
- switch(item.ident) {
- case '_vsnprintf': {
- item.JS =
- 'function _vsnprintf(dst, num, src, ptr) {\n' +
- ' var args = [];\n' +
- ' while (HEAP[ptr] != 0) {\n' +
- ' args.push(HEAP[ptr]);\n' +
- ' ptr ++;\n' +
- ' }\n' +
- ' var text = __formatString.apply(null, [src].concat(args));\n' +
- ' for (var i = 0; i < num; i++) {\n' +
- ' HEAP[dst+i] = HEAP[text+i];\n' +
- ' if (HEAP[dst+i] == 0) break;\n' +
- ' }\n' +
- '}\n';
- break;
- }
- default: {
- item.JS = '// stub for ' + item.ident;
- }
+ if (['_vsnprintf'].indexOf(item.ident) != -1) {
+ item.JS = item.ident + ' = ' + Snippets[item.ident].toString();
+ } else {
+ item.JS = '// stub for ' + item.ident;
}
item.__result__ = true;
return [item];
diff --git a/src/settings.js b/src/settings.js
new file mode 100644
index 00000000..287caf8f
--- /dev/null
+++ b/src/settings.js
@@ -0,0 +1,3 @@
+OPTIMIZE = 1;
+RELOOP = 1;
+
diff --git a/src/snippets.js b/src/snippets.js
new file mode 100644
index 00000000..f2fa9440
--- /dev/null
+++ b/src/snippets.js
@@ -0,0 +1,15 @@
+var Snippets = {
+ _vsnprintf: function(dst, num, src, ptr) {
+ var args = [];
+ while (HEAP[ptr] != 0) {
+ args.push(HEAP[ptr]);
+ ptr ++;
+ }
+ var text = __formatString.apply(null, [src].concat(args));
+ for (var i = 0; i < num; i++) {
+ HEAP[dst+i] = HEAP[text+i];
+ if (HEAP[dst+i] == 0) break;
+ }
+ },
+};
+
diff --git a/tests/runner.py b/tests/runner.py
index d1a8b63f..bc97cc01 100644
--- a/tests/runner.py
+++ b/tests/runner.py
@@ -1,7 +1,7 @@
'''
Simple test runner
-See settings.cfg file for options&params. Edit as needed.
+See settings.py file for options&params. Edit as needed.
'''
from subprocess import Popen, PIPE, STDOUT
@@ -13,7 +13,7 @@ abspath = os.path.abspath(os.path.dirname(__file__))
def path_from_root(pathelems):
return os.path.join(os.path.sep, *(abspath.split(os.sep)[:-1] + pathelems))
-exec(open(os.path.join(os.path.abspath(os.path.dirname(__file__)), 'settings.cfg'), 'r').read())
+exec(open(os.path.join(os.path.abspath(os.path.dirname(__file__)), 'settings.py'), 'r').read())
def timeout_run(proc, timeout, note):
start = time.time()
diff --git a/tests/settings.cfg b/tests/settings.py
index 34f90c87..34f90c87 100644
--- a/tests/settings.cfg
+++ b/tests/settings.py