Uma falha de segmentação não é a mesma coisa que um sinal SIGSEGV. Um sinal é apenas um sinal. Quando você tem uma falha de segmentação real, é quando o kernel irá registrá-lo e, subseqüentemente, enviar um sinal SIGSEGV para o seu aplicativo.
A lógica por trás disso, e por que o kernel registra apenas uma falha de segmentação real, é que o kernel (e CPU) é o que reforça as regras sobre qual espaço de endereço seu programa tem e é permitido acessar. Assim, quando essas regras são quebradas, é o único a registrar a ação.
Para testar corretamente, você precisa realmente fazer algo em seu código que gere uma falha de segmentação, como acessar um ponteiro não inicializado.