From 09902966199cc73977767daa36aa786d2b2f8d0c Mon Sep 17 00:00:00 2001 From: Christopher Haster Date: Tue, 18 Feb 2020 11:35:22 -0600 Subject: [PATCH] Limited byte-level tests to native testing due to time Byte-level writes are expensive and not suggested (caches >= 4 bytes make much more sense), however there are many corner cases with byte-level writes that can be easy to miss (power-loss leaving single bytes written to disk). Unfortunately, byte-level writes mixed with power-loss testing, the Travis infrastructure, and Arm Thumb instruction set simulation exceeds the 50-minute budget Travis allocates for jobs. For now I'm disabling the byte-level tests under Qemu, with the hope that performance improvements in littlefs will let us turn these tests back on in the future. --- .travis.yml | 18 ++++++++++++------ tests/test_dirs.toml | 2 -- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/.travis.yml b/.travis.yml index 0ee90a2..78d964a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -115,7 +115,7 @@ jobs: env: - NAME=littlefs-arm - CC="arm-linux-gnueabi-gcc --static -mthumb" - - TFLAGS="$TFLAGS -e qemu-arm" + - TFLAGS="$TFLAGS --exec=qemu-arm" install: - *install-common - sudo apt-get install @@ -131,7 +131,9 @@ jobs: - {<<: *arm, script: [*test-nand, *report-size]} - {<<: *arm, script: [*test-no-intrinsics, *report-size]} - {<<: *arm, script: [*test-no-inline, *report-size]} - - {<<: *arm, script: [*test-byte-writes, *report-size]} + # it just takes way to long to run byte-level writes in qemu, + # note this is still tested in the native tests + #- {<<: *arm, script: [*test-byte-writes, *report-size]} - {<<: *arm, script: [*test-block-cycles, *report-size]} - {<<: *arm, script: [*test-odd-block-count, *report-size]} - {<<: *arm, script: [*test-odd-block-size, *report-size]} @@ -142,7 +144,7 @@ jobs: env: - NAME=littlefs-mips - CC="mips-linux-gnu-gcc --static" - - TFLAGS="$TFLAGS -e qemu-mips" + - TFLAGS="$TFLAGS --exec=qemu-mips" install: - *install-common - sudo apt-get install @@ -158,7 +160,9 @@ jobs: - {<<: *mips, script: [*test-nand, *report-size]} - {<<: *mips, script: [*test-no-intrinsics, *report-size]} - {<<: *mips, script: [*test-no-inline, *report-size]} - - {<<: *mips, script: [*test-byte-writes, *report-size]} + # it just takes way to long to run byte-level writes in qemu, + # note this is still tested in the native tests + #- {<<: *mips, script: [*test-byte-writes, *report-size]} - {<<: *mips, script: [*test-block-cycles, *report-size]} - {<<: *mips, script: [*test-odd-block-count, *report-size]} - {<<: *mips, script: [*test-odd-block-size, *report-size]} @@ -169,7 +173,7 @@ jobs: env: - NAME=littlefs-powerpc - CC="powerpc-linux-gnu-gcc --static" - - TFLAGS="$TFLAGS -e qemu-ppc" + - TFLAGS="$TFLAGS --exec=qemu-ppc" install: - *install-common - sudo apt-get install @@ -185,7 +189,9 @@ jobs: - {<<: *powerpc, script: [*test-nand, *report-size]} - {<<: *powerpc, script: [*test-no-intrinsics, *report-size]} - {<<: *powerpc, script: [*test-no-inline, *report-size]} - - {<<: *powerpc, script: [*test-byte-writes, *report-size]} + # it just takes way to long to run byte-level writes in qemu, + # note this is still tested in the native tests + #- {<<: *powerpc, script: [*test-byte-writes, *report-size]} - {<<: *powerpc, script: [*test-block-cycles, *report-size]} - {<<: *powerpc, script: [*test-odd-block-count, *report-size]} - {<<: *powerpc, script: [*test-odd-block-size, *report-size]} diff --git a/tests/test_dirs.toml b/tests/test_dirs.toml index 6cfd790..270f4f8 100644 --- a/tests/test_dirs.toml +++ b/tests/test_dirs.toml @@ -157,7 +157,6 @@ code = ''' [[case]] # reentrant many directory creation/rename/removal define.N = [5, 11] reentrant = true -if = 'LFS_CACHE_SIZE >= 4' # these just take too long with byte-level writes code = ''' err = lfs_mount(&lfs, &cfg); if (err) { @@ -384,7 +383,6 @@ code = ''' [[case]] # reentrant file creation/rename/removal define.N = [5, 25] reentrant = true -if = 'LFS_CACHE_SIZE >= 4' # these just take too long with byte-level writes code = ''' err = lfs_mount(&lfs, &cfg); if (err) {