...
Initial Table of Test Cases
Test Case Type | Description | Test Step | Expected Result | Status |
Functionality:
Read-Write |
File transferred via Xrdcp to Ceph server should be correct /contain the correct data
| Verify local file can be transferred to server | Transfer file, obtain and compare checksum of local file to server-side file | Both checksum values should be the same | Pass or Fail |
Functionality: Metadata
Verify output data format is compatible with Ceph server
Check format of previous stats
Current stat and previous stat formats should be the same
Pass or Fail
Functionality: Metadata
Ensure xrdadler32 produced checksums are in the correct format (big-endian)
Produce checksum with xrdadler32 and compare with big-endian format checksum
Produced checksum should be in big-endian format
Pass or Fail
Functionality: Read-Write
Verify deletion removes data from server (After closure with --posc)
Perform deletion with XRootD in CL
Returned Ceph_posix_unlink status should show successful deletion, without -EBUSY status
Pass or Fail
Functionality: TPC
Verify file can be transferred via third party copy (TPC) from server to server (--tpc)
Verify copy speed can be limited to a specified rate (--xrate) | Set a rate limit during copy/transfer. Measure file size and time taken for transfer to complete to calculate rate | Calculated rate should be within 10% of the set rate limit | Pass or Fail | |
Verify incomplete transfer removes file from server (–posc) | Transfer 100 KB file to server using –posc, and set rate limit to 50 KB/s with –xrate. Have transfer timeout at 1 second. Obtain checksum for filename on server. | Return code for transfer should fail (!= 0), and checksum value should be None | Pass or Fail | |
Verify files of 0 bytes are not transferred | Transfer file of 0 bytes to server, and stat for checksum | Transfer appears to succeed with return code = 0, but checksum of 0 bytes file on server should be None | Pass or Fail | |
Functionality:
Third-Party Copy | Verify file on server A can be transferred to B, and back via third-party copy (TPC) (--tpc) | Transfer initial local file to server A. Transfer file from server A to B and obtain checksum value for file on server B. Transfer file from server B to A and obtain checksum from server A. Compare both server checksums | Both checksum values should be the same | Pass or Fail |
Functionality: Read-Write
Verify copy speed can be limited to a specified rate (--xrate)
Set a rate limit during copy/transfer, get file size and time taken for transfer to complete to obtain rate
Speed should be within range of the specified rate limit
Pass or Fail
Functionality:
Read-Write, Third-Party Copy | Determine if server load is redirected to another server |
Check status of file and size on server 1, and/or load average on server for duration of reading /writing
Transfer a file of size that exceeds maximum load of one server to echo-internal-manager01.gridpp.rl.ac.uk. Obtain stdout and check that the file was transferred to multiple endpoints. | Stdout should show confirmation of load redirection | Pass or Fail |
Functionality: Read-Write, TPC
Verify end server is reached after global server redirection | Obtain end URL from log and end server’s URL | End URL should match end server URL |
Pass or Fail
Functionality: Read-Write, TPC
Verify files with an ATLAS token can be transferred to ATLAS
Generate ATLAS token, use in XRootD config and read/write file to ATLAS
Pass or Fail |
Functionality: Read-Write, TPC
Verify files without ATLAS tokens cannot be transferred to ATLAS |
Clear token environmental variable and transfer file to ATLAS |
Performance: Read-Write, TPC
Check files of 64 MB can be transferred
Return code for transfer should fail (!= 0) | Pass or Fail |
Functionality: Read-Write, TPC
Determine that XRootD sends data over DAVS protocol
Use gfal-copy to send data over DAVS protocol
Transfer should succeed (Returncode = 0)
Pass or Fail
Functionality: Read-Write, TPC
Verify dcache/xrootd format data can be transferred to external sites to LHC1
Use xrdcp to transfer dcache/xrootd data to external LHC1 sites
Transfer should succeed (Returncode = 0)
Pass or Fail
Functionality: Read-Write, TPC
Verify dcache/xrootd format data can be transferred to external sites to LHCOPN
Use xrdcp to transfer dcache/xrootd data to external LHCOPN sites
Transfer should succeed (Returncode = 0)
Pass or Fail
Functionality: Read-Write, TPC
Verify files of 0 bytes are not transferred
Transfer file of 0 bytes to server
Transfer should fail (Returncode =! 0 =Pass)
Pass or Fail
Performance: Read-Write, TPC
Obtain speed of reading data
Transfer file to server and obtain speed
Speed given in MB/s
Performance: Read-Write, TPC
Obtain speed of writing data
Transfer file to server and obtain speed
Speed given in MB/s
Verify deleted file is deleted from server | Transfer file to server. Delete file from server and obtain checksum from server | Checksum should be None | Pass | |
Functionality:
Metadata
| Verify output data format is compatible with server and protocol | Transfer local file to server. Stat the file on the server and obtain metadata categories. Compare to standard list of categories for the protocol
| Obtained and standard categories should be the same | Pass or Fail |
Ensure xrdadler32 produced checksums are in the correct format (big-endian) | Transfer local file to server. Obtain Adler32 checksum of local file using xrdadler32, and produce a big endian and little endian version. Obtain checksum from server-side file | Checksum from server should match the big endian checksum computed from local file | Pass or Fail | |
Performance: Read-Write, Third-Party Copy | Verify transfer of files up to 4 GB | Transfer file of 4 GB to server | Transfer to server should succeed | Pass or Fail |
Performance: Read-Write, TPC
Check files of 64 MB can be transferred | Transfer file of |
64 MB to server | Transfer to server should succeed | Pass or Fail |