* @brief Test network device status setting operations * * This function tests: * - Network interface up/down operations * - Link status setting and verification * - Status operation error handling * - Status restoration * * @note Carefully avoids disrupting network connectivity during testing */
| 524 | * @note Carefully avoids disrupting network connectivity during testing |
| 525 | */ |
| 526 | static void test_netdev_status_set(void) |
| 527 | { |
| 528 | rt_err_t res; |
| 529 | rt_bool_t original_link_up; |
| 530 | |
| 531 | /* Test set_up and set_down - be careful not to disrupt network */ |
| 532 | rt_bool_t was_up = netdev_is_up(netdev_default); |
| 533 | |
| 534 | if (!was_up) |
| 535 | { |
| 536 | res = netdev_set_up(netdev_default); |
| 537 | uassert_true(res == RT_EOK); |
| 538 | uassert_true(netdev_is_up(netdev_default)); |
| 539 | } |
| 540 | |
| 541 | uassert_true(netdev_is_up(netdev_default)); |
| 542 | uassert_true(netdev_default->ops->set_up != RT_NULL); |
| 543 | uassert_true(netdev_default->ops->set_down != RT_NULL); |
| 544 | |
| 545 | /* Test set_down and set_up cycle */ |
| 546 | res = netdev_set_down(netdev_default); |
| 547 | if (res == RT_EOK) |
| 548 | { |
| 549 | uassert_false(netdev_is_up(netdev_default)); |
| 550 | res = netdev_set_up(netdev_default); |
| 551 | uassert_true(res == RT_EOK); |
| 552 | uassert_true(netdev_is_up(netdev_default)); |
| 553 | } |
| 554 | else |
| 555 | { |
| 556 | uassert_true(netdev_is_up(netdev_default)); |
| 557 | } |
| 558 | |
| 559 | /* Test link status */ |
| 560 | original_link_up = netdev_is_link_up(netdev_default); |
| 561 | netdev_low_level_set_link_status(netdev_default, RT_FALSE); |
| 562 | uassert_false(netdev_is_link_up(netdev_default)); |
| 563 | netdev_low_level_set_link_status(netdev_default, RT_TRUE); |
| 564 | uassert_true(netdev_is_link_up(netdev_default)); |
| 565 | |
| 566 | /* Restore original link status */ |
| 567 | netdev_low_level_set_link_status(netdev_default, original_link_up); |
| 568 | } |
| 569 | |
| 570 | /** |
| 571 | * @brief Test network device configuration setting operations |
nothing calls this directly
no test coverage detected