Commit Graph

253 Commits

Author SHA1 Message Date
Takeshi Nakatani
4b2f3fecb5 Set mtime/ctime/atime of all objects as nanosecond 2022-07-28 13:47:03 +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
Takeshi Nakatani
136c5ec653 Fixed a bug in the test_external_creation test 2022-07-18 22:34:53 +09:00
Takeshi Nakatani
d22e1dc018 Add the stream upload which starts uploading parts before Flush 2022-07-17 22:20:45 +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
Andrew Gaul
86da2eed3a
Do not call exit in individual test functions (#1985)
This could prevent the test runner from reporting failures.
2022-07-17 01:33:50 +09:00
Andrew Gaul
4d303caa62
Add Valgrind to sanitizer script (#1978)
Theoretically msan can do this but practically it requires a custom
libc++.
2022-07-09 16:40:23 +09:00
Takeshi Nakatani
f11eb7d69b Fixed a bug that regular files could not be created by mknod 2022-06-29 16:56:19 +09:00
Takeshi Nakatani
73b49c1038 Fixed a bug that regular files could not be created by mknod 2022-06-29 16:56:19 +09:00
Andrew Gaul
8b90cd6ba1
Enable notsup_compat_dir by default (#1970)
Few applications create the dir_$folder$ objects and users can enable
compat_dir if required.  This commit reduces readdir latency by 33%.
Also remove notsup_compat_dir from tests since these directories are
never created.  Fixes #927.  References #1643.
2022-06-28 07:56:06 +09:00
Andrew Gaul
ac72bf34dd
Run test_external_directory_creation for all flags (#1969) 2022-06-28 07:50:24 +09:00
Takeshi Nakatani
ec7810f08e Fixed a bug could not change the mode while the file was opened 2022-06-12 13:48:42 +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
dc40f16161
Upgrade to S3Proxy 2.0.0 (#1929)
Release notes:

https://github.com/gaul/s3proxy/releases/tag/s3proxy-2.0.0

This enables Java 17 compatibility.
2022-04-04 23:03:16 +09:00
Andrew Gaul
5c57e17b77
Enable noobj_cache by default (#1922)
This should improve performance in many situations.  s3fs already
enables the stat cache by default so memorizing noobj makes this more
consistent.  Fixes #1901.
2022-03-12 16:57:31 +09:00
Takeshi Nakatani
d842d45b2b Fixed a bug about truncation for shrinking file 2022-03-02 22:41:10 +09:00
Carsten Grohmann
afb0897553 Typos 2022-02-24 19:15:00 +09:00
Andrew Gaul
01e24967b6
Add test for external object creation (#1900)
This test demonstrates the behavior before and after the stat cache
timeout when using noobj_cache.
2022-02-23 23:34:58 +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
305d660e39
Use custom CA bundle instead of ignoring errors (#1910)
Fixes #1846.
2022-02-23 10:04:05 +09:00
Andrew Gaul
302150b4f5
Filter mountpoints via mount -t (#1905)
This is portable between Linux and macOS.
2022-02-20 20:49:35 +09:00
Andrew Gaul
3fa03d4e1e
Pass explicit -p option to ps (#1904)
This ensures that a pid follows.
2022-02-20 20:40:29 +09:00
Takeshi Nakatani
94e8e23eef
Fixed test_external_directory_creation test when cache enabled (#1885) 2022-02-13 13:32:19 +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
30cf7a50bb Added stat check for subdir created with awscli 2022-01-30 18:31:36 +09:00
Andrew Gaul
74c11ef226
Check bucket before trying to create it (#1874)
This makes it easier to run tests against S3 other than S3Proxy.
2022-01-26 23:42:12 +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
2892d3b755
Call curl --fail to propagate exit code (#1856) 2022-01-14 11:52:52 +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
fc7543fa25
Make ut_test compatible with Python 3 (#1838)
This may allow removing Python 2 on newer distros.

Co-authored-by: Takeshi Nakatani <ggtakec@gmail.com>
2022-01-09 11:08:36 +09:00
Andrew Gaul
a44ea7c12a
Replace write_multiple_offsets.py with write_multiblock (#1837)
This reduces the dependency on Python 2.
2022-01-09 10:51:17 +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
616db5bf1c
Prefer curl over wget for fetching dependencies (#1836)
The former is lighter-weight and libcurl is already a dependency for
s3fs.
2022-01-05 00:43:36 +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
3cf00626a2
Add option to allow unsigned payloads (#1801)
This reduces CPU usage of sigv4.  This reduces test run-time by 7
seconds per flag.
2021-11-01 23:33:55 +09:00
Andrew Gaul
e289915dcb
Remove require-root script (#1800)
Tests do not require this.
2021-10-31 10:48:15 +09:00
Andrew Gaul
06dec32965
Use AWS CLI to create explicit times in the past (#1797)
s3fs can also do this via utimensat but tests should not trust this.
Also break tests into individual functions.  This further reduces test
run-time 8 seconds per flag.
2021-10-30 10:54:18 +09:00
Andrew Gaul
86317dd185
Replace dd if=/dev/urandom with junk data generator (#1786)
This reduces test run time for a single flag from 73 to 60 seconds.
2021-10-28 22:54:25 +09:00
Andrew Gaul
40d2e0d1ad
Reduce sleep time to 1 (#1793)
This reduces test run-time 15 seconds per flag or 2.5 minutes when
testing all flags.
2021-10-27 23:47:08 +09:00
Takeshi Nakatani
b6c5069ef7 Fixed the test is multi-block writing by one flush 2021-10-27 08:19:05 +09:00
Andrew Gaul
72a9f40f3f
Update to S3Proxy 1.9.0 (#1788)
Notably this fixes an issue with the transient provider reading parts
of large files.

Release notes:

https://github.com/gaul/s3proxy/releases/tag/s3proxy-1.9.0
2021-10-26 23:20:52 +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
Takeshi Nakatani
23fe6f4dee Fixed parse_string function in write_multiblock.cc 2021-10-25 17:56:49 +09:00
Takeshi Nakatani
34ea2acd75 Add a test that is multi-block writing by one flush 2021-10-25 17:56:49 +09:00