測試 API¶
此檔案記錄了所有標準測試 API。
-
enum kunit_status¶
測試或測試套件的結果型別
常量
KUNIT_SUCCESS表示測試套件既沒有失敗也沒有跳過
KUNIT_FAILURE表示測試已失敗。
KUNIT_SKIPPED表示測試已被跳過。
-
struct kunit_case¶
表示一個單獨的測試用例。
定義:
struct kunit_case {
void (*run_case)(struct kunit *test);
const char *name;
const void* (*generate_params)(const void *prev, char *desc);
struct kunit_attributes attr;
};
成員
run_case表示實際測試用例的函式。
name測試用例的名稱。
generate_params引數化測試的生成器函式。
attr與測試關聯的屬性
描述
測試用例是一個帶有簽名的函式,void (*)(struct kunit *),它對被測程式碼進行期望和斷言 (參見 KUNIT_EXPECT_TRUE() 和 KUNIT_ASSERT_TRUE())。每個測試用例都與一個 struct kunit_suite 相關聯,將在套件的 init 函式之後執行,並緊隨套件的 exit 函式。
測試用例應該是靜態的,並且只能使用 KUNIT_CASE() 宏建立;此外,每個測試用例陣列都應該以一個空的測試用例結束。
void add_test_basic(struct kunit *test)
{
KUNIT_EXPECT_EQ(test, 1, add(1, 0));
KUNIT_EXPECT_EQ(test, 2, add(1, 1));
KUNIT_EXPECT_EQ(test, 0, add(-1, 1));
KUNIT_EXPECT_EQ(test, INT_MAX, add(0, INT_MAX));
KUNIT_EXPECT_EQ(test, -1, add(INT_MAX, INT_MIN));
}
static struct kunit_case example_test_cases[] = {
KUNIT_CASE(add_test_basic),
{}
};
示例
-
KUNIT_CASE¶
KUNIT_CASE (test_name)
用於建立
struct kunit_case的助手
引數
test_name對測試用例函式的引用。
描述
接受表示測試用例的函式的符號,並從中建立一個 struct kunit_case 物件。 有關如何使用它的示例,請參閱 struct kunit_case 的文件。
-
KUNIT_CASE_ATTR¶
KUNIT_CASE_ATTR (test_name, attributes)
用於建立具有屬性的
struct kunit_case的助手
引數
test_name對測試用例函式的引用。
attributes對包含測試屬性的 struct kunit_attributes 物件的引用
-
KUNIT_CASE_SLOW¶
KUNIT_CASE_SLOW (test_name)
用於建立具有 slow 屬性的
struct kunit_case的助手
引數
test_name對測試用例函式的引用。
-
KUNIT_CASE_PARAM¶
KUNIT_CASE_PARAM (test_name, gen_params)
用於建立引數化的
struct kunit_case的助手
引數
test_name對測試用例函式的引用。
gen_params對引數生成器函式的引用。
描述
生成器函式
const void* gen_params(const void *prev, char *desc)
用於惰性生成一系列任意型別的值,這些值適合 void*。 引數 prev 是先前返回的值,應該用於派生下一個值; 在初始生成器呼叫時,prev 設定為 NULL。 當沒有更多可用值時,生成器必須返回 NULL。 (KUNIT_PARAM_DESC_SIZE 的大小)可以選擇將字串寫入 desc 中來描述引數。
-
KUNIT_CASE_PARAM_ATTR¶
KUNIT_CASE_PARAM_ATTR (test_name, gen_params, attributes)
用於建立具有屬性的引數化的
struct kunit_case的助手
引數
test_name對測試用例函式的引用。
gen_params對引數生成器函式的引用。
attributes對包含測試屬性的 struct kunit_attributes 物件的引用
-
struct kunit_suite¶
描述
struct kunit_case的相關集合
定義:
struct kunit_suite {
const char name[256];
int (*suite_init)(struct kunit_suite *suite);
void (*suite_exit)(struct kunit_suite *suite);
int (*init)(struct kunit *test);
void (*exit)(struct kunit *test);
struct kunit_case *test_cases;
struct kunit_attributes attr;
};
成員
name測試的名稱。 純粹的資訊。
suite_init在測試用例之前每個測試套件呼叫一次。
suite_exit在所有測試用例之後每個測試套件呼叫一次。
init在每個測試用例之前呼叫。
exit在每個測試用例之後呼叫。
test_cases一個以 null 結尾的測試用例陣列。
attr與測試套件關聯的屬性
描述
kunit_suite 是相關 struct kunit_case 的集合,因此 init 在每個測試用例之前呼叫,exit 在每個測試用例之後呼叫,類似於其他單元測試框架(如 JUnit 或 Googletest)中的測試夾具或測試類的概念。
請注意,即使 init 或 suite_init 失敗,exit 和 suite_exit 也會執行:確保它們可以處理可能導致的任何不一致狀態。
每個 struct kunit_case 必須與 kunit_suite 相關聯,KUnit 才能執行它。
-
struct kunit¶
表示測試的執行例項。
描述
用於儲存有關測試執行的當前上下文的資訊。 大部分資料都是私有的,應該只能透過公共函式間接訪問; 一個例外是 priv,測試編寫者可以使用它來儲存任意資料。
-
kunit_test_suites¶
kunit_test_suites (__suites...)
用於向 KUnit 註冊一個或多個
struct kunit_suite。
引數
__suites...struct kunit_suite的靜態分配列表。
描述
向測試框架註冊 suites。 這是透過將 struct kunit_suite * 陣列放置在 .kunit_test_suites ELF 部分中來完成的。
當內建時,KUnit 測試都在啟動時透過執行器執行,當作為模組構建時,它們在模組載入時執行。
-
kunit_test_init_section_suites¶
kunit_test_init_section_suites (__suites...)
用於註冊一個或多個包含 init 函式或 init 資料的
struct kunit_suite。
引數
__suites...struct kunit_suite的靜態分配列表。
描述
此函式類似於 kunit_test_suites(),不同之處在於它在 init 階段編譯套件列表。
此宏還會在它進行的陣列和套件宣告中新增 _probe 字尾; 以便 modpost 抑制有關引用以此方式命名的符號的 init 資料的警告。
另外,不要使用 __initdata 標記套件或測試用例結構,因為它們將在 init 階段之後與 debugfs 一起使用。
注意
這些 init 測試在啟動後無法執行,因此不會為這些測試生成“run”debugfs 檔案。
-
void *kunit_kmalloc_array(struct kunit *test, size_t n, size_t size, gfp_t gfp)¶
類似於
kmalloc_array(),只是分配是測試託管的。
引數
struct kunit *test測試上下文物件。
size_t n元素數。
size_t size所需記憶體的位元組大小。
gfp_t gfp傳遞給底層
kmalloc()的標誌。
描述
就像 kmalloc_array(...) 一樣,只是分配由測試用例管理,並且在測試用例結束後自動清理。 有關更多資訊,請參閱 kunit_add_action()。
請注意,無論傳入的 gfp 如何,一些內部上下文資料也使用 GFP_KERNEL 分配。
引數
struct kunit *test測試上下文物件。
size_t size所需記憶體的位元組大小。
gfp_t gfp傳遞給底層
kmalloc()的標誌。
描述
有關更多資訊,請參閱 kmalloc() 和 kunit_kmalloc_array()。
請注意,無論傳入的 gfp 如何,一些內部上下文資料也使用 GFP_KERNEL 分配。
引數
struct kunit *test資源所屬的測試用例。
const void *ptr要釋放的記憶體分配。
-
void *kunit_kzalloc(struct kunit *test, size_t size, gfp_t gfp)¶
就像
kunit_kmalloc()一樣,只是將分配置零。
引數
struct kunit *test測試上下文物件。
size_t size所需記憶體的位元組大小。
gfp_t gfp傳遞給底層
kmalloc()的標誌。
描述
有關更多資訊,請參閱 kzalloc() 和 kunit_kmalloc_array()。
-
void *kunit_kcalloc(struct kunit *test, size_t n, size_t size, gfp_t gfp)¶
就像
kunit_kmalloc_array()一樣,只是將分配置零。
引數
struct kunit *test測試上下文物件。
size_t n元素數。
size_t size所需記憶體的位元組大小。
gfp_t gfp傳遞給底層
kmalloc()的標誌。
描述
有關更多資訊,請參閱 kcalloc() 和 kunit_kmalloc_array()。
引數
struct kunit *test測試上下文物件。
const void *x指向記憶體的指標
描述
僅當 x 不在 .rodata 部分中時才呼叫 kunit_kfree()。 有關更多資訊,請參閱 kunit_kstrdup_const()。
引數
struct kunit *test測試上下文物件。
const char *str要複製的以 NULL 結尾的字串。
gfp_t gfp傳遞給底層
kmalloc()的標誌。
描述
有關更多資訊,請參閱 kstrdup() 和 kunit_kmalloc_array()。
-
const char *kunit_kstrdup_const(struct kunit *test, const char *str, gfp_t gfp)¶
有條件地將字串複製到測試託管的分配中。
引數
struct kunit *test測試上下文物件。
const char *str要複製的以 NULL 結尾的字串。
gfp_t gfp傳遞給底層
kmalloc()的標誌。
描述
僅當 str 不在 rodata 部分時才呼叫 kunit_kstrdup()。 必須使用 kunit_kfree_const() 釋放,而不是 kunit_kfree()。 有關更多資訊,請參閱 kstrdup_const() 和 kunit_kmalloc_array()。
-
unsigned long kunit_vm_mmap(struct kunit *test, struct file *file, unsigned long addr, unsigned long len, unsigned long prot, unsigned long flag, unsigned long offset)¶
分配 KUnit 跟蹤的 vm_mmap() 區域
引數
struct kunit *test測試上下文物件。
struct file *file要從其對映的
struct file指標(如果有)unsigned long addr所需的地址(如果有)
unsigned long len要分配多少位元組
unsigned long protmmap PROT_* 位
unsigned long flagmmap 標誌
unsigned long offset從 file 開始對映的偏移量。
描述
有關更多資訊,請參閱 vm_mmap()。
-
kunit_mark_skipped¶
kunit_mark_skipped (test, fmt, ...)
將 test 標記為跳過
引數
test測試上下文物件。
fmt一種
printk()風格的格式字串。...可變引數
描述
將測試標記為跳過。 fmt 作為測試狀態註釋給出輸出,通常是測試被跳過的原因。
在呼叫 kunit_mark_skipped() 後,測試執行繼續。
-
kunit_skip¶
kunit_skip (test, fmt, ...)
將 test 標記為跳過
引數
test測試上下文物件。
fmt一種
printk()風格的格式字串。...可變引數
描述
跳過測試。 fmt 作為測試狀態註釋給出輸出,通常是測試被跳過的原因。
在呼叫 kunit_skip() 後,測試執行停止。
-
kunit_info¶
kunit_info (test, fmt, ...)
列印與 test 關聯的 INFO 級別訊息。
引數
test測試上下文物件。
fmt一種
printk()風格的格式字串。...可變引數
描述
列印與正在執行的測試套件關聯的資訊級別訊息。 接受可變數量的格式引數,就像 printk() 一樣。
-
kunit_warn¶
kunit_warn (test, fmt, ...)
列印與 test 關聯的 WARN 級別訊息。
-
kunit_err¶
kunit_err (test, fmt, ...)
列印與 test 關聯的 ERROR 級別訊息。
-
KUNIT_SUCCEED¶
KUNIT_SUCCEED (test)
一個空操作期望。 僅為了程式碼清晰而存在。
引數
test測試上下文物件。
描述
與 KUNIT_FAIL() 相反,它是一個不可能失敗的期望。 換句話說,它什麼也不做,僅為了程式碼清晰而存在。 有關更多資訊,請參閱 KUNIT_EXPECT_TRUE()。
-
KUNIT_FAIL¶
KUNIT_FAIL (test, fmt, ...)
在評估時始終導致測試失敗。
引數
test測試上下文物件。
fmt在斷言時要列印的資訊訊息。
...字串格式引數。
描述
與 KUNIT_SUCCEED() 相反,它是一個始終失敗的期望。 換句話說,它總是導致期望失敗,因此在評估時總是導致測試用例失敗。 有關更多資訊,請參閱 KUNIT_EXPECT_TRUE()。
-
KUNIT_EXPECT_TRUE¶
KUNIT_EXPECT_TRUE (test, condition)
當表示式不為 true 時,導致測試失敗。
引數
test測試上下文物件。
condition一個任意的布林表示式。 當此表示式的計算結果不為 true 時,測試失敗。
描述
此期望以及 KUNIT_EXPECT_* 形式的期望會在未滿足指定條件時導致測試用例失敗; 但是,它不會阻止測試用例繼續執行; 這也稱為期望失敗。
-
KUNIT_EXPECT_FALSE¶
KUNIT_EXPECT_FALSE (test, condition)
當表示式不為 false 時,會導致測試失敗。
引數
test測試上下文物件。
condition一個任意的布林表示式。 當此表示式的計算結果不為 false 時,測試失敗。
描述
設定一個期望,即 condition 的計算結果為 false。 有關更多資訊,請參閱 KUNIT_EXPECT_TRUE()。
-
KUNIT_EXPECT_EQ¶
KUNIT_EXPECT_EQ (test, left, right)
設定一個期望,即 left 和 right 相等。
引數
test測試上下文物件。
left一個計算結果為原始 C 型別的任意表達式。
right一個計算結果為原始 C 型別的任意表達式。
描述
設定一個期望,即 left 和 right 的計算結果的值相等。 這在語義上等效於 KUNIT_EXPECT_TRUE(test, (left) == (right))。 有關更多資訊,請參閱 KUNIT_EXPECT_TRUE()。
-
KUNIT_EXPECT_PTR_EQ¶
KUNIT_EXPECT_PTR_EQ (test, left, right)
期望指標 left 和 right 相等。
引數
test測試上下文物件。
left一個計算結果為指標的任意表達式。
right一個計算結果為指標的任意表達式。
描述
設定一個期望,即 left 和 right 的計算結果的值相等。 這在語義上等效於 KUNIT_EXPECT_TRUE(test, (left) == (right))。 有關更多資訊,請參閱 KUNIT_EXPECT_TRUE()。
-
KUNIT_EXPECT_NE¶
KUNIT_EXPECT_NE (test, left, right)
一個期望,即 left 和 right 不相等。
引數
test測試上下文物件。
left一個計算結果為原始 C 型別的任意表達式。
right一個計算結果為原始 C 型別的任意表達式。
描述
設定一個期望,即 left 和 right 的計算結果的值不相等。 這在語義上等效於 KUNIT_EXPECT_TRUE(test, (left) != (right))。 有關更多資訊,請參閱 KUNIT_EXPECT_TRUE()。
-
KUNIT_EXPECT_PTR_NE¶
KUNIT_EXPECT_PTR_NE (test, left, right)
期望指標 left 和 right 不相等。
引數
test測試上下文物件。
left一個計算結果為指標的任意表達式。
right一個計算結果為指標的任意表達式。
描述
設定一個期望,即 left 和 right 的計算結果的值不相等。 這在語義上等效於 KUNIT_EXPECT_TRUE(test, (left) != (right))。 有關更多資訊,請參閱 KUNIT_EXPECT_TRUE()。
-
KUNIT_EXPECT_LT¶
KUNIT_EXPECT_LT (test, left, right)
一個期望,即 left 小於 right。
引數
test測試上下文物件。
left一個計算結果為原始 C 型別的任意表達式。
right一個計算結果為原始 C 型別的任意表達式。
描述
設定一個期望,即 left 計算出的值小於 right 計算出的值。 這在語義上等效於 KUNIT_EXPECT_TRUE(test, (left) < (right))。 有關更多資訊,請參閱 KUNIT_EXPECT_TRUE()。
-
KUNIT_EXPECT_LE¶
KUNIT_EXPECT_LE (test, left, right)
期望 left 小於或等於 right。
引數
test測試上下文物件。
left一個計算結果為原始 C 型別的任意表達式。
right一個計算結果為原始 C 型別的任意表達式。
描述
設定一個期望,即 left 計算出的值小於或等於 right 計算出的值。 在語義上,這等效於 KUNIT_EXPECT_TRUE(test, (left) <= (right))。 有關更多資訊,請參閱 KUNIT_EXPECT_TRUE()。
-
KUNIT_EXPECT_GT¶
KUNIT_EXPECT_GT (test, left, right)
一個期望,即 left 大於 right。
引數
test測試上下文物件。
left一個計算結果為原始 C 型別的任意表達式。
right一個計算結果為原始 C 型別的任意表達式。
描述
設定一個期望,即 left 計算出的值大於 right 計算出的值。 這在語義上等效於 KUNIT_EXPECT_TRUE(test, (left) > (right))。 有關更多資訊,請參閱 KUNIT_EXPECT_TRUE()。
-
KUNIT_EXPECT_GE¶
KUNIT_EXPECT_GE (test, left, right)
期望 left 大於或等於 right。
引數
test測試上下文物件。
left一個計算結果為原始 C 型別的任意表達式。
right一個計算結果為原始 C 型別的任意表達式。
描述
設定一個期望,即 left 的計算結果大於等於 right 的計算結果。這在語義上等同於 KUNIT_EXPECT_TRUE(test, (left) >= (right))。 參閱 KUNIT_EXPECT_TRUE() 獲取更多資訊。
-
KUNIT_EXPECT_STREQ¶
KUNIT_EXPECT_STREQ (test, left, right)
期望字串 left 和 right 相等。
引數
test測試上下文物件。
left一個計算結果為以 null 結尾的字串的任意表達式。
right一個計算結果為以 null 結尾的字串的任意表達式。
描述
設定一個期望,即 left 和 right 的計算結果相等。這在語義上等同於 KUNIT_EXPECT_TRUE(test, !strcmp((left), (right)))。 參閱 KUNIT_EXPECT_TRUE() 獲取更多資訊。
-
KUNIT_EXPECT_STRNEQ¶
KUNIT_EXPECT_STRNEQ (test, left, right)
期望字串 left 和 right 不相等。
引數
test測試上下文物件。
left一個計算結果為以 null 結尾的字串的任意表達式。
right一個計算結果為以 null 結尾的字串的任意表達式。
描述
設定一個期望,即 left 和 right 的計算結果不相等。這在語義上等同於 KUNIT_EXPECT_TRUE(test, strcmp((left), (right)))。 參閱 KUNIT_EXPECT_TRUE() 獲取更多資訊。
-
KUNIT_EXPECT_MEMEQ¶
KUNIT_EXPECT_MEMEQ (test, left, right, size)
期望 left 和 right 的前 size 個位元組相等。
引數
test測試上下文物件。
left計算結果為指定大小的任意表達式。
right計算結果為指定大小的任意表達式。
size比較的位元組數。
描述
設定一個期望,即 left 和 right 的計算結果相等。這在語義上等同於 KUNIT_EXPECT_TRUE(test, !memcmp((left), (right), (size)))。 參閱 KUNIT_EXPECT_TRUE() 獲取更多資訊。
雖然此期望適用於任何記憶體塊,但不建議用於比較更結構化的資料,例如結構體。 建議將此期望用於比較例如資料陣列。
-
KUNIT_EXPECT_MEMNEQ¶
KUNIT_EXPECT_MEMNEQ (test, left, right, size)
期望 left 和 right 的前 size 個位元組不相等。
引數
test測試上下文物件。
left計算結果為指定大小的任意表達式。
right計算結果為指定大小的任意表達式。
size比較的位元組數。
描述
設定一個期望,即 left 和 right 的計算結果不相等。這在語義上等同於 KUNIT_EXPECT_TRUE(test, memcmp((left), (right), (size)))。 參閱 KUNIT_EXPECT_TRUE() 獲取更多資訊。
雖然此期望適用於任何記憶體塊,但不建議用於比較更結構化的資料,例如結構體。 建議將此期望用於比較例如資料陣列。
-
KUNIT_EXPECT_NULL¶
KUNIT_EXPECT_NULL (test, ptr)
期望 ptr 為 null。
引數
test測試上下文物件。
ptr一個任意指標。
描述
設定一個期望,即 ptr 的計算結果為 null。這在語義上等同於 KUNIT_EXPECT_PTR_EQ(test, ptr, NULL)。 參閱 KUNIT_EXPECT_TRUE() 獲取更多資訊。
-
KUNIT_EXPECT_NOT_NULL¶
KUNIT_EXPECT_NOT_NULL (test, ptr)
期望 ptr 不為 null。
引數
test測試上下文物件。
ptr一個任意指標。
描述
設定一個期望,即 ptr 的計算結果不為 null。這在語義上等同於 KUNIT_EXPECT_PTR_NE(test, ptr, NULL)。 參閱 KUNIT_EXPECT_TRUE() 獲取更多資訊。
-
KUNIT_EXPECT_NOT_ERR_OR_NULL¶
KUNIT_EXPECT_NOT_ERR_OR_NULL (test, ptr)
期望 ptr 不為 null 且不為 err。
引數
test測試上下文物件。
ptr一個任意指標。
描述
設定一個期望,即 ptr 的計算結果不為 null 且不是儲存在指標中的 errno。這在語義上等同於 KUNIT_EXPECT_TRUE(test, !IS_ERR_OR_NULL(ptr))。 參閱 KUNIT_EXPECT_TRUE() 獲取更多資訊。
-
KUNIT_FAIL_AND_ABORT¶
KUNIT_FAIL_AND_ABORT (test, fmt, ...)
始終會導致測試失敗並在計算時中止。
引數
test測試上下文物件。
fmt在斷言時要列印的資訊訊息。
...字串格式引數。
描述
與 KUNIT_SUCCEED() 相反,它是一個始終失敗的斷言。 換句話說,它始終會導致斷言失敗,因此始終會導致測試用例在計算時失敗並中止。 參閱 KUNIT_ASSERT_TRUE() 獲取更多資訊。
-
KUNIT_ASSERT_TRUE¶
KUNIT_ASSERT_TRUE (test, condition)
設定一個斷言,即 condition 為 true。
引數
test測試上下文物件。
condition一個任意布林表示式。 當此表示式的計算結果不為 true 時,測試將失敗並中止。
描述
此類斷言和 KUNIT_ASSERT_* 形式的斷言將在不滿足指定條件時導致測試用例失敗並立即中止。 與期望失敗不同,它將阻止測試用例繼續執行; 這也稱為斷言失敗。
-
KUNIT_ASSERT_FALSE¶
KUNIT_ASSERT_FALSE (test, condition)
設定一個斷言,即 condition 為 false。
引數
test測試上下文物件。
condition一個任意布林表示式。
描述
設定一個斷言,即 condition 的計算結果為 false。 這與 KUNIT_EXPECT_FALSE() 相同,只是當不滿足斷言時,它會導致斷言失敗(請參閱 KUNIT_ASSERT_TRUE())。
-
KUNIT_ASSERT_EQ¶
KUNIT_ASSERT_EQ (test, left, right)
設定一個斷言,即 left 和 right 相等。
引數
test測試上下文物件。
left一個計算結果為原始 C 型別的任意表達式。
right一個計算結果為原始 C 型別的任意表達式。
描述
設定一個斷言,即 left 和 right 的計算結果相等。 這與 KUNIT_EXPECT_EQ() 相同,只是當不滿足斷言時,它會導致斷言失敗(請參閱 KUNIT_ASSERT_TRUE())。
-
KUNIT_ASSERT_PTR_EQ¶
KUNIT_ASSERT_PTR_EQ (test, left, right)
斷言指標 left 和 right 相等。
引數
test測試上下文物件。
left一個計算結果為指標的任意表達式。
right一個計算結果為指標的任意表達式。
描述
設定一個斷言,即 left 和 right 的計算結果相等。 這與 KUNIT_EXPECT_EQ() 相同,只是當不滿足斷言時,它會導致斷言失敗(請參閱 KUNIT_ASSERT_TRUE())。
-
KUNIT_ASSERT_NE¶
KUNIT_ASSERT_NE (test, left, right)
一個斷言,即 left 和 right 不相等。
引數
test測試上下文物件。
left一個計算結果為原始 C 型別的任意表達式。
right一個計算結果為原始 C 型別的任意表達式。
描述
設定一個斷言,即 left 和 right 的計算結果不相等。 這與 KUNIT_EXPECT_NE() 相同,只是當不滿足斷言時,它會導致斷言失敗(請參閱 KUNIT_ASSERT_TRUE())。
-
KUNIT_ASSERT_PTR_NE¶
KUNIT_ASSERT_PTR_NE (test, left, right)
斷言指標 left 和 right 不相等。
KUNIT_ASSERT_PTR_EQ()- 斷言指標 left 和 right 相等。
引數
test測試上下文物件。
left一個計算結果為指標的任意表達式。
right一個計算結果為指標的任意表達式。
描述
設定一個斷言,即 left 和 right 的計算結果不相等。 這與 KUNIT_EXPECT_NE() 相同,只是當不滿足斷言時,它會導致斷言失敗(請參閱 KUNIT_ASSERT_TRUE())。
-
KUNIT_ASSERT_LT¶
KUNIT_ASSERT_LT (test, left, right)
一個斷言,即 left 小於 right。
引數
test測試上下文物件。
left一個計算結果為原始 C 型別的任意表達式。
right一個計算結果為原始 C 型別的任意表達式。
描述
設定一個斷言,即 left 的計算結果小於 right 的計算結果。 這與 KUNIT_EXPECT_LT() 相同,只是當不滿足斷言時,它會導致斷言失敗(請參閱 KUNIT_ASSERT_TRUE())。
-
KUNIT_ASSERT_LE¶
KUNIT_ASSERT_LE (test, left, right)
一個斷言,即 left 小於或等於 right。
引數
test測試上下文物件。
left一個計算結果為原始 C 型別的任意表達式。
right一個計算結果為原始 C 型別的任意表達式。
描述
設定一個斷言,即 left 的計算結果小於或等於 right 的計算結果。 這與 KUNIT_EXPECT_LE() 相同,只是當不滿足斷言時,它會導致斷言失敗(請參閱 KUNIT_ASSERT_TRUE())。
-
KUNIT_ASSERT_GT¶
KUNIT_ASSERT_GT (test, left, right)
一個斷言,即 left 大於 right。
引數
test測試上下文物件。
left一個計算結果為原始 C 型別的任意表達式。
right一個計算結果為原始 C 型別的任意表達式。
描述
設定一個斷言,即 left 的計算結果大於 right 的計算結果。 這與 KUNIT_EXPECT_GT() 相同,只是當不滿足斷言時,它會導致斷言失敗(請參閱 KUNIT_ASSERT_TRUE())。
-
KUNIT_ASSERT_GE¶
KUNIT_ASSERT_GE (test, left, right)
斷言 left 大於或等於 right。
引數
test測試上下文物件。
left一個計算結果為原始 C 型別的任意表達式。
right一個計算結果為原始 C 型別的任意表達式。
描述
設定一個斷言,即 left 的計算結果大於 right 的計算結果。 這與 KUNIT_EXPECT_GE() 相同,只是當不滿足斷言時,它會導致斷言失敗(請參閱 KUNIT_ASSERT_TRUE())。
-
KUNIT_ASSERT_STREQ¶
KUNIT_ASSERT_STREQ (test, left, right)
一個斷言,即字串 left 和 right 相等。
引數
test測試上下文物件。
left一個計算結果為以 null 結尾的字串的任意表達式。
right一個計算結果為以 null 結尾的字串的任意表達式。
描述
設定一個斷言,即 left 和 right 的計算結果相等。 這與 KUNIT_EXPECT_STREQ() 相同,只是當不滿足斷言時,它會導致斷言失敗(請參閱 KUNIT_ASSERT_TRUE())。
-
KUNIT_ASSERT_STRNEQ¶
KUNIT_ASSERT_STRNEQ (test, left, right)
一個斷言,即字串 left 和 right 不相等。
引數
test測試上下文物件。
left一個計算結果為以 null 結尾的字串的任意表達式。
right一個計算結果為以 null 結尾的字串的任意表達式。
描述
設定一個斷言,即 left 和 right 的計算結果不相等。 這在語義上等同於 KUNIT_ASSERT_TRUE(test, strcmp((left), (right)))。 參閱 KUNIT_ASSERT_TRUE() 獲取更多資訊。
-
KUNIT_ASSERT_MEMEQ¶
KUNIT_ASSERT_MEMEQ (test, left, right, size)
斷言 left 和 right 的前 size 個位元組相等。
引數
test測試上下文物件。
left計算結果為指定大小的任意表達式。
right計算結果為指定大小的任意表達式。
size比較的位元組數。
描述
設定一個斷言,即 left 和 right 的計算結果相等。 這在語義上等同於 KUNIT_ASSERT_TRUE(test, !memcmp((left), (right), (size)))。 參閱 KUNIT_ASSERT_TRUE() 獲取更多資訊。
雖然此斷言適用於任何記憶體塊,但不建議用於比較更結構化的資料,例如結構體。 建議將此斷言用於比較例如資料陣列。
-
KUNIT_ASSERT_MEMNEQ¶
KUNIT_ASSERT_MEMNEQ (test, left, right, size)
斷言 left 和 right 的前 size 個位元組不相等。
引數
test測試上下文物件。
left計算結果為指定大小的任意表達式。
right計算結果為指定大小的任意表達式。
size比較的位元組數。
描述
設定一個斷言,即 left 和 right 的計算結果不相等。 這在語義上等同於 KUNIT_ASSERT_TRUE(test, memcmp((left), (right), (size)))。 參閱 KUNIT_ASSERT_TRUE() 獲取更多資訊。
雖然此斷言適用於任何記憶體塊,但不建議用於比較更結構化的資料,例如結構體。 建議將此斷言用於比較例如資料陣列。
-
KUNIT_ASSERT_NULL¶
KUNIT_ASSERT_NULL (test, ptr)
斷言指標 ptr 為 null。
引數
test測試上下文物件。
ptr一個任意指標。
描述
設定一個斷言,即 ptr 的計算結果為 null。 這與 KUNIT_EXPECT_NULL() 相同,只是當不滿足斷言時,它會導致斷言失敗(請參閱 KUNIT_ASSERT_TRUE())。
-
KUNIT_ASSERT_NOT_NULL¶
KUNIT_ASSERT_NOT_NULL (test, ptr)
斷言指標 ptr 不為 null。
引數
test測試上下文物件。
ptr一個任意指標。
描述
設定一個斷言,即 ptr 的計算結果不為 null。 這與 KUNIT_EXPECT_NOT_NULL() 相同,只是當不滿足斷言時,它會導致斷言失敗(請參閱 KUNIT_ASSERT_TRUE())。
-
KUNIT_ASSERT_NOT_ERR_OR_NULL¶
KUNIT_ASSERT_NOT_ERR_OR_NULL (test, ptr)
斷言 ptr 不為 null 且不為 err。
引數
test測試上下文物件。
ptr一個任意指標。
描述
設定一個斷言,即 ptr 的計算結果不為 null 且不是儲存在指標中的 errno。 這與 KUNIT_EXPECT_NOT_ERR_OR_NULL() 相同,只是當不滿足斷言時,它會導致斷言失敗(請參閱 KUNIT_ASSERT_TRUE())。
-
KUNIT_ARRAY_PARAM¶
KUNIT_ARRAY_PARAM (name, array, get_desc)
從陣列定義測試引數生成器。
引數
name測試引數生成器函式的字首。
array測試引數陣列。
get_desc將引數轉換為描述的函式; 如果使用預設值,則為 NULL
描述
定義使用 array 生成引數的函式 name_gen_params。
-
KUNIT_ARRAY_PARAM_DESC¶
KUNIT_ARRAY_PARAM_DESC (name, array, desc_member)
從陣列定義測試引數生成器。
引數
name測試引數生成器函式的字首。
array測試引數陣列。
desc_member要用作描述的陣列元素的結構體成員
描述
定義使用 array 生成引數的函式 name_gen_params。