Don't crash when no MIFARE target is present when running the regression tests suite.
This commit is contained in:
parent
253d49eef8
commit
a317799f01
1 changed files with 24 additions and 6 deletions
|
@ -1,25 +1,38 @@
|
||||||
#include "test.h"
|
#include "test.h"
|
||||||
|
|
||||||
static nfc_device_t *device;
|
static nfc_device_t *device = NULL;
|
||||||
static MifareClassicTag *tags;
|
static MifareClassicTag *tags = NULL;
|
||||||
|
|
||||||
int
|
int
|
||||||
mifare_classic_test_setup (MifareClassicTag *tag)
|
mifare_classic_test_setup (MifareClassicTag *tag)
|
||||||
{
|
{
|
||||||
int res = 0;
|
int res = 0;
|
||||||
|
|
||||||
|
*tag = NULL;
|
||||||
|
|
||||||
device = nfc_connect (NULL);
|
device = nfc_connect (NULL);
|
||||||
if (!device)
|
if (!device)
|
||||||
res = -1;
|
res = -1;
|
||||||
|
|
||||||
if (0 == res) {
|
if (0 == res) {
|
||||||
tags = mifare_classic_get_tags (device);
|
tags = mifare_classic_get_tags (device);
|
||||||
if (!tags || !(tags[0])) {
|
if (!tags) {
|
||||||
nfc_disconnect (device);
|
nfc_disconnect (device);
|
||||||
|
device = NULL;
|
||||||
res = -2;
|
res = -2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (0 == res) {
|
||||||
|
if (!tags[0]) {
|
||||||
|
mifare_classic_free_tags (tags);
|
||||||
|
tags = NULL;
|
||||||
|
nfc_disconnect (device);
|
||||||
|
device = NULL;
|
||||||
|
res = -4;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (0 == res) {
|
if (0 == res) {
|
||||||
*tag = tags[0];
|
*tag = tags[0];
|
||||||
|
|
||||||
|
@ -27,6 +40,8 @@ mifare_classic_test_setup (MifareClassicTag *tag)
|
||||||
if (res != 0) {
|
if (res != 0) {
|
||||||
mifare_classic_disconnect (*tag);
|
mifare_classic_disconnect (*tag);
|
||||||
nfc_disconnect (device);
|
nfc_disconnect (device);
|
||||||
|
*tag = NULL;
|
||||||
|
device = NULL;
|
||||||
res = -3;
|
res = -3;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -39,12 +54,15 @@ mifare_classic_test_teardown (MifareClassicTag tag)
|
||||||
{
|
{
|
||||||
int res;
|
int res;
|
||||||
|
|
||||||
res = mifare_classic_disconnect (tag);
|
if (tag)
|
||||||
|
res = mifare_classic_disconnect (tag);
|
||||||
|
|
||||||
if (0 == res) {
|
if (0 == res) {
|
||||||
mifare_classic_free_tags (tags);
|
if (tags)
|
||||||
|
mifare_classic_free_tags (tags);
|
||||||
|
|
||||||
nfc_disconnect (device);
|
if (device)
|
||||||
|
nfc_disconnect (device);
|
||||||
}
|
}
|
||||||
|
|
||||||
return res;
|
return res;
|
||||||
|
|
Loading…
Reference in a new issue