Limit size of large files test for VxWorks
VxWorks doesn't allow mapping file beyond EOF, adjust tests to encompass that. Additionally, for testing on VxWorks we use use builtin /tmp which is a RAM disk (in case of VxWorks-supported imx.6 bord which have 1GB of RAM), set max size of tested large file to 256MB, 28 bits. Pick-to: 6.7 Task-number: QTBUG-115777 Change-Id: I73cbe112331b7cb95d80bb44b792578a1eb88a07 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
This commit is contained in:
parent
88cb405514
commit
7678edebba
@ -46,6 +46,10 @@ public:
|
||||
// This means that files are limited to 2 GB − 1 bytes.
|
||||
// Limit max size to 256MB
|
||||
maxSizeBits = 28; // 256 MiB
|
||||
#elif defined(Q_OS_VXWORKS)
|
||||
// VxWorks doesn't support sparse files, also, default /tmp directory is a RAM-disk which
|
||||
// limits its capacity.
|
||||
maxSizeBits = 28; // 256 MiB
|
||||
#elif defined (Q_OS_WASM)
|
||||
maxSizeBits = 28; // 256 MiB
|
||||
#elif defined(QT_LARGEFILE_SUPPORT)
|
||||
@ -494,6 +498,7 @@ void tst_LargeFile::mapFile()
|
||||
// 32-bit: limited to 44-bit offsets (when sizeof(off_t) == 8)
|
||||
//Windows: memory-mapping beyond EOF is not allowed
|
||||
//wasm: as for linux
|
||||
//VxWorks: memory-mapping beyond EOF is not allowed
|
||||
void tst_LargeFile::mapOffsetOverflow()
|
||||
{
|
||||
enum {
|
||||
@ -506,6 +511,9 @@ void tst_LargeFile::mapOffsetOverflow()
|
||||
#elif (defined(Q_OS_LINUX) || defined(Q_OS_ANDROID)) && (Q_PROCESSOR_WORDSIZE == 4)
|
||||
Succeeds = true,
|
||||
MaxOffset = sizeof(QT_OFF_T) > 4 ? 43 : 30
|
||||
#elif defined(Q_OS_VXWORKS)
|
||||
Succeeds = false,
|
||||
MaxOffset = 8 * sizeof(QT_OFF_T) - 1
|
||||
#else
|
||||
Succeeds = true,
|
||||
MaxOffset = 8 * sizeof(QT_OFF_T) - 1
|
||||
|
Loading…
x
Reference in New Issue
Block a user