Skip to content
This repository has been archived by the owner on Sep 6, 2021. It is now read-only.

#5059 chmod all sub files and folders in temp directory #6461

Merged
merged 1 commit into from
Jan 5, 2017
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
69 changes: 44 additions & 25 deletions test/spec/SpecRunnerUtils.js
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -240,35 +240,54 @@ define(function (require, exports, module) {
} }


function _resetPermissionsOnSpecialTempFolders() { function _resetPermissionsOnSpecialTempFolders() {
var i, var entries = [],
folders = [], result = new $.Deferred(),
baseDir = getTempDirectory(), promise,
promise; entryPromise = new $.Deferred(),

tempDir;
folders.push(baseDir + "/cant_read_here");
folders.push(baseDir + "/cant_write_here"); function visitor(entry) {

entries.push(entry.fullPath);
promise = Async.doSequentially(folders, function (folder) { return true;
var deferred = new $.Deferred(); }

tempDir = FileSystem.getDirectoryForPath(getTempDirectory());
FileSystem.resolve(folder, function (err, entry) { tempDir.visit(visitor, function(err){
if (!err) { if (!err) {
// Change permissions if the directory exists entryPromise.resolve(entries);
chmod(folder, "777").then(deferred.resolve, deferred.reject); } else {
if (err === FileSystemError.NOT_FOUND) {
entryPromise.resolve(entries);
} else { } else {
if (err === FileSystemError.NOT_FOUND) { entryPromise.reject();
// Resolve the promise since the folder to reset doesn't exist }
deferred.resolve(); }
});
entryPromise.done(function(entries){
promise = Async.doSequentially(entries, function (entry) {
var deferred = new $.Deferred();

FileSystem.resolve(entry, function (err, item) {
if (!err) {
// Change permissions if the directory exists
chmod(entry, "777").then(deferred.resolve, deferred.reject);
} else { } else {
deferred.reject(); if (err === FileSystemError.NOT_FOUND) {
// Resolve the promise since the folder to reset doesn't exist
deferred.resolve();
} else {
deferred.reject();
}
} }
} });
});

return deferred.promise();
return deferred.promise(); }, true);
}, true); promise.then(result.resolve, result.reject);
}).fail(function() {
result.reject();
});


return promise; return result.promise();
} }


/** /**
Expand Down