Commit Graph

49 Commits

Author SHA1 Message Date
Andrew Gaul
7e20278489
Address some Shellcheck SC2012 warnings (#2306) 2023-09-10 12:50:18 +09:00
Andrew Gaul
3f64c72c24
Explicitly grep for ps args (#2301) 2023-09-03 22:03:45 +09:00
Andrew Gaul
3a6af38582
Tighten up Content-Type checking (#2258) 2023-08-15 21:23:59 +09:00
Andrew Gaul
e14a2eb94b
Add AWS CLI config for use_sse=custom (#2230) 2023-07-25 23:31:20 +09:00
Andrew Gaul
1910856c6c
Remove wait and check loop from mk_test_file (#2175)
This appears to be some kind of eventual consistency check.  This
should have no effect given S3Proxy and recent AWS strong consistency.
Also it is likely ineffective given the other test object creation
operations.
2023-06-07 23:24:31 +09:00
Andrew Gaul
4b3e715291
Always return nanoseconds from get_time helpers (#2174)
This makes Linux and macOS more consistent.
2023-05-30 18:52:55 +09:00
Takeshi Nakatani
11adf11957 Changed the time(a/c/m) acquisition of stat to nanosecond string 2022-07-25 07:21:37 +09:00
Andrew Gaul
3a0799ec18
Re-re-re-fix propagating the return code (#1984)
This shell incantation is necessary to have errexit take effect for
test bodies.  Previous only the _last_ command's exit code was
propagated to the test runner, masking real failures.  Reverts
ea3c21f270.
2022-07-17 02:13:06 +09:00
Takeshi Nakatani
a30beded1c Removed unnecessary debug options for aws command 2022-04-22 22:36:06 +09:00
Takeshi Nakatani
df7bbb28d5 Replace awscli version 1 to 2 2022-04-19 23:11:25 +09:00
Andrew Gaul
0842c5718f
Use more new file names for every test (#1902)
This makes the tests more robust.  Also fix filename to end in .txt.
2022-02-23 22:59:21 +09:00
Andrew Gaul
232ff28cc7
Re-re-fix propagating the return code (#1903)
Previously the integration tests were exiting after the first failed
test instead of running all of them an reporting their statuses.
Follows on to dbf93c0152.
2022-02-23 14:27:29 +09:00
Andrew Gaul
dbf93c0152
Propagate return code properly (#1884)
Previously this did not propagate test failures.  A bad rebase
introduced this logic in 495d51113c.
2022-02-06 22:45:20 +09:00
Takeshi Nakatani
46014397d8 Added test by a shell script static analysis tool(ShellCheck) 2022-01-22 22:23:08 +09:00
Andrew Gaul
6300859c80
Prefer = over == for older shell compatibility (#1857) 2022-01-14 12:40:55 +09:00
Andrew Gaul
577e2bc987
Generate S3Proxy SSL certificate during tests (#1845)
Also provide CA bundle to AWS CLI to work around CI failures instead
of ignoring errors.  Fixes #1812.
2022-01-09 15:13:36 +09:00
Andrew Gaul
adb58af17b
Annotate local variables (#1844)
This prevents collisions with other globals.  Fixes #1843.
2022-01-09 13:03:36 +09:00
Andrew Gaul
e734763002
Remove createbucket option (#1841)
AWS CLI can do this.  Fixes #1840.
2022-01-05 01:59:31 +09:00
Andrew Gaul
07e2e3f72a
Remove sleep 1 from test_update_directory_time (#1803)
Reduces per-flag test run-time by 5 seconds.
2021-11-04 08:16:40 +09:00
Andrew Gaul
495d51113c
Remove unneeded sleeps from tests (#1784)
Also use a unique file name for every test.  This ensures that tests
like test_external_directory_creation and test_external_modification
do not collide.
2021-10-26 23:19:14 +09:00
Carsten Grohmann
0abeec9cae Simpily errexit modifications 2021-10-26 21:47:36 +09:00
Andrew Gaul
ea3c21f270
Reduce errexit modifications (#1785)
This is less error prone but requires some magic && ||.
2021-10-25 23:53:45 +09:00
Andrew Gaul
1571379304
Set LC_ALL=en_US.UTF-8 in tests (#1691)
This allows tests to pass using the S3Proxy filesystem provider.
References #1665.
2021-06-20 19:27:25 +09:00
Carsten Grohmann
c0bcb41175
Increase test robustness by adding LC_ALL=C (#1660)
Use C locale, because some tests check for English expressions

Fixes #1658
2021-05-20 21:19:50 +09:00
Takeshi Nakatani
9d8f1b00f7 Fixed make_random_string test code being slow on macos 2021-05-08 13:55:39 +09:00
Takeshi Nakatani
81e267d421 Fixed the same bug in chmod/chown/utimens and added tests 2021-02-20 23:30:50 +09:00
Carsten Grohmann
5debf523b0 Allow changing temporary directory used for tests
Set temporary directory to $TMPDIR if set or use default /var/tmp
2021-02-19 13:59:23 +09:00
Carsten Grohmann
1c8aadafd1 Fix typo in an error message of the test suite 2021-02-19 13:59:23 +09:00
Andrew Gaul
f2c5e38724
Allow integration tests to use larger files (#1548)
Previously these failed due to dd only copying 32 MB from /dev/urandom
and exhausting the limited space in /tmp.  References #1543.

Co-authored-by: Takeshi Nakatani <ggtakec@gmail.com>
2021-02-07 12:50:02 +09:00
Andrew Gaul
b04bca37a5
Add configuration for Chaos HTTP Proxy (#1508)
This can find errors in retry logic.  Chaos HTTP Proxy does not
support SSL bouncestorage/chaos-http-proxy#1 so users must set
s3proxy.endpoint and run via:

CHAOS_HTTP_PROXY=1 S3_URL=http://127.0.0.1:8080 make check -C test

It can also be helpful to increase retries and reduce sleep times.
References #1504.
2021-01-04 23:32:04 +09:00
Takeshi Nakatani
4d0daddad4
Fixed about Github Actions failure(centos8 and macos) (#1498) 2020-12-23 19:34:04 +09:00
Takeshi Nakatani
059cc57ba6 Added atime and Corrected atime/mtime/ctime operations 2020-10-04 13:54:01 +09:00
Andrew Gaul
8fb70c5e4a Fix expandtab settings for tests
This matches the main source.
2020-09-15 22:11:14 +09:00
Takeshi Nakatani
b5ffd419d8 Source file division and set 4 spaces and cleanup 2020-08-26 17:43:50 +09:00
Andrew Gaul
0c1bc0f803 Add portability wrapper for stat(1)
Fixes #1344.
2020-08-02 23:14:58 +09:00
Andrew Gaul
73098220bf Allow overriding test credentials with a profile 2020-05-24 12:05:16 +09:00
Andrew Gaul
da70cb92a8 Provide AWS CLI with correct test credentials
This allows tests to pass against real S3 implementations like
Backblaze.  References #272.
2020-05-22 19:27:18 +09:00
yongqingliu
b762a0a85b fix deadlock due to fdmanager_lock and fdent_data_lock 2020-01-29 12:03:53 +08:00
liuyongqing
ae4bcd405c use correct content-type when overwriting and copying files 2019-08-28 22:25:09 -07:00
Andrew Gaul
2daa1d53d9 Verify file size via metadata as well as data 2019-08-20 18:36:44 -07:00
Andrew Gaul
c321c8c23f Add test to read an externally created object
References #890.
2019-08-01 16:12:51 -07:00
Andrew Gaul
4a192ffdf9 Run xattr tests on macOS 2019-07-07 00:39:45 -07:00
Takeshi Nakatani
3161bf4608
Merge pull request #1070 from gaul/bash/nounset
Prohibit pipeline failures
2019-07-07 15:10:53 +09:00
Andrew Gaul
9472ee4a01 Prohibit pipeline failures 2019-07-03 02:57:40 -07:00
Andrew Gaul
1f1f824da7 Use system sed on macOS
This requires fewer developer customizations to work on macOS.
Requires some GNU workarounds.
2019-07-02 22:17:02 -07:00
Andrew Gaul
0176fc712b Address shellcheck errors 2019-04-09 21:11:31 +09:00
Andrew Gaul
2c43b1e12b Store and retrieve file change time
This introduces a new header with the change time; existing objects
will report modification time.  Fixes #771.
2019-01-14 10:05:11 -08:00
Takeshi Nakatani
62b8084300 Added travis test on osx for #601 2017-08-11 14:09:43 +00:00
Robb Kistler
7bfaa24d25 Integration test summary, continue on error
Details in README.md and s3fs-integration-test-common.sh

Factor out s3fs-fuse and s3proxy start/stop.  The plan is to make it easier to
add test suites besides small-integration-test.sh that can test with various
s3fs options.

Each test run starts in a uniquely named at the top of the bucket.  This allows
multiple runs against persistent storage without worrying about cleaning
up in error conditions that leave artifiacts behind.

Tests continues if a test case fails.

Results are summarized at the end of the test run

Environment variable to control debug level of s3fs-fuse

Environment variable to enable public bucket (makes it easier to poke
around with tools like curl)

Environment variable to start s3fs-fuse under valgrind

Environment variable that casues script sets up s3fs-fuse and then wait
indefinitely, making it easy to experiment manually with the mount
point.

Additional test case
2016-02-05 05:40:28 -08:00