pdr.cpp (fae3641d95371a4cb089b413ef87708afffbdbac) | pdr.cpp (e7f55113922cbde6fea1cc8b0b1548e55b0982d9) |
---|---|
1#include <endian.h> 2#include <libpldm/pdr.h> 3#include <libpldm/platform.h> 4 5#include <array> 6#include <cstdint> 7#include <cstdlib> 8#include <cstring> --- 467 unchanged lines hidden (view full) --- 476 pldm_pdr_destroy(repo); 477} 478 479TEST(PDRUpdate, testAddFruRecordSet) 480{ 481 auto repo = pldm_pdr_init(); 482 483 uint32_t handle = 0; | 1#include <endian.h> 2#include <libpldm/pdr.h> 3#include <libpldm/platform.h> 4 5#include <array> 6#include <cstdint> 7#include <cstdlib> 8#include <cstring> --- 467 unchanged lines hidden (view full) --- 476 pldm_pdr_destroy(repo); 477} 478 479TEST(PDRUpdate, testAddFruRecordSet) 480{ 481 auto repo = pldm_pdr_init(); 482 483 uint32_t handle = 0; |
484 EXPECT_EQ( 485 pldm_pdr_add_fru_record_set_check(repo, 1, 10, 1, 0, 100, &handle), 0); | 484 EXPECT_EQ(pldm_pdr_add_fru_record_set(repo, 1, 10, 1, 0, 100, &handle), 0); |
486 EXPECT_EQ(handle, 1u); 487 EXPECT_EQ(pldm_pdr_get_record_count(repo), 1u); 488 EXPECT_EQ(pldm_pdr_get_repo_size(repo), 489 sizeof(pldm_pdr_hdr) + sizeof(pldm_pdr_fru_record_set)); 490 uint32_t size{}; 491 uint32_t nextRecHdl{}; 492 uint8_t* outData = nullptr; 493 auto hdl = pldm_pdr_find_record(repo, 0, &outData, &size, &nextRecHdl); --- 10 unchanged lines hidden (view full) --- 504 EXPECT_EQ(fru->terminus_handle, htole16(1)); 505 EXPECT_EQ(fru->fru_rsi, htole16(10)); 506 EXPECT_EQ(fru->entity_type, htole16(1)); 507 EXPECT_EQ(fru->entity_instance_num, htole16(0)); 508 EXPECT_EQ(fru->container_id, htole16(100)); 509 outData = nullptr; 510 511 handle = 0; | 485 EXPECT_EQ(handle, 1u); 486 EXPECT_EQ(pldm_pdr_get_record_count(repo), 1u); 487 EXPECT_EQ(pldm_pdr_get_repo_size(repo), 488 sizeof(pldm_pdr_hdr) + sizeof(pldm_pdr_fru_record_set)); 489 uint32_t size{}; 490 uint32_t nextRecHdl{}; 491 uint8_t* outData = nullptr; 492 auto hdl = pldm_pdr_find_record(repo, 0, &outData, &size, &nextRecHdl); --- 10 unchanged lines hidden (view full) --- 503 EXPECT_EQ(fru->terminus_handle, htole16(1)); 504 EXPECT_EQ(fru->fru_rsi, htole16(10)); 505 EXPECT_EQ(fru->entity_type, htole16(1)); 506 EXPECT_EQ(fru->entity_instance_num, htole16(0)); 507 EXPECT_EQ(fru->container_id, htole16(100)); 508 outData = nullptr; 509 510 handle = 0; |
512 EXPECT_EQ( 513 pldm_pdr_add_fru_record_set_check(repo, 2, 11, 2, 1, 101, &handle), 0); | 511 EXPECT_EQ(pldm_pdr_add_fru_record_set(repo, 2, 11, 2, 1, 101, &handle), 0); |
514 EXPECT_EQ(handle, 2u); 515 EXPECT_EQ(pldm_pdr_get_record_count(repo), 2u); 516 EXPECT_EQ(pldm_pdr_get_repo_size(repo), 517 2 * (sizeof(pldm_pdr_hdr) + sizeof(pldm_pdr_fru_record_set))); 518 hdl = pldm_pdr_find_record(repo, 2, &outData, &size, &nextRecHdl); 519 EXPECT_NE(hdl, nullptr); 520 EXPECT_EQ(size, sizeof(pldm_pdr_hdr) + sizeof(pldm_pdr_fru_record_set)); 521 EXPECT_EQ(nextRecHdl, 0u); --- 36 unchanged lines hidden (view full) --- 558{ 559 auto repo = pldm_pdr_init(); 560 561 uint16_t terminusHdl{}; 562 uint16_t entityType{}; 563 uint16_t entityInstanceNum{}; 564 uint16_t containerId{}; 565 uint32_t first = 1; | 512 EXPECT_EQ(handle, 2u); 513 EXPECT_EQ(pldm_pdr_get_record_count(repo), 2u); 514 EXPECT_EQ(pldm_pdr_get_repo_size(repo), 515 2 * (sizeof(pldm_pdr_hdr) + sizeof(pldm_pdr_fru_record_set))); 516 hdl = pldm_pdr_find_record(repo, 2, &outData, &size, &nextRecHdl); 517 EXPECT_NE(hdl, nullptr); 518 EXPECT_EQ(size, sizeof(pldm_pdr_hdr) + sizeof(pldm_pdr_fru_record_set)); 519 EXPECT_EQ(nextRecHdl, 0u); --- 36 unchanged lines hidden (view full) --- 556{ 557 auto repo = pldm_pdr_init(); 558 559 uint16_t terminusHdl{}; 560 uint16_t entityType{}; 561 uint16_t entityInstanceNum{}; 562 uint16_t containerId{}; 563 uint32_t first = 1; |
566 EXPECT_EQ(pldm_pdr_add_fru_record_set_check(repo, 1, 1, 1, 0, 100, &first), 567 0); | 564 EXPECT_EQ(pldm_pdr_add_fru_record_set(repo, 1, 1, 1, 0, 100, &first), 0); |
568 uint32_t second = 2; | 565 uint32_t second = 2; |
569 EXPECT_EQ(pldm_pdr_add_fru_record_set_check(repo, 1, 2, 1, 1, 100, &second), 570 0); | 566 EXPECT_EQ(pldm_pdr_add_fru_record_set(repo, 1, 2, 1, 1, 100, &second), 0); |
571 uint32_t third = 3; | 567 uint32_t third = 3; |
572 EXPECT_EQ(pldm_pdr_add_fru_record_set_check(repo, 1, 3, 1, 2, 100, &third), 573 0); | 568 EXPECT_EQ(pldm_pdr_add_fru_record_set(repo, 1, 3, 1, 2, 100, &third), 0); |
574 EXPECT_EQ(first, pldm_pdr_get_record_handle( 575 repo, pldm_pdr_fru_record_set_find_by_rsi( 576 repo, 1, &terminusHdl, &entityType, 577 &entityInstanceNum, &containerId))); 578 EXPECT_EQ(second, pldm_pdr_get_record_handle( 579 repo, pldm_pdr_fru_record_set_find_by_rsi( 580 repo, 2, &terminusHdl, &entityType, 581 &entityInstanceNum, &containerId))); --- 1059 unchanged lines hidden (view full) --- 1641 1642 auto node = pldm_entity_association_tree_add( 1643 tree, &entities[0], 0xffff, nullptr, PLDM_ENTITY_ASSOCIAION_PHYSICAL); 1644 EXPECT_NE(node, nullptr); 1645 1646 auto l1 = pldm_entity_association_tree_add(tree, &entities[1], 63, node, 1647 PLDM_ENTITY_ASSOCIAION_PHYSICAL); 1648 uint32_t first = 1; | 569 EXPECT_EQ(first, pldm_pdr_get_record_handle( 570 repo, pldm_pdr_fru_record_set_find_by_rsi( 571 repo, 1, &terminusHdl, &entityType, 572 &entityInstanceNum, &containerId))); 573 EXPECT_EQ(second, pldm_pdr_get_record_handle( 574 repo, pldm_pdr_fru_record_set_find_by_rsi( 575 repo, 2, &terminusHdl, &entityType, 576 &entityInstanceNum, &containerId))); --- 1059 unchanged lines hidden (view full) --- 1636 1637 auto node = pldm_entity_association_tree_add( 1638 tree, &entities[0], 0xffff, nullptr, PLDM_ENTITY_ASSOCIAION_PHYSICAL); 1639 EXPECT_NE(node, nullptr); 1640 1641 auto l1 = pldm_entity_association_tree_add(tree, &entities[1], 63, node, 1642 PLDM_ENTITY_ASSOCIAION_PHYSICAL); 1643 uint32_t first = 1; |
1649 EXPECT_EQ(pldm_pdr_add_fru_record_set_check( 1650 repo, 1, 1, entities[1].entity_type, 1651 entities[1].entity_instance_num, 1652 entities[1].entity_container_id, &first), | 1644 EXPECT_EQ(pldm_pdr_add_fru_record_set(repo, 1, 1, entities[1].entity_type, 1645 entities[1].entity_instance_num, 1646 entities[1].entity_container_id, 1647 &first), |
1653 0); 1654 EXPECT_NE(l1, nullptr); 1655 EXPECT_EQ(entities[1].entity_instance_num, 63); 1656 EXPECT_EQ(first, pldm_pdr_get_record_handle( 1657 repo, pldm_pdr_fru_record_set_find_by_rsi( 1658 repo, 1, &terminusHdl, &entityType, 1659 &entityInstanceNum, &containerId))); 1660 EXPECT_EQ(entityType, 2); 1661 EXPECT_EQ(entityInstanceNum, 63); 1662 1663 auto l2 = pldm_entity_association_tree_add(tree, &entities[2], 37, node, 1664 PLDM_ENTITY_ASSOCIAION_PHYSICAL); 1665 uint32_t second = 2; | 1648 0); 1649 EXPECT_NE(l1, nullptr); 1650 EXPECT_EQ(entities[1].entity_instance_num, 63); 1651 EXPECT_EQ(first, pldm_pdr_get_record_handle( 1652 repo, pldm_pdr_fru_record_set_find_by_rsi( 1653 repo, 1, &terminusHdl, &entityType, 1654 &entityInstanceNum, &containerId))); 1655 EXPECT_EQ(entityType, 2); 1656 EXPECT_EQ(entityInstanceNum, 63); 1657 1658 auto l2 = pldm_entity_association_tree_add(tree, &entities[2], 37, node, 1659 PLDM_ENTITY_ASSOCIAION_PHYSICAL); 1660 uint32_t second = 2; |
1666 EXPECT_EQ(pldm_pdr_add_fru_record_set_check( 1667 repo, 1, 2, entities[2].entity_type, 1668 entities[2].entity_instance_num, 1669 entities[2].entity_container_id, &second), | 1661 EXPECT_EQ(pldm_pdr_add_fru_record_set(repo, 1, 2, entities[2].entity_type, 1662 entities[2].entity_instance_num, 1663 entities[2].entity_container_id, 1664 &second), |
1670 0); 1671 EXPECT_NE(l2, nullptr); 1672 EXPECT_EQ(entities[2].entity_instance_num, 37); 1673 EXPECT_EQ(second, pldm_pdr_get_record_handle( 1674 repo, pldm_pdr_fru_record_set_find_by_rsi( 1675 repo, 2, &terminusHdl, &entityType, 1676 &entityInstanceNum, &containerId))); 1677 EXPECT_EQ(entityType, 2); 1678 EXPECT_EQ(entityInstanceNum, 37); 1679 1680 auto l3 = pldm_entity_association_tree_add(tree, &entities[3], 44, node, 1681 PLDM_ENTITY_ASSOCIAION_PHYSICAL); 1682 uint32_t third = 3; | 1665 0); 1666 EXPECT_NE(l2, nullptr); 1667 EXPECT_EQ(entities[2].entity_instance_num, 37); 1668 EXPECT_EQ(second, pldm_pdr_get_record_handle( 1669 repo, pldm_pdr_fru_record_set_find_by_rsi( 1670 repo, 2, &terminusHdl, &entityType, 1671 &entityInstanceNum, &containerId))); 1672 EXPECT_EQ(entityType, 2); 1673 EXPECT_EQ(entityInstanceNum, 37); 1674 1675 auto l3 = pldm_entity_association_tree_add(tree, &entities[3], 44, node, 1676 PLDM_ENTITY_ASSOCIAION_PHYSICAL); 1677 uint32_t third = 3; |
1683 EXPECT_EQ(pldm_pdr_add_fru_record_set_check( 1684 repo, 1, 3, entities[3].entity_type, 1685 entities[3].entity_instance_num, 1686 entities[3].entity_container_id, &third), | 1678 EXPECT_EQ(pldm_pdr_add_fru_record_set(repo, 1, 3, entities[3].entity_type, 1679 entities[3].entity_instance_num, 1680 entities[3].entity_container_id, 1681 &third), |
1687 0); 1688 EXPECT_NE(l3, nullptr); 1689 EXPECT_EQ(entities[3].entity_instance_num, 44); 1690 EXPECT_EQ(third, pldm_pdr_get_record_handle( 1691 repo, pldm_pdr_fru_record_set_find_by_rsi( 1692 repo, 3, &terminusHdl, &entityType, 1693 &entityInstanceNum, &containerId))); 1694 EXPECT_EQ(entityType, 2); 1695 EXPECT_EQ(entityInstanceNum, 44); 1696 1697 auto l4 = pldm_entity_association_tree_add(tree, &entities[4], 89, node, 1698 PLDM_ENTITY_ASSOCIAION_PHYSICAL); 1699 uint32_t fourth = 4; | 1682 0); 1683 EXPECT_NE(l3, nullptr); 1684 EXPECT_EQ(entities[3].entity_instance_num, 44); 1685 EXPECT_EQ(third, pldm_pdr_get_record_handle( 1686 repo, pldm_pdr_fru_record_set_find_by_rsi( 1687 repo, 3, &terminusHdl, &entityType, 1688 &entityInstanceNum, &containerId))); 1689 EXPECT_EQ(entityType, 2); 1690 EXPECT_EQ(entityInstanceNum, 44); 1691 1692 auto l4 = pldm_entity_association_tree_add(tree, &entities[4], 89, node, 1693 PLDM_ENTITY_ASSOCIAION_PHYSICAL); 1694 uint32_t fourth = 4; |
1700 EXPECT_EQ(pldm_pdr_add_fru_record_set_check( 1701 repo, 1, 4, entities[4].entity_type, 1702 entities[4].entity_instance_num, 1703 entities[4].entity_container_id, &fourth), | 1695 EXPECT_EQ(pldm_pdr_add_fru_record_set(repo, 1, 4, entities[4].entity_type, 1696 entities[4].entity_instance_num, 1697 entities[4].entity_container_id, 1698 &fourth), |
1704 0); 1705 EXPECT_NE(l4, nullptr); 1706 EXPECT_EQ(entities[4].entity_instance_num, 89); 1707 EXPECT_EQ(fourth, pldm_pdr_get_record_handle( 1708 repo, pldm_pdr_fru_record_set_find_by_rsi( 1709 repo, 4, &terminusHdl, &entityType, 1710 &entityInstanceNum, &containerId))); 1711 EXPECT_EQ(entityType, 2); 1712 EXPECT_EQ(entityInstanceNum, 89); 1713 1714 auto l5 = pldm_entity_association_tree_add(tree, &entities[5], 0xffff, node, 1715 PLDM_ENTITY_ASSOCIAION_PHYSICAL); 1716 uint32_t fifth = 5; | 1699 0); 1700 EXPECT_NE(l4, nullptr); 1701 EXPECT_EQ(entities[4].entity_instance_num, 89); 1702 EXPECT_EQ(fourth, pldm_pdr_get_record_handle( 1703 repo, pldm_pdr_fru_record_set_find_by_rsi( 1704 repo, 4, &terminusHdl, &entityType, 1705 &entityInstanceNum, &containerId))); 1706 EXPECT_EQ(entityType, 2); 1707 EXPECT_EQ(entityInstanceNum, 89); 1708 1709 auto l5 = pldm_entity_association_tree_add(tree, &entities[5], 0xffff, node, 1710 PLDM_ENTITY_ASSOCIAION_PHYSICAL); 1711 uint32_t fifth = 5; |
1717 EXPECT_EQ(pldm_pdr_add_fru_record_set_check( 1718 repo, 1, 5, entities[5].entity_type, 1719 entities[5].entity_instance_num, 1720 entities[5].entity_container_id, &fifth), | 1712 EXPECT_EQ(pldm_pdr_add_fru_record_set(repo, 1, 5, entities[5].entity_type, 1713 entities[5].entity_instance_num, 1714 entities[5].entity_container_id, 1715 &fifth), |
1721 0); 1722 EXPECT_NE(l5, nullptr); 1723 EXPECT_EQ(entities[5].entity_instance_num, 90); 1724 EXPECT_EQ(fifth, pldm_pdr_get_record_handle( 1725 repo, pldm_pdr_fru_record_set_find_by_rsi( 1726 repo, 5, &terminusHdl, &entityType, 1727 &entityInstanceNum, &containerId))); 1728 EXPECT_EQ(entityType, 2); 1729 EXPECT_EQ(entityInstanceNum, 90); 1730 1731 auto l6 = pldm_entity_association_tree_add(tree, &entities[6], 90, node, 1732 PLDM_ENTITY_ASSOCIAION_PHYSICAL); 1733 EXPECT_EQ(l6, nullptr); 1734 1735 auto l7 = pldm_entity_association_tree_add(tree, &entities[7], 100, l1, 1736 PLDM_ENTITY_ASSOCIAION_PHYSICAL); 1737 uint32_t seventh = 7; | 1716 0); 1717 EXPECT_NE(l5, nullptr); 1718 EXPECT_EQ(entities[5].entity_instance_num, 90); 1719 EXPECT_EQ(fifth, pldm_pdr_get_record_handle( 1720 repo, pldm_pdr_fru_record_set_find_by_rsi( 1721 repo, 5, &terminusHdl, &entityType, 1722 &entityInstanceNum, &containerId))); 1723 EXPECT_EQ(entityType, 2); 1724 EXPECT_EQ(entityInstanceNum, 90); 1725 1726 auto l6 = pldm_entity_association_tree_add(tree, &entities[6], 90, node, 1727 PLDM_ENTITY_ASSOCIAION_PHYSICAL); 1728 EXPECT_EQ(l6, nullptr); 1729 1730 auto l7 = pldm_entity_association_tree_add(tree, &entities[7], 100, l1, 1731 PLDM_ENTITY_ASSOCIAION_PHYSICAL); 1732 uint32_t seventh = 7; |
1738 EXPECT_EQ(pldm_pdr_add_fru_record_set_check( 1739 repo, 1, 7, entities[7].entity_type, 1740 entities[7].entity_instance_num, 1741 entities[7].entity_container_id, &seventh), | 1733 EXPECT_EQ(pldm_pdr_add_fru_record_set(repo, 1, 7, entities[7].entity_type, 1734 entities[7].entity_instance_num, 1735 entities[7].entity_container_id, 1736 &seventh), |
1742 0); 1743 EXPECT_NE(l7, nullptr); 1744 EXPECT_EQ(entities[7].entity_instance_num, 100); 1745 EXPECT_EQ(seventh, pldm_pdr_get_record_handle( 1746 repo, pldm_pdr_fru_record_set_find_by_rsi( 1747 repo, 7, &terminusHdl, &entityType, 1748 &entityInstanceNum, &containerId))); 1749 EXPECT_EQ(entityType, 3); 1750 EXPECT_EQ(entityInstanceNum, 100); 1751 1752 auto l8 = pldm_entity_association_tree_add(tree, &entities[8], 100, l2, 1753 PLDM_ENTITY_ASSOCIAION_PHYSICAL); 1754 uint32_t eighth = 8; | 1737 0); 1738 EXPECT_NE(l7, nullptr); 1739 EXPECT_EQ(entities[7].entity_instance_num, 100); 1740 EXPECT_EQ(seventh, pldm_pdr_get_record_handle( 1741 repo, pldm_pdr_fru_record_set_find_by_rsi( 1742 repo, 7, &terminusHdl, &entityType, 1743 &entityInstanceNum, &containerId))); 1744 EXPECT_EQ(entityType, 3); 1745 EXPECT_EQ(entityInstanceNum, 100); 1746 1747 auto l8 = pldm_entity_association_tree_add(tree, &entities[8], 100, l2, 1748 PLDM_ENTITY_ASSOCIAION_PHYSICAL); 1749 uint32_t eighth = 8; |
1755 EXPECT_EQ(pldm_pdr_add_fru_record_set_check( 1756 repo, 1, 8, entities[8].entity_type, 1757 entities[8].entity_instance_num, 1758 entities[8].entity_container_id, &eighth), | 1750 EXPECT_EQ(pldm_pdr_add_fru_record_set(repo, 1, 8, entities[8].entity_type, 1751 entities[8].entity_instance_num, 1752 entities[8].entity_container_id, 1753 &eighth), |
1759 0); 1760 EXPECT_NE(l8, nullptr); 1761 EXPECT_EQ(entities[8].entity_instance_num, 100); 1762 EXPECT_EQ(eighth, pldm_pdr_get_record_handle( 1763 repo, pldm_pdr_fru_record_set_find_by_rsi( 1764 repo, 8, &terminusHdl, &entityType, 1765 &entityInstanceNum, &containerId))); 1766 EXPECT_EQ(entityType, 3); --- 247 unchanged lines hidden --- | 1754 0); 1755 EXPECT_NE(l8, nullptr); 1756 EXPECT_EQ(entities[8].entity_instance_num, 100); 1757 EXPECT_EQ(eighth, pldm_pdr_get_record_handle( 1758 repo, pldm_pdr_fru_record_set_find_by_rsi( 1759 repo, 8, &terminusHdl, &entityType, 1760 &entityInstanceNum, &containerId))); 1761 EXPECT_EQ(entityType, 3); --- 247 unchanged lines hidden --- |