myFn() - возвращает результат выполнения функции.
myFn - возвращает ссылку на функцию.
По этому ваша функция исполнялась один, ведь вы просто вызывали её и передавали в интервал возвращаемый параметр функции - undefined.
Конкретно в вашем случае, правильно будет выглядеть подход так -
setInterval(test, 2000, carousel, i);
Но пример выше будет правильнее.