diff --git a/nameserver/mockNS/MockNameServer.cpp b/nameserver/mockNS/MockNameServer.cpp index 16155c08855b77d2aee057add8391e198b2f1405..7c52867870513b19b57dade6b4fc405b8ca439f3 100644 --- a/nameserver/mockNS/MockNameServer.cpp +++ b/nameserver/mockNS/MockNameServer.cpp @@ -641,7 +641,12 @@ cta::ArchiveDirEntry cta::MockNameServer::getArchiveDirEntry( if (ArchiveDirEntry::ENTRYTYPE_FILE == entryType) size = atol(Utils::getXattr(fsPath, "user.CTASize").c_str()); const uint64_t fileId = atol(Utils::getXattr(fsPath, "user.CTAFileID").c_str()); - ArchiveFileStatus status(owner, fileId, statResult.st_mode, size, checksum, storageClassName); + std::stringstream modeStrTr; + std::string modeStr = Utils::getXattr(fsPath, "user.CTAMode"); + modeStrTr << modeStr; + mode_t mode; + modeStrTr >> std::oct >> mode; + ArchiveFileStatus status(owner, fileId, mode, size, checksum, storageClassName); return ArchiveDirEntry(entryType, name, status, tapeCopies); } diff --git a/tapeserver/castor/tape/tapeserver/daemon/DataTransferSessionTest.cpp b/tapeserver/castor/tape/tapeserver/daemon/DataTransferSessionTest.cpp index 6428598f7a0054de29b8aaa6aa07e2f92a93daf6..076937ad3c5be07ca73e6337874a070d30d607be 100644 --- a/tapeserver/castor/tape/tapeserver/daemon/DataTransferSessionTest.cpp +++ b/tapeserver/castor/tape/tapeserver/daemon/DataTransferSessionTest.cpp @@ -922,9 +922,9 @@ TEST_F(castor_tape_tapeserver_daemon_DataTransferSessionTest, DataTransferSessio for(auto i=remoteFilePaths.begin(); i!=remoteFilePaths.end(); i++) { /*ASSERT_NO_THROW*/(ns.statFile(requester, *i)); std::unique_ptr<cta::ArchiveFileStatus> stat(ns.statFile(requester, *i)); - ASSERT_NE((uint64_t)(stat.get()), NULL); - ASSERT_EQ(stat->mode, 0777); - ASSERT_EQ(stat->size, 1000); + ASSERT_NE(NULL, (uint64_t)(stat.get())); + ASSERT_EQ(0100777, stat->mode); + ASSERT_EQ(1000, stat->size); } }