source
é um alias para o comando ponto .
e o comando ponto é um chamado special command
onde POSIX descreve que esses comandos saem de todo o shell não interativo no caso de ocorrer um erro.
Se você chamar seu comando via:
bash test.sh
o bash não sai, mas quando você liga:
bash -o posix test.sh
sai. Então o seu bash foi compilado para ser compatível com POSIX por padrão ou você chamou um shell diferente do bash.
Veja o link para o padrão.