UNPKG

@nraynaud/xo-vmdk-to-vhd

Version:
85 lines (63 loc) 2.58 kB
'use strict'; var _regenerator = require('babel-runtime/regenerator'); var _regenerator2 = _interopRequireDefault(_regenerator); var _asyncToGenerator2 = require('babel-runtime/helpers/asyncToGenerator'); var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2); var _chai = require('chai'); var _fsPromise = require('fs-promise'); var _mocha = require('mocha'); var _childProcessPromise = require('child-process-promise'); var _vmdkRead = require('./vmdk-read'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } (0, _mocha.describe)('VMDK reading', function () { (0, _mocha.it)('VMDKDirectParser reads OK', (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function _callee() { var rawFileName, fileName, parser, header, harvested, res; return _regenerator2.default.wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: rawFileName = 'random-data'; fileName = 'random-data.vmdk'; _context.next = 4; return (0, _childProcessPromise.exec)('base64 /dev/urandom | head -c 104448 > ' + rawFileName); case 4: _context.next = 6; return (0, _childProcessPromise.exec)('rm -f ' + fileName + '&& VBoxManage convertfromraw --format VMDK --variant Stream ' + rawFileName + ' ' + fileName); case 6: parser = new _vmdkRead.VMDKDirectParser((0, _fsPromise.createReadStream)(fileName)); _context.next = 9; return parser.readHeader(); case 9: header = _context.sent; harvested = []; case 11: if (!true) { _context.next = 20; break; } _context.next = 14; return parser.next(); case 14: res = _context.sent; if (!(res === null)) { _context.next = 17; break; } return _context.abrupt('break', 20); case 17: harvested.push(res); _context.next = 11; break; case 20: _chai.assert.equal(harvested.length, 2); _chai.assert.equal(harvested[0].lba, 0); _chai.assert.equal(harvested[1].lba, header['grainSizeSectors']); case 23: case 'end': return _context.stop(); } } }, _callee, undefined); }))).timeout(10000); }); //# sourceMappingURL=vmdk-read.spec.js.map