FFT is an fast algorithm to compute DFT
So it works on finite length of samples. This fact has some side effects on the spectrum that it will generate for signal, but generally it consist only signal frequencies that it includes on its time window of length nfft.
When u sweep frequency in your sinusoidal, in fact you are doing some sort of frequency modulation. when you calculate FFT of this signal. You would see power in all frequencies that sinusoidal has been modulated to in the window that you calculate your FFT.
Consider following example I wrote in Matlab:
fs = 48e3;
t = 0:1/fs:20e-3;
x = sin(2.*pi.*(10e3 - (2e3 .*(abs(t-10e-3)/10e-3))).*t);
This signal would sweep frequency from 8K to 10K in [0 , 10ms] and from 10K to 8K in [10ms, 20ms] and has been sampled by 48KHz frequency.
To calculate its FFT:
L = length(x);
xf = fft(x)/L;
xf_s = fftshift(xf);
f = Fs/2 * linspace(-1,1-2/L,L);
Then you can plot its DFT spectrum representation using
plot(f,abs(xf_s));
and:
Just like most of frequency modulated signals. Note that here we calculated FFT for full length of signal, if we calculate it for only some portion of signal we would have frequencies power for that portion.