Commit Graph

333 Commits

Author SHA1 Message Date
David Humphrey (:humph) david.humphrey@senecacollege.ca 08f037ce53 Follow-up fix for issue #235, deal with '/' when adding trailing slash 2014-07-14 16:46:52 -04:00
David Humphrey (:humph) david.humphrey@senecacollege.ca 87e291da64 Fix issue #235 - Allow recursive watches on root directory 2014-07-14 15:51:40 -04:00
Alan K e23cf3a056 Merge pull request #220 from humphd/guid
Make Filer node guid pluggable, default to de-duping ids on generation.
2014-07-14 20:49:56 +02:00
David Humphrey (:humph) david.humphrey@senecacollege.ca 6716a1ff1a s/make_root_directory/ensure_root_directory/ and stop failing on existing node. Fixes #232. 2014-07-07 17:02:42 -04:00
David Humphrey (:humph) david.humphrey@senecacollege.ca 76526caa35 Add a clarifying comment about not coercing buffers passed to read operations. 2014-06-25 13:51:07 -04:00
David Humphrey (:humph) david.humphrey@senecacollege.ca 25f2a24cdf Fix Issue #230: Error: Uncaught TypeError: undefined is not a function on <Buffer>.copy() 2014-06-25 13:13:55 -04:00
David Humphrey (:humph) david.humphrey@senecacollege.ca 98cd3e6da7 Fix #228: Uncaught [Filer Error] Your browser doesn't support IndexedDB or WebSQL. 2014-06-23 13:09:02 -04:00
David Humphrey (:humph) david.humphrey@senecacollege.ca 939d015e6d All tests passing, replaced zlib.js with jszip, upstream fixes to browser-request + jszip for Buffers 2014-06-06 21:29:09 -04:00
David Humphrey (:humph) david.humphrey@senecacollege.ca c8dcd2d14a Switch to build-time check vs run-time for request module in browserify 2014-06-06 11:41:26 -04:00
David Humphrey (:humph) david.humphrey@senecacollege.ca fa65a34905 Get Buffer use fixed, expose Buffer via Filer.Buffer, most tests passing. 2014-06-06 11:14:52 -04:00
David Humphrey (:humph) david.humphrey@senecacollege.ca 1914f7a52b WIP - moving to Buffer internally from Uint8Array, not passing all tests yet. 2014-06-04 15:52:08 -04:00
David Humphrey (:humph) david.humphrey@senecacollege.ca 5ab211d14d Make Filer node guid pluggable, default to de-duping ids on generation. 2014-06-02 16:44:20 -04:00
Kieran Sedgwick bb23e902d2 Closes #204 - Move network.js
The network module (network.js) logically fits better in /shell since it's the only part of filer that uses it.
2014-05-29 13:00:20 -04:00
Kieran Sedgwick 4efa4a91f3 Review fixes from PR #195 2014-05-26 12:31:34 -04:00
David Humphrey (:humph) david.humphrey@senecacollege.ca 930e5ce2e3 Fix some failing tests 2014-05-23 17:01:57 -04:00
David Humphrey (:humph) david.humphrey@senecacollege.ca d9ed65602a Remove adapters (src, tests, docs), fix providers for node 2014-05-23 14:36:23 -04:00
David Humphrey (:humph) david.humphrey@senecacollege.ca 375719b49b Refactor module system from AMD to CommonJS 2014-05-23 14:14:06 -04:00
Kieran Sedgwick 0bbaf5ff93 Added and fixed unit tests
Aside from testing our new module (network.js), we also had to add logic that would test Filer appropriately in both the node and browser environments.
2014-05-22 23:26:19 -04:00
Kieran Sedgwick 9f33d8503e Swapped out XMLHttpRequest for a custom module
We made a module to encapsulate the logic that chooses the nodejs or browser dependency that actually downloads a file when the module is used.
2014-05-22 23:04:08 -04:00
David Humphrey 5fcd313e2f Fix issue #56: Support Filer in node.js as an fs alternative 2014-05-22 23:04:08 -04:00
David Humphrey e37ba7142c Fix review nit, add test 2014-05-22 15:09:33 -04:00
David Humphrey 185c05e742 Fix issue #196: make memory provider DBs sharable 2014-05-22 13:37:15 -04:00
Alan K 247ebd113a Merge pull request #187 from yoavgurevich/issue62v2
Fixes #62
2014-05-21 16:17:19 -04:00
gideonthomas aff6570ad6 Added mknod command to create a file or directory node 2014-05-21 11:25:23 -04:00
yoavgurevich 067f9beb88 Final revisions on removal of arbitrary logic and indentation issues 2014-05-16 17:17:50 -04:00
yoavgurevich 4d24ab2c36 Fixed logic, format, and dependencies according to line note comments from last pull request. Tested on apache localhost server. 2014-05-16 11:43:54 -04:00
Alan K bb87dcdb5e Merge pull request #174 from pbouianov/issue62
Fixes #62
2014-05-14 20:14:58 -04:00
yoavgurevich 6b2a023dea Corrected conflicting syntax and added testing clause for file descriptor argument value 2014-05-14 16:02:46 -04:00
David Humphrey (:humph) david.humphrey@senecacollege.ca 411d6b2a9c Docs and update arg names to match docs 2014-05-14 13:31:53 -04:00
David Humphrey (:humph) david.humphrey@senecacollege.ca af4a004435 All zip/unzip tests passing 2014-05-14 13:31:53 -04:00
David Humphrey (:humph) david.humphrey@senecacollege.ca 35b2fe46c6 Complex trees can be unzipped 2014-05-14 13:31:53 -04:00
David Humphrey (:humph) david.humphrey@senecacollege.ca 16c64d1ca2 Switched to zlib.js, all tests passing 2014-05-14 13:31:53 -04:00
David Humphrey (:humph) david.humphrey@senecacollege.ca c9cb4b4bdb Work thus far, still not right 2014-05-14 13:31:52 -04:00
David Humphrey (:humph) david.humphrey@senecacollege.ca fe4b1e5c0e Adding sh.zip() but still failing a test 2014-05-14 13:31:52 -04:00
David Humphrey (:humph) david.humphrey@senecacollege.ca 3411ba2dd3 First working end-to-end unzip test passing 2014-05-14 13:31:52 -04:00
David Humphrey (:humph) david.humphrey@senecacollege.ca 0e213077e7 Add sh.wget() for downloading files into the fs, with tests and docs 2014-05-14 13:31:52 -04:00
David Humphrey (:humph) david.humphrey@senecacollege.ca 1b12f44a02 Allow query string and hashes in wget filenames and add tests. 2014-05-14 13:24:54 -04:00
David Humphrey (:humph) david.humphrey@senecacollege.ca 9725f0a412 Improve automatic filename extraction for wget 2014-05-14 13:24:54 -04:00
David Humphrey (:humph) david.humphrey@senecacollege.ca 60a9dc2470 Beef up XHR code in sh.wget(), still failing 2 in PhantomJS due to not having web server 2014-05-14 13:24:54 -04:00
David Humphrey (:humph) david.humphrey@senecacollege.ca 2aa46493fa Add sh.wget() for downloading files into the fs, with tests and docs 2014-05-14 13:24:53 -04:00
yoavgurevich 382e59afd3 Added line note fixes to issue 62 logic in interface.js 2014-05-14 12:19:44 -04:00
Petr Bouianov bdd4b5c9fe Fixes issue #62 2014-04-17 19:22:20 -04:00
Petr Bouianov febba4c8ba Tests that expect errors check error codes. Fixes issue78 2014-04-17 11:53:55 -04:00
Alan K 073fe45223 Merge pull request #167 from kwkofler/issue#136
Issue #136 - Added more verbose errors for situations where Private Brow...
2014-04-02 20:00:42 -04:00
kwkofler e925ec3556 Changed WebSQL error to be more in line with IndexedDB error. 2014-03-30 12:48:04 -04:00
Petr Bouianov ea88e78df2 Fixed issues as per pull request conversation 2014-03-30 00:13:25 -04:00
kwkofler 67ada1ba73 Issue #136 - Added more verbose errors for situations where Private Browsing prevents DB access 2014-03-29 13:34:37 -04:00
David Humphrey (:humph) david.humphrey@senecacollege.ca 11127dfe94 Remove dead code 2014-03-18 16:47:04 -04:00
David Humphrey (:humph) david.humphrey@senecacollege.ca bf22cad14d Move shell.js and environment.js to shell/ 2014-03-18 16:41:31 -04:00
David Humphrey (:humph) david.humphrey@senecacollege.ca a28feae506 Fix failing tests for src/filesystem/* issues, all tests pass now 2014-03-18 16:34:47 -04:00
David Humphrey (:humph) david.humphrey@senecacollege.ca b73678c5c0 Remove duplicate decls across filesystem/* 2014-03-18 14:31:38 -04:00
David Humphrey (:humph) david.humphrey@senecacollege.ca 87fd1465f7 Dump fs.js 2014-03-18 14:16:39 -04:00
David Humphrey (:humph) david.humphrey@senecacollege.ca 2418b4a634 Split up fs.js 2014-03-18 14:16:12 -04:00
David Humphrey (:humph) david.humphrey@senecacollege.ca 8dcc38de82 Start refactoring of fs.js 2014-03-18 12:29:20 -04:00
David Humphrey (:humph) david.humphrey@senecacollege.ca cf29eef1ef Rebase and fix failing tests in mkdirp 2014-03-16 11:47:55 -04:00
David Humphrey (:humph) david.humphrey@senecacollege.ca be9e0b50a8 Generate errors instead of hard-coding, with tests 2014-03-16 11:36:15 -04:00
David Humphrey (:humph) david.humphrey@senecacollege.ca fe7ec79f83 Refactor errors code, fix to better match node 2014-03-16 11:36:15 -04:00
Petr Bouianov 6faabdb937 Added shell.mkdirp. Fixes issue #126. 2014-03-13 23:03:29 -05:00
David Humphrey (:humph) david.humphrey@senecacollege.ca 4a0ffb5f5a Fix EventEmitter to match that expected by Intercom 2014-03-12 16:49:20 -04:00
David Humphrey ef40ff7d68 Expose errors on Filer.Errors, refactor how they get used internally, add docs 2014-03-10 14:28:22 -04:00
Alan K 0cfb29eaec Merge pull request #140 from humphd/issue132
Support fs.watch(), FSWatcher. Fixes #132
2014-03-08 16:04:15 -05:00
David Humphrey (:humph) david.humphrey@senecacollege.ca edfcbddb4a s/this/fs/ in callback.apply(fs, arguments) for each complete() call 2014-03-08 15:51:42 -05:00
David Humphrey (:humph) david.humphrey@senecacollege.ca 2f7a9d8e35 Review fixes: add context.close(), move intercom broadcast into fs 2014-03-08 15:47:33 -05:00
David Humphrey (:humph) david.humphrey@senecacollege.ca 98b40c5045 Review fixes 2014-03-07 20:21:10 -05:00
kwkofler c975c2e3e6 Rebase conflict resolution removed two methods accidentally, replaced them 2014-03-07 18:59:30 -05:00
kwkofler 880f70d3de Merge remote-tracking branch 'upstream/develop' into issue#112
Conflicts:
	src/fs.js
	tests/test-manifest.js
2014-03-07 18:47:32 -05:00
kwkofler 7c14af9668 Fixed Stats prototypes, created full Mocha test suite 2014-03-07 18:10:02 -05:00
David Humphrey (:humph) david.humphrey@senecacollege.ca eff4d9b5fc Deal with failing tests for rename, and do a better cleanup job in watcher.close() 2014-03-07 13:46:54 -05:00
David Humphrey (:humph) david.humphrey@senecacollege.ca 96836f355c Most things passing for change events now, ported node.js watch tests 2014-03-07 11:54:14 -05:00
David Humphrey (:humph) david.humphrey@senecacollege.ca a365144e97 First passing tests for fs.watch(), use EventEmitter2 via bower 2014-03-06 22:27:10 -05:00
David Humphrey (:humph) david.humphrey@senecacollege.ca 799a7ae4b1 Add intercom.js functionality for inter-window event broadcast 2014-03-06 19:56:49 -05:00
Alan Kligman bb9c34e5b3 Revert "Merge pull request #113 from kwkofler/issue#112"
This reverts commit bfba8c3546, reversing
changes made to f079eaa7dd.
2014-03-06 11:35:53 -05:00
Alan K bfba8c3546 Merge pull request #113 from kwkofler/issue#112
Resolves issue #112, though isBlockDevice(), isCharacterDevice(), isFIFO...
2014-03-06 09:52:40 -05:00
Alan K f079eaa7dd Merge pull request #134 from pbouianov/issue125
Updated error object to match Node.js. Solves issue #125.
2014-03-05 22:39:02 -05:00
David Humphrey (:humph) david.humphrey@senecacollege.ca 5438d8c97b Fix mount flags per review and also write docs 2014-03-05 20:03:27 -05:00
David Humphrey (:humph) david.humphrey@senecacollege.ca b95ac40e65 Switch to NOATIME for Filer and mirror ctime to atime. 2014-03-05 17:00:54 -05:00
David Humphrey (:humph) david.humphrey@senecacollege.ca 8c743bb95a Fix remaining test failures 2014-03-05 16:27:12 -05:00
David Humphrey (:humph) david.humphrey@senecacollege.ca 61111da85d Finish atime, ctime, mtime updates for fs operations, fix tests 2014-03-05 15:57:28 -05:00
David Humphrey (:humph) david.humphrey@senecacollege.ca 1fdd9ac476 Initial work refactoring updates to node times 2014-03-05 15:57:28 -05:00
pbouianov fe9b94d4ec Changed IndexedDB provider to use RW context if RO is requested. Fixes issue #128 2014-03-05 14:45:59 -05:00
pbouianov bf9ff3ab3a Updated error object to match Node.js. Solves issue #125. 2014-03-05 13:22:23 -05:00
David Humphrey (:humph) david.humphrey@senecacollege.ca 32a5cfe584 Review fixes 2014-03-04 14:32:33 -05:00
David Humphrey (:humph) david.humphrey@senecacollege.ca da5e1b2b57 Fix WebSQL provider to properly deal with typed arrays, 100% of tests passing now on WebKit with WebSQL 2014-03-04 13:37:37 -05:00
kwkofler 0ce4d192fa Missing semi-colons added 2014-03-03 18:54:02 -05:00
kwkofler 866d8c1876 Issue #112 - Added mode reporting functions to the Stats object prototype, and appropriate tests 2014-03-03 18:54:01 -05:00
kwkofler 1dc325556a Resolves issue #112, though isBlockDevice(), isCharacterDevice(), isFIFO(), and isSocket() currently lack constants, hence return false. 2014-03-03 18:54:01 -05:00
Alan Kligman 7d6bd98a31 Merge branch 'develop' of github.com:js-platform/filer into develop
Updated null-bytes test to have absolute paths

Conflicts:
	dist/filer.js
	dist/filer.min.js
2014-02-21 12:51:59 -05:00
Alan Kligman 7fce631ad7 add error for relative paths 2014-02-21 12:39:33 -05:00
pbouianov 0c30d6dd18 Added fs.exists support. Fixes Issue91 2014-02-21 06:56:14 -05:00
David Humphrey (:humph) david.humphrey@senecacollege.ca 64a52b7d00 Share code from lib/async.js instead of inlining nextTick in Memory provider 2014-02-19 17:55:56 -05:00
David Humphrey (:humph) david.humphrey@senecacollege.ca a7a1f4b82e Change sh.exec to take a list vs. object for passed args 2014-02-19 17:36:26 -05:00
David Humphrey (:humph) david.humphrey@senecacollege.ca eadd4ec03c Review fixes 2014-02-19 17:29:11 -05:00
David Humphrey (:humph) david.humphrey@senecacollege.ca dd87117ff8 Update docs for shell changes 2014-02-19 15:33:37 -05:00
David Humphrey (:humph) david.humphrey@senecacollege.ca 21f5d15f51 Add support for shell.env, PWD, TMP, and tempDir, with tests 2014-02-19 15:33:37 -05:00
David Humphrey (:humph) david.humphrey@senecacollege.ca 83c55308dc Add shell.rm() with tests 2014-02-19 15:33:37 -05:00
David Humphrey (:humph) david.humphrey@senecacollege.ca e4767019cc Add shell.ls() with tests 2014-02-19 15:33:37 -05:00
David Humphrey (:humph) david.humphrey@senecacollege.ca 2829079bd3 Add Shell.cat() with tests 2014-02-19 15:33:37 -05:00
David Humphrey (:humph) david.humphrey@senecacollege.ca d7cce709f9 Fix shell.cd and add tests 2014-02-19 15:33:37 -05:00
David Humphrey (:humph) david.humphrey@senecacollege.ca 2d3b15d310 Deal with jshint hating the Function constructor 2014-02-19 15:33:36 -05:00
David Humphrey (:humph) david.humphrey@senecacollege.ca 263b9cd9b0 Add shell.exec with test 2014-02-19 15:33:36 -05:00
David Humphrey (:humph) david.humphrey@senecacollege.ca e43b1ba551 Working touch command with tests 2014-02-19 15:33:36 -05:00
David Humphrey (:humph) david.humphrey@senecacollege.ca f618a44b9e Begin work on FileSystemShell and touch command 2014-02-19 15:33:36 -05:00
Alan Kligman ebe52fe5c3 Fixes #106. Also fixed bug in write_data where offset wasn't used copy data from source buffer. 2014-02-19 12:27:57 -05:00
Alan Kligman 49cec5df60 Fix #105. Regression test for #105 had an error so I fixed that also. Updated refactoring-test example. 2014-02-18 21:45:36 -05:00
David Humphrey (:humph) david.humphrey@senecacollege.ca a33c2bd358 Fix failing null-byte case in PhantomJS for fs.truncate. Fixes #117 2014-02-18 11:02:08 -05:00
David Humphrey (:humph) david.humphrey@senecacollege.ca 4812861dcf Refactor tests: switch to Mocha, make providers and filer source configurable. Fixes #59
Make provider configurable via URL. Convert fs.close test to use it. Still have timing issue with WebSQL.

Indent fix

Use bower to install mocha

Converting to mocha, Memory provider failing still in fs.close

Got mocha tests working with all providers

Converted more tests

Move more tests over to mocha

Move more tests over

Move more tests over

More tests moved over

More tests converted

More tests moved over

Move more tests over

Move last tests over

Convert more tests

Remove Jasmine and other unnecessary test files, rename tests/spec/regression to tests/bugs

Get tests running with grunt+mocha+phantomjs

Add docs on new tests
2014-02-14 15:44:57 -05:00
Alan K 4137c12420 Merge pull request #101 from pbouianov/issue88
added fs.appendFile support
2014-02-03 19:50:37 -08:00
pbouianov 6ec635e551 fixed, added appendFile tests and updated README 2014-01-30 14:12:32 -05:00
pbouianov 51c10e0580 added fs.appendFile support 2014-01-23 21:56:04 -05:00
zmhassan bb04cce826 Fixed linting issues found with Grunt 2014-01-21 09:00:22 -05:00
David Humphrey 6f61249e81 Remove 3DES and Rabbit from encryption adapters, update docs, tests. Fixes #92 2014-01-16 14:46:33 -05:00
David Humphrey (:humph) david.humphrey@senecacollege.ca 641eb870a7 s/IDBFS/Filer/ in all files, docs, tests. Fixes #54 2014-01-14 11:36:18 -05:00
Alan K fc03bb72d3 Merge pull request #84 from btulchinsky/xattr
Implement setxattr, getxattr
2014-01-13 21:59:20 -08:00
Barry Tulchinsky d31d33651c removed comments and patched parameter name and potential undefined error 2014-01-13 20:03:54 -05:00
Barry Tulchinsky b08a8d15dd fixed null value and refactored setxattr 2014-01-05 12:22:57 -05:00
Barry Tulchinsky 732218cc1d fixed unnecessary null checking and replaced it with hasOwnproperty method, also added removexattr and fremovexattr and tests for it 2013-12-24 15:10:17 -05:00
Barry Tulchinsky 7ae907cd5b changed behaviour to allow falsy values (ie. empty string), added more test cases and modified README.md 2013-12-22 20:58:00 -05:00
Barry Tulchinsky 55c08e6f08 added more tests and added spec file to test manifest 2013-12-21 16:30:40 -05:00
Barry Tulchinsky c29ec0c3b7 fix for issue 81 - error when utimes/futimes fails to queue/run 2013-12-20 21:29:22 -05:00
Barry Tulchinsky 37d998fb55 work on getxattr 2013-12-20 19:55:43 -05:00
Barry Tulchinsky 5d022c3ca3 started spec tests and exposed to FileSystem prototype 2013-12-20 11:50:59 -05:00
Barry Tulchinsky a83ccf6154 implementation of getxattr 2013-12-20 04:36:25 -05:00
Barry Tulchinsky 5e61be5668 rebased 2013-12-20 03:34:05 -05:00
Barry Tulchinsky 848eb734b5 start of setxattr and getxattr implementation 2013-12-20 03:14:40 -05:00
Alan Kligman 9f031397e8 Merge branch 'utimes' into develop 2013-12-20 00:45:50 -05:00
Alan Kligman 7dc0ef6ccb remove comments; clarify test message 2013-12-20 00:45:11 -05:00
Barry Tulchinsky 53e6293494 updated error messages 2013-12-17 14:15:10 -05:00
Barry Tulchinsky 359b070536 updated/added tests and caching for current time 2013-12-17 11:28:22 -05:00
Barry Tulchinsky 23ace603c9 added/fixed tests and futimes bug 2013-12-15 21:22:36 -05:00
Barry Tulchinsky a0456e2909 removed console.log statements used for debugging 2013-12-15 02:57:11 -05:00
Barry Tulchinsky e84d639210 fixed bugs where atime and mtime weren't updated on the node and where mtime was valid it would error. Also added more tests 2013-12-15 02:54:51 -05:00
Alan Kligman e17acff0b1 reorganized for building 2013-12-14 22:36:24 -05:00
Alan Kligman 8510e4a712 add support for supernode, which contains metadata about the file system itself (currently only the location of the root node); updated refactoring-test 2013-12-14 14:42:00 -05:00
Barry Tulchinsky d5b5c55fe1 implementation of utimes and futimes 2013-12-13 00:46:31 -05:00
Abir Viqar 13abcd2eeb implement truncate and ftruncate 2013-12-10 12:12:43 -05:00
David Humphrey (:humph) david.humphrey@senecacollege.ca 3d11b34893 Update adapter tests to use Uint8Array and fix crypto encodings, complete zlib work. Fixes #52. 2013-12-04 12:14:16 -05:00
David Humphrey 82f4648ef5 Trying to sort out encodings to/from Uint8Array, not working 2013-12-03 16:14:51 -05:00
David Humphrey aca2d80104 Trying to fix encoding issue in crypto.js, not working yet 2013-12-03 15:23:47 -05:00
David Humphrey a3a1c50b4e Add Zlib adapter, generalize adapter tests 2013-12-03 15:14:20 -05:00
David Humphrey (:humph) david.humphrey@senecacollege.ca 8c9127d798 Remove need for encoding-indexes.js, trim bits of lodash.js we don't need. Fixes #57 2013-12-02 15:10:43 -05:00
David Humphrey (:humph) david.humphrey@senecacollege.ca d2790a4703 Review fixes, move crypto to src/adapters, update tests, update README, rebuild files in dist/ 2013-12-01 16:45:24 -05:00
David Humphrey (:humph) david.humphrey@senecacollege.ca 440b5f2618 Remove dead code in crypto-wrappers.js 2013-12-01 16:44:10 -05:00
David Humphrey (:humph) david.humphrey@senecacollege.ca 05b4262cde Fix encoding issue with decrypted string in crypto wrapper 2013-12-01 16:44:10 -05:00
David Humphrey (:humph) david.humphrey@senecacollege.ca 0ccc9e4dc2 Don't encrypt keys 2013-12-01 16:44:10 -05:00
David Humphrey (:humph) david.humphrey@senecacollege.ca 58f57cca19 WIP on crypto wrapper providers for AES, TripleDES, Rabbit, 3 tests failing 2013-12-01 16:44:09 -05:00
David Humphrey (:humph) david.humphrey@senecacollege.ca 6608a368f5 Mark off changes to path.js with XXXidbfs comment prefix. 2013-11-29 11:28:00 -05:00
David Humphrey (:humph) david.humphrey@senecacollege.ca 00b7866874 Fix up issue in node.js' impl of basename 2013-11-29 11:27:59 -05:00
David Humphrey (:humph) david.humphrey@senecacollege.ca c411aa1394 Include the rest of node.js' path functions 2013-11-29 11:27:59 -05:00
David Humphrey (:humph) david.humphrey@senecacollege.ca 6ebbdc5915 Finish WebSQL implementation, all tests passing. Fixes #21. 2013-11-29 10:29:04 -05:00
David Humphrey (:humph) david.humphrey@senecacollege.ca d5db4c51b9 Down to 1 test failure 2013-11-27 19:35:52 -05:00