aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorGiovanni Di Sirio <gdisirio@gmail.com>2018-11-13 16:30:27 +0000
committerGiovanni Di Sirio <gdisirio@gmail.com>2018-11-13 16:30:27 +0000
commit08debc286839353dd5cba39d527214589686702e (patch)
treef8f06769e5e3ad2790110baa64a1995232750611 /test
parent1d6d312d43a5cceda95705b3a04eb21a5c4cb310 (diff)
downloadChibiOS-08debc286839353dd5cba39d527214589686702e.tar.gz
ChibiOS-08debc286839353dd5cba39d527214589686702e.tar.bz2
ChibiOS-08debc286839353dd5cba39d527214589686702e.zip
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@12417 110e8d01-0319-4d1e-a829-52ad28d1bb01
Diffstat (limited to 'test')
-rw-r--r--test/mfs/configuration.xml50
-rw-r--r--test/mfs/source/test/mfs_test_sequence_001.c50
2 files changed, 92 insertions, 8 deletions
diff --git a/test/mfs/configuration.xml b/test/mfs/configuration.xml
index a222033f8..efc7b5b04 100644
--- a/test/mfs/configuration.xml
+++ b/test/mfs/configuration.xml
@@ -385,10 +385,10 @@ test_assert(err == MFS_ERR_NOT_FOUND, "record not erased");]]></value>
</case>
<case>
<brief>
- <value>Erasing the whole storage.</value>
+ <value>Erasing the whole storage and re-initialization.</value>
</brief>
<description>
- <value>The managed storage is erased and re-initialized.</value>
+ <value>The managed storage is erased, initialized and re-mounted.</value>
</description>
<condition>
<value />
@@ -427,6 +427,52 @@ test_assert(err == MFS_NO_ERROR, "error creating record 3");]]></value>
</step>
<step>
<description>
+ <value>Records must exist.</value>
+ </description>
+ <tags>
+ <value />
+ </tags>
+ <code>
+ <value><![CDATA[mfs_error_t err;
+size_t size;
+
+size = sizeof mfs_buffer;
+err = mfsReadRecord(&mfs1, 1, &size, mfs_buffer);
+test_assert(err == MFS_NO_ERROR, "record 0 not present");
+size = sizeof mfs_buffer;
+err = mfsReadRecord(&mfs1, 2, &size, mfs_buffer);
+test_assert(err == MFS_NO_ERROR, "record 1 not present");
+size = sizeof mfs_buffer;
+err = mfsReadRecord(&mfs1, 3, &size, mfs_buffer);
+test_assert(err == MFS_NO_ERROR, "record 2 not present");]]></value>
+ </code>
+ </step>
+ <step>
+ <description>
+ <value>Re-mounting, records must still exist.</value>
+ </description>
+ <tags>
+ <value />
+ </tags>
+ <code>
+ <value><![CDATA[mfs_error_t err;
+size_t size;
+
+err = mfsStart(&mfs1, &mfscfg1);
+test_assert(err == MFS_NO_ERROR, "re-mount failed");
+size = sizeof mfs_buffer;
+err = mfsReadRecord(&mfs1, 1, &size, mfs_buffer);
+test_assert(err == MFS_NO_ERROR, "record 0 not present");
+size = sizeof mfs_buffer;
+err = mfsReadRecord(&mfs1, 2, &size, mfs_buffer);
+test_assert(err == MFS_NO_ERROR, "record 1 not present");
+size = sizeof mfs_buffer;
+err = mfsReadRecord(&mfs1, 3, &size, mfs_buffer);
+test_assert(err == MFS_NO_ERROR, "record 2 not present");]]></value>
+ </code>
+ </step>
+ <step>
+ <description>
<value>Erasing storage and verify that the records have been removed, MFS_NO_ERROR is expected on erase, MFS_ERR_NOT_FOUND is expected on retrieve.</value>
</description>
<tags>
diff --git a/test/mfs/source/test/mfs_test_sequence_001.c b/test/mfs/source/test/mfs_test_sequence_001.c
index 272924bd4..20b4d8d89 100644
--- a/test/mfs/source/test/mfs_test_sequence_001.c
+++ b/test/mfs/source/test/mfs_test_sequence_001.c
@@ -309,14 +309,16 @@ static const testcase_t mfs_test_001_003 = {
};
/**
- * @page mfs_test_001_004 [1.4] Erasing the whole storage
+ * @page mfs_test_001_004 [1.4] Erasing the whole storage and re-initialization
*
* <h2>Description</h2>
- * The managed storage is erased and re-initialized.
+ * The managed storage is erased, initialized and re-mounted.
*
* <h2>Test Steps</h2>
* - [1.4.1] Creating records 1, 2 and 3, MFS_NO_ERROR is expected.
- * - [1.4.2] Erasing storage and verify that the records have been
+ * - [1.4.2] Records must exist.
+ * - [1.4.3] Re-mounting, records must still exist.
+ * - [1.4.4] Erasing storage and verify that the records have been
* removed, MFS_NO_ERROR is expected on erase, MFS_ERR_NOT_FOUND is
* expected on retrieve.
* .
@@ -347,10 +349,46 @@ static void mfs_test_001_004_execute(void) {
test_assert(err == MFS_NO_ERROR, "error creating record 3");
}
- /* [1.4.2] Erasing storage and verify that the records have been
+ /* [1.4.2] Records must exist.*/
+ test_set_step(2);
+ {
+ mfs_error_t err;
+ size_t size;
+
+ size = sizeof mfs_buffer;
+ err = mfsReadRecord(&mfs1, 1, &size, mfs_buffer);
+ test_assert(err == MFS_NO_ERROR, "record 0 not present");
+ size = sizeof mfs_buffer;
+ err = mfsReadRecord(&mfs1, 2, &size, mfs_buffer);
+ test_assert(err == MFS_NO_ERROR, "record 1 not present");
+ size = sizeof mfs_buffer;
+ err = mfsReadRecord(&mfs1, 3, &size, mfs_buffer);
+ test_assert(err == MFS_NO_ERROR, "record 2 not present");
+ }
+
+ /* [1.4.3] Re-mounting, records must still exist.*/
+ test_set_step(3);
+ {
+ mfs_error_t err;
+ size_t size;
+
+ err = mfsStart(&mfs1, &mfscfg1);
+ test_assert(err == MFS_NO_ERROR, "re-mount failed");
+ size = sizeof mfs_buffer;
+ err = mfsReadRecord(&mfs1, 1, &size, mfs_buffer);
+ test_assert(err == MFS_NO_ERROR, "record 0 not present");
+ size = sizeof mfs_buffer;
+ err = mfsReadRecord(&mfs1, 2, &size, mfs_buffer);
+ test_assert(err == MFS_NO_ERROR, "record 1 not present");
+ size = sizeof mfs_buffer;
+ err = mfsReadRecord(&mfs1, 3, &size, mfs_buffer);
+ test_assert(err == MFS_NO_ERROR, "record 2 not present");
+ }
+
+ /* [1.4.4] Erasing storage and verify that the records have been
removed, MFS_NO_ERROR is expected on erase, MFS_ERR_NOT_FOUND is
expected on retrieve.*/
- test_set_step(2);
+ test_set_step(4);
{
mfs_error_t err;
size_t size;
@@ -370,7 +408,7 @@ static void mfs_test_001_004_execute(void) {
}
static const testcase_t mfs_test_001_004 = {
- "Erasing the whole storage",
+ "Erasing the whole storage and re-initialization",
mfs_test_001_004_setup,
mfs_test_001_004_teardown,
mfs_test_001_004_execute