Как заглушить функцию с одним параметром в C Языке программирования? - PullRequest
1 голос
/ 03 мая 2020

Я пишу тест с использованием FTL (Functional Test Level). Я написал тест (но он не работает для одного входного сигнала, значение которого я получил от функции, которую я не знаю, как заглушить), и у меня есть Сделано заглушка для функций, которые я вызываю в моем коде. Эти функции имеют 2 параметра, поэтому я сделал заглушку с помощью переключателя case. Пример:

function(uint8 index, uint8 *data){
  uint8 retVal1;
  uint8 retVal2;

  switch(index)
 {
   case signal1:
     *data = retVal1;
      break;
    case signal2:
      *data = retVal2;
      break;
   }
}

И это работает. Но я не знаю, как заглушить функция, которая имеет только один параметр. Например, такая функция:

function2(signal_name)

эта функция определена в другом файле (файл, который я не использую, я просто вызываю эту функцию из этого файла) как макрос и это двойная обратная функция:

#define function2(signal_name) ((fp_##signal_name##_u8 == (uint8)(fp_##signal_name##_inv_u8)) ? fp_##signal_name##_u8 : b_fp_##signal_name##_u8)

Итак, я использую функцию2 (имя_сигнала) таким образом в моем файле:

myParam = function2(signal_name);

таким образом, я получаю значение из signal_name. И после этого я использую это значение в качестве ввода, которое я установил в значение 1 или значение 0, чтобы выполнить мой тест и проверить свою функцию. У меня вопрос, как я могу заглушить function2 (signal_name_s1)?

...