diff options
Diffstat (limited to 'src/faceauth_tests.cc')
-rw-r--r-- | src/faceauth_tests.cc | 17 |
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)); +} } |