[
MAINHACK
]
Mail Test
BC
Config Scan
HOME
Create...
New File
New Folder
Viewing / Editing File: download-node-tests.js
#!/usr/bin/env node var concat = require('concat-stream') var cp = require('child_process') var fs = require('fs') var hyperquest = require('hyperquest') var path = require('path') var split = require('split') var through = require('through2') var url = 'https://api.github.com/repos/nodejs/node/contents' var dirs = [ '/test/parallel', '/test/pummel' ] cp.execSync('rm -rf node/*.js', { cwd: path.join(__dirname, '../test') }) var httpOpts = { headers: { 'User-Agent': null // auth if github rate-limits you... // 'Authorization': 'Basic ' + Buffer('username:password').toString('base64'), } } dirs.forEach(function (dir) { var req = hyperquest(url + dir, httpOpts) req.pipe(concat(function (data) { if (req.response.statusCode !== 200) { throw new Error(url + dir + ': ' + data.toString()) } downloadBufferTests(dir, JSON.parse(data)) })) }) function downloadBufferTests (dir, files) { files.forEach(function (file) { if (!/test-buffer.*/.test(file.name)) return if (file.name === 'test-buffer-fakes.js') { // These teses only apply to node, where they're calling into C++ and need to // ensure the prototype can't be faked, or else there will be a segfault. return } console.log(file.download_url) var out = path.join(__dirname, '../test/node', file.name) hyperquest(file.download_url, httpOpts) .pipe(split()) .pipe(testfixer(file.name)) .pipe(fs.createWriteStream(out)) .on('finish', function () { console.log('wrote ' + file.name) }) }) } function testfixer (filename) { var firstline = true return through(function (line, enc, cb) { line = line.toString() if (firstline) { // require buffer explicitly var preamble = 'var Buffer = require(\'../../\').Buffer;\n' if (/use strict/.test(line)) line += '\n' + preamble else line + preamble + '\n' + line firstline = false } // use `var` instead of `const`/`let` line = line.replace(/(const|let) /g, 'var ') // make `var common = require('common')` work line = line.replace(/(var common = require.*)/g, 'var common = { skip: function () {} };') // make `require('../common')` work line = line.replace(/require\('\.\.\/common'\);/g, '') // require browser buffer line = line.replace(/(.*)require\('buffer'\)(.*)/g, '$1require(\'../../\')$2') // comment out console logs line = line.replace(/(.*console\..*)/g, '// $1') // we can't reliably test typed array max-sizes in the browser if (filename === 'test-buffer-big.js') { line = line.replace(/(.*new Int8Array.*RangeError.*)/, '// $1') line = line.replace(/(.*new ArrayBuffer.*RangeError.*)/, '// $1') line = line.replace(/(.*new Float64Array.*RangeError.*)/, '// $1') } // https://github.com/nodejs/node/blob/v0.12/test/parallel/test-buffer.js#L1138 // unfortunately we can't run this because crypto-browserify doesn't work in old // versions of ie if (filename === 'test-buffer.js') { line = line.replace(/^(\s*)(var crypto = require.*)/, '$1// $2') line = line.replace(/(crypto.createHash.*\))/, '1 /*$1*/') } cb(null, line + '\n') }) }
Save Changes
Cancel / Back
Close ×
Server Info
Hostname: server1.winmanyltd.com
Server IP: 203.161.60.52
PHP Version: 8.3.27
Server Software: Apache
System: Linux server1.winmanyltd.com 4.18.0-553.22.1.el8_10.x86_64 #1 SMP Tue Sep 24 05:16:59 EDT 2024 x86_64
HDD Total: 117.98 GB
HDD Free: 59.65 GB
Domains on IP: N/A (Requires external lookup)
System Features
Safe Mode:
Off
disable_functions:
None
allow_url_fopen:
On
allow_url_include:
Off
magic_quotes_gpc:
Off
register_globals:
Off
open_basedir:
None
cURL:
Enabled
ZipArchive:
Enabled
MySQLi:
Enabled
PDO:
Enabled
wget:
Yes
curl (cmd):
Yes
perl:
Yes
python:
Yes (py3)
gcc:
Yes
pkexec:
Yes
git:
Yes
User Info
Username: eliosofonline
User ID (UID): 1002
Group ID (GID): 1003
Script Owner UID: 1002
Current Dir Owner: 1002