Fix the tests

This commit is contained in:
Girish Ramakrishnan
2019-01-22 17:43:24 -08:00
parent 6d365fde14
commit f95beff6d4
2 changed files with 65 additions and 32 deletions

View File

@@ -12,6 +12,7 @@ var async = require('async'),
createTree = require('./common.js').createTree,
database = require('../database'),
DatabaseError = require('../databaseerror.js'),
DataLayout = require('../datalayout.js'),
expect = require('expect.js'),
fs = require('fs'),
os = require('os'),
@@ -234,7 +235,9 @@ describe('backups', function () {
createTree(tmpdir, { 'data': { 'subdir': { 'emptydir': { } } }, 'dir2': { 'file': 'stuff' } });
fs.chmodSync(path.join(tmpdir, 'dir2/file'), parseInt('0755', 8));
backups._saveFsMetadata(tmpdir, function (error) {
let dataLayout = new DataLayout(tmpdir, []);
backups._saveFsMetadata(dataLayout, `${dataLayout.localRoot()}/fsmetadata.json`, function (error) {
expect(error).to.not.be.ok();
var emptyDirs = JSON.parse(fs.readFileSync(path.join(tmpdir, 'fsmetadata.json'), 'utf8')).emptyDirs;
@@ -252,7 +255,9 @@ describe('backups', function () {
expect(fs.existsSync(path.join(tmpdir, 'data/subdir/emptydir'))).to.be(false); // just make sure rimraf worked
backups._restoreFsMetadata(tmpdir, function (error) {
let dataLayout = new DataLayout(tmpdir, []);
backups._restoreFsMetadata(dataLayout, `${dataLayout.localRoot()}/fsmetadata.json`, function (error) {
expect(error).to.not.be.ok();
expect(fs.existsSync(path.join(tmpdir, 'data/subdir/emptydir'))).to.be(true);

View File

@@ -1,11 +1,11 @@
/* global it:false */
/* global describe:false */
/* global before:false */
/* global after:false */
'use strict';
var createTree = require('./common.js').createTree,
DataLayout = require('../datalayout.js'),
execSync = require('child_process').execSync,
expect = require('expect.js'),
fs = require('fs'),
@@ -26,7 +26,7 @@ function collectTasks(task, callback) {
describe('Syncer', function () {
before(function () {
console.log('Tests are run in %s with cache file %s', gTmpDir, gCacheFile)
console.log('Tests are run in %s with cache file %s', gTmpDir, gCacheFile);
});
it('missing cache - removes remote dir', function (done) {
@@ -34,7 +34,9 @@ describe('Syncer', function () {
safe.fs.unlinkSync(gCacheFile);
createTree(gTmpDir, { });
syncer.sync(gTmpDir, collectTasks, 10, function (error) {
let dataLayout = new DataLayout(gTmpDir, []);
syncer.sync(dataLayout, collectTasks, 10, function (error) {
expect(error).to.not.be.ok();
expect(gTasks).to.eql([
@@ -49,7 +51,9 @@ describe('Syncer', function () {
fs.writeFileSync(gCacheFile, '', 'utf8');
createTree(gTmpDir, { 'src': { 'index.js': 'some code' }, 'test': { 'test.js': 'This is a README' }, 'walrus': 'animal' });
syncer.sync(gTmpDir, collectTasks, 10, function (error) {
let dataLayout = new DataLayout(gTmpDir, []);
syncer.sync(dataLayout, collectTasks, 10, function (error) {
expect(error).to.not.be.ok();
expect(gTasks).to.eql([
@@ -66,7 +70,9 @@ describe('Syncer', function () {
fs.writeFileSync(gCacheFile, '', 'utf8');
createTree(gTmpDir, { a: { b: { c: { d: { e: 'some code' } } } } });
syncer.sync(gTmpDir, collectTasks, 10, function (error) {
let dataLayout = new DataLayout(gTmpDir, []);
syncer.sync(dataLayout, collectTasks, 10, function (error) {
expect(error).to.not.be.ok();
expect(gTasks).to.eql([
@@ -81,7 +87,9 @@ describe('Syncer', function () {
fs.writeFileSync(gCacheFile, '', 'utf8');
createTree(gTmpDir, { 'link:file': '/tmp', 'readme': 'this is readme' });
syncer.sync(gTmpDir, collectTasks, 10, function (error) {
let dataLayout = new DataLayout(gTmpDir, []);
syncer.sync(dataLayout, collectTasks, 10, function (error) {
expect(error).to.not.be.ok();
expect(gTasks).to.eql([
@@ -96,14 +104,18 @@ describe('Syncer', function () {
fs.writeFileSync(gCacheFile, '', 'utf8');
createTree(gTmpDir, { 'src': { 'index.js': 'some code' }, 'test': { 'test.js': 'This is a README' }, 'walrus': 'animal' });
syncer.sync(gTmpDir, collectTasks, 10, function (error) {
let dataLayout = new DataLayout(gTmpDir, []);
syncer.sync(dataLayout, collectTasks, 10, function (error) {
expect(error).to.not.be.ok();
expect(gTasks.length).to.be(3);
execSync(`touch src/index.js test/test.js`, { cwd: gTmpDir });
execSync('touch src/index.js test/test.js', { cwd: gTmpDir });
gTasks = [ ];
syncer.sync(gTmpDir, collectTasks, 10, function (error) {
let dataLayout = new DataLayout(gTmpDir, []);
syncer.sync(dataLayout, collectTasks, 10, function (error) {
expect(error).to.not.be.ok();
expect(gTasks).to.eql([
@@ -121,14 +133,16 @@ describe('Syncer', function () {
fs.writeFileSync(gCacheFile, '', 'utf8');
createTree(gTmpDir, { 'src': { 'index.js': 'some code' }, 'test': { 'test.js': 'This is a README' }, 'walrus': 'animal' });
syncer.sync(gTmpDir, collectTasks, 10, function (error) {
let dataLayout = new DataLayout(gTmpDir, []);
syncer.sync(dataLayout, collectTasks, 10, function (error) {
expect(error).to.not.be.ok();
expect(gTasks.length).to.be(3);
execSync(`rm src/index.js walrus`, { cwd: gTmpDir });
execSync('rm src/index.js walrus', { cwd: gTmpDir });
gTasks = [ ];
syncer.sync(gTmpDir, collectTasks, 10, function (error) {
syncer.sync(dataLayout, collectTasks, 10, function (error) {
expect(error).to.not.be.ok();
expect(gTasks).to.eql([
@@ -146,14 +160,16 @@ describe('Syncer', function () {
fs.writeFileSync(gCacheFile, '', 'utf8');
createTree(gTmpDir, { 'src': { 'index.js': 'some code' }, 'test': { 'test.js': 'This is a README' }, 'walrus': 'animal' });
syncer.sync(gTmpDir, collectTasks, 10, function (error) {
let dataLayout = new DataLayout(gTmpDir, []);
syncer.sync(dataLayout, collectTasks, 10, function (error) {
expect(error).to.not.be.ok();
expect(gTasks.length).to.be(3);
execSync(`rm -rf src test`, { cwd: gTmpDir });
execSync('rm -rf src test', { cwd: gTmpDir });
gTasks = [ ];
syncer.sync(gTmpDir, collectTasks, 10, function (error) {
syncer.sync(dataLayout, collectTasks, 10, function (error) {
expect(error).to.not.be.ok();
expect(gTasks).to.eql([
@@ -171,14 +187,16 @@ describe('Syncer', function () {
fs.writeFileSync(gCacheFile, '', 'utf8');
createTree(gTmpDir, { 'src': { 'index.js': 'some code' }, 'test': { 'test.js': 'This is a README' }, 'walrus': 'animal' });
syncer.sync(gTmpDir, collectTasks, 10, function (error) {
let dataLayout = new DataLayout(gTmpDir, []);
syncer.sync(dataLayout, collectTasks, 10, function (error) {
expect(error).to.not.be.ok();
expect(gTasks.length).to.be(3);
execSync(`find . -delete`, { cwd: gTmpDir });
execSync('find . -delete', { cwd: gTmpDir });
gTasks = [ ];
syncer.sync(gTmpDir, collectTasks, 10, function (error) {
syncer.sync(dataLayout, collectTasks, 10, function (error) {
expect(error).to.not.be.ok();
expect(gTasks).to.eql([
@@ -197,14 +215,16 @@ describe('Syncer', function () {
fs.writeFileSync(gCacheFile, '', 'utf8');
createTree(gTmpDir, { a: { b: { c: { d: { e: 'some code' } } } } });
syncer.sync(gTmpDir, collectTasks, 10, function (error) {
let dataLayout = new DataLayout(gTmpDir, []);
syncer.sync(dataLayout, collectTasks, 10, function (error) {
expect(error).to.not.be.ok();
expect(gTasks.length).to.be(1);
execSync(`rm -r a/b; touch a/f`, { cwd: gTmpDir });
execSync('rm -r a/b; touch a/f', { cwd: gTmpDir });
gTasks = [ ];
syncer.sync(gTmpDir, collectTasks, 10, function (error) {
syncer.sync(dataLayout, collectTasks, 10, function (error) {
expect(error).to.not.be.ok();
expect(gTasks).to.eql([
@@ -222,14 +242,16 @@ describe('Syncer', function () {
fs.writeFileSync(gCacheFile, '', 'utf8');
createTree(gTmpDir, { 'data': { 'src': { 'index.js': 'some code' }, 'test': { 'test.js': 'This is a README' }, 'walrus': 'animal' } });
syncer.sync(gTmpDir, collectTasks, 10, function (error) {
let dataLayout = new DataLayout(gTmpDir, []);
syncer.sync(dataLayout, collectTasks, 10, function (error) {
expect(error).to.not.be.ok();
expect(gTasks.length).to.be(3);
execSync(`rm data/test/test.js; mkdir data/test/test.js; touch data/test/test.js/trick`, { cwd: gTmpDir });
execSync('rm data/test/test.js; mkdir data/test/test.js; touch data/test/test.js/trick', { cwd: gTmpDir });
gTasks = [ ];
syncer.sync(gTmpDir, collectTasks, 10, function (error) {
syncer.sync(dataLayout, collectTasks, 10, function (error) {
expect(error).to.not.be.ok();
expect(gTasks).to.eql([
@@ -247,14 +269,16 @@ describe('Syncer', function () {
fs.writeFileSync(gCacheFile, '', 'utf8');
createTree(gTmpDir, { 'src': { 'index.js': 'some code' }, 'test': { 'test.js': 'this', 'test2.js': 'test' }, 'walrus': 'animal' });
syncer.sync(gTmpDir, collectTasks, 10, function (error) {
let dataLayout = new DataLayout(gTmpDir, []);
syncer.sync(dataLayout, collectTasks, 10, function (error) {
expect(error).to.not.be.ok();
expect(gTasks.length).to.be(4);
execSync(`rm -r test; touch test`, { cwd: gTmpDir });
execSync('rm -r test; touch test', { cwd: gTmpDir });
gTasks = [ ];
syncer.sync(gTmpDir, collectTasks, 10, function (error) {
syncer.sync(dataLayout, collectTasks, 10, function (error) {
expect(error).to.not.be.ok();
expect(gTasks).to.eql([
@@ -286,7 +310,9 @@ describe('Syncer', function () {
}
});
syncer.sync(gTmpDir, collectTasks, 10, function (error) {
let dataLayout = new DataLayout(gTmpDir, []);
syncer.sync(dataLayout, collectTasks, 10, function (error) {
expect(error).to.not.be.ok();
execSync(`rm a; \
@@ -301,7 +327,9 @@ describe('Syncer', function () {
rmdir j/m;`, { cwd: gTmpDir });
gTasks = [ ];
syncer.sync(gTmpDir, collectTasks, 10, function (error) {
let dataLayout = new DataLayout(gTmpDir, []);
syncer.sync(dataLayout, collectTasks, 10, function (error) {
expect(error).to.not.be.ok();
expect(gTasks).to.eql([
@@ -318,7 +346,7 @@ describe('Syncer', function () {
]);
gTasks = [ ];
syncer.sync(gTmpDir, collectTasks, 10, function (error) {
syncer.sync(dataLayout, collectTasks, 10, function (error) {
expect(error).to.not.be.ok();
expect(gTasks.length).to.be(0);