aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJi Soo Shin <jisshin@google.com>2019-04-16 14:32:40 -0700
committerJi Soo Shin <jisshin@google.com>2019-04-16 21:05:01 -0700
commit57fc8cfa56f093a398b4cd238bebe8cc01a6d804 (patch)
tree99b0f9ff22c3f8e9fffaca121e081ba7b1e07560
parent3db7cc61ed08e49fce2911d7f18c4f3971ed8f6e (diff)
downloadsystem-test-harness-57fc8cfa56f093a398b4cd238bebe8cc01a6d804.tar.gz
faceauth_tests: add version mismatch test
Check if citadel faceauth detects comparison of embeddings that have different versions. Bug: 130304269 Test: bazel Change-Id: Icd18b1feed1e4fe118cefa56206ea0c9d44d3de0 Signed-off-by: Ji Soo Shin <jisshin@google.com>
-rw-r--r--src/faceauth_tests.cc17
1 files changed, 15 insertions, 2 deletions
diff --git a/src/faceauth_tests.cc b/src/faceauth_tests.cc
index 9ced6e5..9ca6a30 100644
--- a/src/faceauth_tests.cc
+++ b/src/faceauth_tests.cc
@@ -92,10 +92,10 @@ static fa_task_t MakeTask(uint64_t session_id, uint32_t profile_id,
return task;
}
-static fa_embedding_t* MakeEmbedding(uint32_t base) {
+static fa_embedding_t* MakeEmbedding(uint32_t base, uint32_t version = 1) {
static fa_embedding_t embed;
memset(&embed, base, sizeof(fa_embedding_t));
- embed.version = 1;
+ embed.version = version;
embed.valid = 0;
embed.crc = CalcCrc8(reinterpret_cast<const uint8_t*>(&embed),
offsetof(struct fa_embedding_t, crc));
@@ -388,5 +388,18 @@ TEST_F(FaceAuthTest, SimpleFeatureTest) {
}
}
}
+
+TEST_F(FaceAuthTest, EmbeddingVersionTest) {
+ uint64_t session_id = 0xFACE0000BBBB0000ull;
+ session_id++;
+ Run(MakeResult(session_id, FACEAUTH_SUCCESS),
+ MakeTask(session_id, 0x1, FACEAUTH_CMD_ENROLL), MakeEmbedding(0x11));
+ session_id++;
+ Run(MakeResult(session_id, FACEAUTH_SUCCESS, FACEAUTH_MATCH),
+ MakeTask(session_id, 0x1, FACEAUTH_CMD_COMP), MakeEmbedding(0x11));
+ session_id++;
+ Run(MakeResult(session_id, FACEAUTH_ERR_RECALIBRATE, FACEAUTH_NOMATCH),
+ MakeTask(session_id, 0x1, FACEAUTH_CMD_COMP), MakeEmbedding(0x11, 0x2));
+}
}