blob: 046593b95359596a9eec3093bf67a7fa479b4425 [file] [log] [blame]
// Copyright 2019 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include <zxtest/zxtest.h>
#include "smbios.h"
// This is needed because smbios.cpp uses get_root_resource() for some of the
// driver functionality (in that case, it comes from the devhost). Since this
// test binary is a standalone executable, we need something to define this
// symbol. On a build that GCs symbols, this will likely be omitted.
extern "C" zx_handle_t get_root_resource() { return ZX_HANDLE_INVALID; }
TEST(SmbiosTestCase, ProductNameAllSpaces) {
char buf[32] = {};
memset(buf, ' ', sizeof(buf) - 1);
while (strlen(buf) > 0) {
ASSERT_FALSE(smbios_product_name_is_valid(buf));
buf[strlen(buf) - 1] = 0;
}
}
TEST(SmbiosTestCase, ProductNameEmpty) {
ASSERT_FALSE(smbios_product_name_is_valid(""));
}
TEST(SmbiosTestCase, ProductNameNull) {
ASSERT_FALSE(smbios_product_name_is_valid(nullptr));
ASSERT_FALSE(smbios_product_name_is_valid("<null>"));
}
TEST(SmbiosTestCase, ProductNameValid) {
ASSERT_TRUE(smbios_product_name_is_valid("NUC6i3SYB"));
ASSERT_TRUE(smbios_product_name_is_valid("Test Name"));
}