0018接口test测试代码内容增加

发布时间 2024-01-06 21:04:30作者: 20201327刘谨铭

定义新函数

在test.c中,我们定义一个新的函数Test_GetDeviceInfo来封装对SDF_GetDeviceInfo的调用,实现获取设备信息的功能。

函数代码

// 测试获取设备信息的函数
SGD_RV Test_GetDeviceInfo(SGD_HANDLE phSessionHandle) {
    DEVICEINFO deviceInfo;
    SGD_RV rv = SDF_GetDeviceInfo(phSessionHandle, &deviceInfo);
    if (rv != SDR_OK) {
        printf("Failed to get device info with error code: %08x\n", rv);
    } else {
        printf("Device Info:\n");//设备信息
        printf("IssuerName: %s\n", deviceInfo.IssuerName);//用户名
        printf("DeviceName: %s\n", deviceInfo.DeviceName);//设备名
        printf("DeviceSerial: %s\n", deviceInfo.DeviceSerial);//设备系列
        printf("DeviceVersion: %u\n", deviceInfo.DeviceVersion);//设备版本
        printf("StandardVersion: %u\n", deviceInfo.StandardVersion);//标准版
        printf("AsymAlgAbility: %u, %u\n", deviceInfo.AsymAlgAbility[0], deviceInfo.AsymAlgAbility[1]);//不对称算术能力
        printf("SymAlgAbility: %u\n", deviceInfo.SymAlgAbility);//符号运算能力
        printf("HashAlgAbility: %u\n", deviceInfo.HashAlgAbility);//哈希代数能力
        printf("BufferSize: %u\n", deviceInfo.BufferSize);//缓冲器大小
    }
    return rv;
}

测试代码

在main函数中,我们增加对这个新函数的调用来测试设备信息获取功能:

int main(int argc, char *argv[])
{
    // ... 省略之前的代码 ...

    // 测试获取设备信息
    printf("Testing getting device information...\n");
    rv = Test_GetDeviceInfo(sessionHandle);
    if(rv != SDR_OK) {
        printf("Get device information failed with error code: %08x\n", rv);
    } else {
        printf("Get device information success.\n");
    }

    // ... 省略其他测试代码 ...

    // ... 省略清理资源和关闭设备的代码 ...

    return 0;
}

代码解析

  • 在这段测试代码中,我们首先打印出一个消息表明我们正在测试获取设备信息的功能。
  • 我们调用Test_GetDeviceInfo函数并检查返回值。如果函数成功执行,它将打印出设备信息;如果失败,它将打印出错误代码。

这样,我们就在test.c文件中增加了一个新的测试函数,并在main函数中增加了相应的测试代码来进行测试。

运行结果