mirror of
https://github.com/jedisct1/libsodium.git
synced 2024-12-20 10:37:24 -07:00
Add a pre-js script for providing /dev/urandom to tests in Javascript.
Not plugged to the build system yet.
This commit is contained in:
parent
c06e228867
commit
43132738d2
33
test/default/pre.js
Normal file
33
test/default/pre.js
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
try {
|
||||||
|
this['Module'] = Module;
|
||||||
|
Module.test;
|
||||||
|
} catch(e) {
|
||||||
|
this['Module'] = Module = {};
|
||||||
|
}
|
||||||
|
Module['preRun'] = Module['preRun'] || [];
|
||||||
|
Module['preRun'].push(function(){
|
||||||
|
var randombyte = null;
|
||||||
|
try {
|
||||||
|
function randombyte_standard() {
|
||||||
|
var buf = new Int8Array(1);
|
||||||
|
window.crypto.getRandomValues(buf);
|
||||||
|
return buf[0];
|
||||||
|
}
|
||||||
|
randombyte_standard();
|
||||||
|
randombyte = randombyte_standard;
|
||||||
|
} catch (e) {
|
||||||
|
try {
|
||||||
|
var crypto = require('crypto');
|
||||||
|
function randombyte_node() {
|
||||||
|
return crypto.randomBytes(1)[0];
|
||||||
|
}
|
||||||
|
randombyte_node();
|
||||||
|
randombyte = randombyte_node;
|
||||||
|
} catch(e) { }
|
||||||
|
}
|
||||||
|
FS.init();
|
||||||
|
var devFolder = FS.findObject('/dev') ||
|
||||||
|
Module['FS_createFolder']('/', 'dev', true, true);
|
||||||
|
Module['FS_createDevice'](devFolder, 'random', randombyte);
|
||||||
|
Module['FS_createDevice'](devFolder, 'urandom', randombyte);
|
||||||
|
});
|
Loading…
Reference in New Issue
Block a user