New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Avoid /tmp when running some tests #2129
Conversation
Many features in xrootd require file system support for extended file attributes. Tests that run tests on these features fail if the file system does not support them. The /tmp directory in many Linux installations is using a tmpfs partition. The tmpfs file system does not support extended file attributes, so some tests that use /tmp to store files fail. This commit changes some affected tests so that they create the temporary directory containing the test files in the current working directory instead of /tmp. Example of failure: 17/34 Test xrootd#20: XrdEc::AlignedWriteTest ...................................................***Failed 0.07 sec You have selected: Selected tests/ Selected tests/MicroTest::AlignedWriteTest Running: .F MicroTest.cc:506:Assertion Test name: MicroTest::AlignedWriteTest assertion failed - Expression: _st.IsOK() - [*status]: [ERROR] Internal error: std::bad_alloc Failures !!! Run: 1 Failure total: 1 Failures: 1 Errors: 0 The following tests FAILED: 20 - XrdEc::AlignedWriteTest (Failed) 21 - XrdEc::SmallWriteTest (Failed) 22 - XrdEc::BigWriteTest (Failed) 23 - XrdEc::VectorReadTest (Failed) 24 - XrdEc::IllegalVectorReadTest (Failed) 25 - XrdEc::AlignedWrite1MissingTest (Failed) 26 - XrdEc::AlignedWrite2MissingTest (Failed) 27 - XrdEc::AlignedWriteTestIsalCrcNoMt (Failed) 28 - XrdEc::SmallWriteTestIsalCrcNoMt (Failed) 29 - XrdEc::BigWriteTestIsalCrcNoMt (Failed) 30 - XrdEc::AlignedWrite1MissingTestIsalCrcNoMt (Failed) 31 - XrdEc::AlignedWrite2MissingTestIsalCrcNoMt (Failed) In addition to addressing the above failures, the commit also addresses the following warnings during the XRootD::smoke-test test: 34: setfattr: /tmp/xrdfs-test-ChGSEb/01.ref: Operation not supported 34: Extended attributes not supported, using downloaded checksums for server checks 34: setfattr: /tmp/xrdfs-test-ChGSEb/02.ref: Operation not supported 34: Extended attributes not supported, using downloaded checksums for server checks 34: setfattr: /tmp/xrdfs-test-ChGSEb/03.ref: Operation not supported 34: Extended attributes not supported, using downloaded checksums for server checks
Additional observation: The reason the failing XrdEc tests end up in an uncaught xrootd/src/XrdCl/XrdClLocalFileHandler.cc Lines 666 to 668 in f3b2e86
If extended attributes are not supported Should there be some protection against here? |
@ellert Thanks for this, I'm aware of the problems of using I also agree that a check should be added in the place you indicated to fail gracefully rather than trying to create a huge array and end up with |
@ellert There are some typos in the commit message (e.g. |
I have corrected the typos I saw. Let me know if I missed something. |
No, sorry, that was it. |
Many features in xrootd require file system support for extended file attributes. Tests that run tests on these features fail if the file system does not support them. The /tmp directory in many Linux installations is using a tmpfs partition. The tmpfs file system does not support extended file attributes, so some tests that use /tmp to store files fail.
This commit changes some affected tests so that they create the temporary directory containing the test files in the current working directory instead of /tmp.
Example of failure:
In addition to addressing the above failures, the commit also addresses the following warnings during the XRootD::smoke-test test: