Commit Graph

1471 Commits (da71c70600009d1411b2588213c113c4de9a68ae)

Author SHA1 Message Date
Aaron Jacobs 10bc0e766c buffer_test: fix computation of the number of bytes cleared. 2016-12-19 13:14:05 +11:00
Aaron Jacobs 40b516328e buffer: expand test coverage.
In preparation for changing the public API.
2016-12-19 12:40:00 +11:00
Aaron Jacobs 06b9c19b5e TestOutMessageHeader 2016-12-19 12:38:58 +11:00
Aaron Jacobs 78a1450a77 TestOutMessageShrinkTo 2016-12-19 12:32:22 +11:00
Aaron Jacobs 39f1f7c489 TestOutMessageAppendString 2016-12-19 12:31:08 +11:00
Aaron Jacobs c1af0dbdee TestOutMessageAppend 2016-12-19 12:30:42 +11:00
Aaron Jacobs e7b9860f41 buffer_test: expand the coverage of TestOutMessageGrow. 2016-12-19 12:26:59 +11:00
Aaron Jacobs 02e3f7895c buffer_test: expand the coverage of TestOutMessageReset. 2016-12-19 12:20:27 +11:00
Aaron Jacobs f250e46e83 buffer_test: add TODOs where more test coverage is necessary. 2016-12-19 12:16:51 +11:00
Aaron Jacobs 102b1184fb buffer: add more tests.
At the level of the OutMessage API. In preparation for reworking its
implementation.
2016-12-19 11:46:53 +11:00
Aaron Jacobs ad65849346 Add a test for OutMessage.Grow. 2016-12-19 11:17:33 +11:00
Aaron Jacobs e329c0ef33 Add a test for OutMessage.Reset. 2016-12-19 11:17:33 +11:00
Aaron Jacobs e1a6f0e2d8 .travis.yml: require a modern version of Go.
For the sake of testing.T.Run.
2016-12-19 11:12:29 +11:00
Aaron Jacobs 2bb2916cf4 buffer: add tests and benchmarks.
In preparation for considering a switch away from the evil use of
runtime's internal memclr function.
2016-12-19 10:36:05 +11:00
Aaron Jacobs 72fc9c96ca Add a benchmark for growing and shrinking.
This should better stress memclr.
2016-12-19 10:35:20 +11:00
Aaron Jacobs b87ffb528b Fix a bug in BenchmarkOutMessageReset.
I misunderstood what was being zeroed. Only the header is.
2016-12-19 10:26:19 +11:00
Aaron Jacobs d31e0a4eae Add a test for memclr. 2016-12-19 10:19:29 +11:00
Aaron Jacobs 92e3407014 Add benchmarks for OutMessage.Reset. 2016-12-19 09:46:08 +11:00
Aaron Jacobs 3b8b4e55df Add support for osxfuse 3.
There are a few changes to tests and documentation to reflect changes to
osxfuse behavior. All of them should probably be seen as backwards
compatible. The tests now test the osxfuse 3 behavior, and for this
reason we should consider killing osxfuse 2 support after some time.

Closes #18.
Closes #19.
2016-10-16 09:14:47 +01:00
Aaron Jacobs a067b22c1d Fix issues around statfs(2) changes with osxfuse 3.
Tested on OS X 10.11.6 (15G1004) with osxfuse 3.5.2.
2016-10-16 09:12:42 +01:00
Aaron Jacobs b2c3396382 Update state around "close without msyc" behavior on OS X. 2016-10-16 08:56:51 +01:00
Aaron Jacobs d66bad8705 Unexport osxfuse-related code. 2016-10-16 08:56:48 +01:00
Aaron Jacobs 8b5caee575 Unexport OSXFUSEPaths. 2016-10-16 08:56:44 +01:00
Aaron Jacobs f1e482d155 Move osxfuse-specific config into mount_darwin.go. 2016-10-16 08:56:40 +01:00
Aaron Jacobs fc5bd98d65 Don't allow configurability for osxfuse paths.
There's no need to complicate the API. If osxfuse makes a
backwards-incompatible change again, we can add support for it.
2016-10-16 08:56:34 +01:00
Nemanja Zbiljić eadfaa0742 Support OSXFUSE 3.x, fall back to 2.x if needed
Also supports custom bundled OSXFUSE installs.
2016-09-25 18:07:29 +02:00
Aaron Jacobs 0b9db0a706 fuse: improve debug logging, including more inode and name info.
To aid in debugging GoogleCloudPlatform/gcsfuse#170.
2016-05-16 10:07:28 +10:00
Aaron Jacobs 652a72aae2 Return better errors from Mount, instead of dumping them to stderr.
For googlecloudplatform/gcsfuse#161.
2016-02-29 02:49:50 +00:00
Aaron Jacobs 2c0c70f477 Kill off silly fusermount screen scraping. 2016-02-29 02:47:56 +00:00
Aaron Jacobs 2e4cd6720b Add integration tests for mounting.
In particular TestNonEmptyMountPoint, which is currently failing on
Linux due to the poor error handling we inherited from bazil.org/fuse.
2016-02-29 02:45:24 +00:00
Aaron Jacobs 3da7af8c88 Restore TestNonEmptyMountPoint for Linux.
I had forgotten that we explicitly handle the "mount point doesn't
exist" case, so that wasn't tickling what I had hoped in fusermount.
2016-02-29 13:44:02 +11:00
Aaron Jacobs 035636830f Switch to a test that can pass on OS X, too.
It appears osxfuse is happy to mount over a non-empty directory.
2016-02-29 13:41:38 +11:00
Aaron Jacobs 8b7833ba01 TestNonEmptyMountPoint: clean up in the event of a successful mount. 2016-02-29 13:40:25 +11:00
Aaron Jacobs 38175a2e8b Fix minimalFS on OS X. 2016-02-29 13:38:01 +11:00
Aaron Jacobs 3d61726401 TestNonEmptyMountPoint 2016-02-29 02:36:18 +00:00
Aaron Jacobs 45795d4717 TestSuccessfulMount 2016-02-29 02:34:31 +00:00
Aaron Jacobs 608feace05 Add fusetesting.GetTimes.
This makes it easier to write integration tests for atime, ctime, and
mtime on both darwin and linux.
2016-01-11 10:27:55 +11:00
Aaron Jacobs 5595fe0920 Implement GetTimes for linux. 2016-01-10 23:27:28 +00:00
Aaron Jacobs 850146a678 Add GetTimes, implemented for darwin. 2016-01-11 10:26:22 +11:00
Aaron Jacobs 895b8c4155 Added support for mknod(2) and related calls to fuse_mknod.
For googlecloudplatform/gcsfuse#137.
2015-12-15 10:55:29 +11:00
Aaron Jacobs ab9f5b35ca Fixed a silly test bug. 2015-12-14 23:40:46 +00:00
Aaron Jacobs 67e4fbbc5f Added memFS.MkNode. 2015-12-14 23:40:13 +00:00
Aaron Jacobs 47638fa8c7 Added FileSystem support. 2015-12-14 23:35:40 +00:00
Aaron Jacobs f5dc8c356e Added conversion support. 2015-12-14 23:34:09 +00:00
Aaron Jacobs 15b31ee0ee Added MkNodeOp. 2015-12-14 23:30:42 +00:00
Aaron Jacobs 31e0f8e466 Added integration tests for googlecloudplatform/gcsfuse#137. 2015-12-15 10:15:48 +11:00
Aaron Jacobs 6afe951ee0 Fixed build errors. 2015-12-15 10:15:48 +11:00
Aaron Jacobs 4db81d4495 Pasted MknodTest from googlecloudplatform/gcsfuse@ff8a3f0. 2015-12-15 10:15:40 +11:00
Andrew Gaul 1dcc6791f0 Report physical blocks used
Tools like du and ls -l use this value to calculate the space used.
Force block size to 512 bytes for simplicity and compatibility with
Mac OS X which uses an older FUSE.
2015-10-22 18:57:08 -07:00
Aaron Jacobs bc664bf39b Allow the user to independently set block size and IO size.
On OS X we can't set block size above 2^17, but we want to encourage
users to send large reads and writes.

For GoogleCloudPlatform/gcsfuse#125.
2015-09-10 13:55:51 +10:00