Blame view
test/print_ut.c
3.35 KB
83d290c56 SPDX: Convert all... |
1 |
// SPDX-License-Identifier: GPL-2.0+ |
e5a9d27fd test: Add a test ... |
2 3 |
/* * Copyright (c) 2012, The Chromium Authors |
e5a9d27fd test: Add a test ... |
4 5 6 7 8 |
*/ #define DEBUG #include <common.h> |
7a9e6ee6e test: print_ut.c ... |
9 |
#if CONFIG_IS_ENABLED(EFI_LOADER) && !defined(API_BUILD) |
256060e42 vsprintf.c: add E... |
10 11 |
#include <efi_api.h> #endif |
e5a9d27fd test: Add a test ... |
12 13 14 15 16 |
#include <display_options.h> #include <version.h> #define FAKE_BUILD_TAG "jenkins-u-boot-denx_uboot_dm-master-build-aarch64" \ "and a lot more text to come" |
256060e42 vsprintf.c: add E... |
17 18 19 |
/* Test efi_loader specific printing */ static void efi_ut_print(void) { |
7a9e6ee6e test: print_ut.c ... |
20 |
#if CONFIG_IS_ENABLED(EFI_LOADER) && !defined(API_BUILD) |
256060e42 vsprintf.c: add E... |
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
char str[10]; u8 buf[sizeof(struct efi_device_path_sd_mmc_path) + sizeof(struct efi_device_path)]; u8 *pos = buf; struct efi_device_path *dp_end; struct efi_device_path_sd_mmc_path *dp_sd = (struct efi_device_path_sd_mmc_path *)pos; /* Create a device path for an SD card */ dp_sd->dp.type = DEVICE_PATH_TYPE_MESSAGING_DEVICE; dp_sd->dp.sub_type = DEVICE_PATH_SUB_TYPE_MSG_SD; dp_sd->dp.length = sizeof(struct efi_device_path_sd_mmc_path); dp_sd->slot_number = 3; pos += sizeof(struct efi_device_path_sd_mmc_path); /* Append end node */ dp_end = (struct efi_device_path *)pos; dp_end->type = DEVICE_PATH_TYPE_END; dp_end->sub_type = DEVICE_PATH_SUB_TYPE_END; dp_end->length = sizeof(struct efi_device_path); snprintf(str, sizeof(str), "_%pD_", buf); assert(!strcmp("_/SD(3)_", str)); |
5f1ce1d4c vsprintf.c: corre... |
43 44 45 46 |
/* NULL device path */ snprintf(str, sizeof(str), "_%pD_", NULL); assert(!strcmp("_<NULL>_", str)); |
256060e42 vsprintf.c: add E... |
47 48 |
#endif } |
e5a9d27fd test: Add a test ... |
49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
static int do_ut_print(cmd_tbl_t *cmdtp, int flag, int argc, char *const argv[]) { char big_str[400]; int big_str_len; char str[10], *s; int len; printf("%s: Testing print ", __func__); snprintf(str, sizeof(str), "testing"); assert(!strcmp("testing", str)); snprintf(str, sizeof(str), "testing but too long"); assert(!strcmp("testing b", str)); snprintf(str, 1, "testing none"); assert(!strcmp("", str)); *str = 'x'; snprintf(str, 0, "testing none"); assert(*str == 'x'); |
085391b22 test: print_ut: A... |
72 73 |
sprintf(big_str, "_%ls_", L"foo"); assert(!strcmp("_foo_", big_str)); |
e5a9d27fd test: Add a test ... |
74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 |
/* Test the banner function */ s = display_options_get_banner(true, str, sizeof(str)); assert(s == str); assert(!strcmp(" U-Boo ", s)); s = display_options_get_banner(true, str, 1); assert(s == str); assert(!strcmp("", s)); s = display_options_get_banner(true, str, 2); assert(s == str); assert(!strcmp(" ", s)); s = display_options_get_banner(false, str, sizeof(str)); assert(s == str); assert(!strcmp("U-Boot ", s)); /* Give it enough space for some of the version */ big_str_len = strlen(version_string) - 5; s = display_options_get_banner_priv(false, FAKE_BUILD_TAG, big_str, big_str_len); assert(s == big_str); assert(!strncmp(version_string, s, big_str_len - 3)); assert(!strcmp(" ", s + big_str_len - 3)); /* Give it enough space for the version and some of the build tag */ big_str_len = strlen(version_string) + 9 + 20; s = display_options_get_banner_priv(false, FAKE_BUILD_TAG, big_str, big_str_len); assert(s == big_str); len = strlen(version_string); assert(!strncmp(version_string, s, len)); assert(!strncmp(", Build: ", s + len, 9)); assert(!strncmp(FAKE_BUILD_TAG, s + 9 + len, 12)); assert(!strcmp(" ", s + big_str_len - 3)); |
256060e42 vsprintf.c: add E... |
120 121 |
/* Test efi_loader specific printing */ efi_ut_print(); |
e5a9d27fd test: Add a test ... |
122 123 124 125 126 127 128 129 130 131 |
printf("%s: Everything went swimmingly ", __func__); return 0; } U_BOOT_CMD( ut_print, 1, 1, do_ut_print, "Very basic test of printf(), etc.", "" ); |