There is a recent a paper recently using a population test of all CRSP data from 1925-2013 as a test of whether a mean and a variance exist versus they do not exist. It overwhelmingly excluded mean-variance finance as not possible. It is also a population study so for mean-variance to be valid, there would have to be radically different behavior before and after the study period.
The reason you do not see supporting papers to validate from is that they do not exist. The origin of the Fama-French work was not to create a model, but to falsify the CAPM. The population test paper is at https://papers.ssrn.com/sol3/papers.cfm?abstract_id=2653151
It follows from work by Mandelbrot and Fama in the 1960s. You can find Mandelbrot's seminal paper on the topic at Mandelbrot B. The variation of certain speculative prices. Journal of Business, 1963,36(4): 394-419 There is a long literature after this paper that thinned out for two reasons.
First, in the 1960s computers used punch cards. If Mandelbrot's observations are correct, which the above study confirms overwhelmingly, then all mean-variance solutions including the Fama-French models are not possibly true models. They are excluded by the laws of general summation in mathematics. It isn't an issue of opinion, they violate known mathematical laws, if Mandelbrot's paper is valid. Unfortunately, if you live in a world of punch card computing, then you cannot do anything with Mandelbrot's work and it was perceived that an assumption of normality would be close enough. At that point in time, only a few mathematicians or statisticians would have been able to discuss it so the necessary conversations never happened.
Second, Mandelbrot and subsequent papers by Fama didn't allow anyone to create actual economics, all they really did was provide broad rules of the road for statisticians. Whereas Markowitz's and Roy's papers allow you to do economics, Mandelbrot's papers did not. It is only recently that there are papers on what to do as an economist if you live in Mandelbrot's world instead of Markowitz's world.
The source of the mathematical failure can be thought of in two forms. The first is that returns on investment are the ratio of a future value divided by a present value minus one. We can ignore the minus one because it translates the solution but has no distributional effect except to move the location. Let us assume we are making a decision, this makes the buy and the sell future events WHEN you are deciding. So a return is a ratio variable, which would be the ratio of the distribution of two future prices. Under Markowitzian assumptions it has been shown in a paper that the distribution of returns must be $$\frac{1}{\pi}\frac{\sigma}{\sigma^2+(r-\mu)^2}.$$
Under realistic assumptions this is not true, but under Markowitzian assumptions this must be true. It is also consistent with the laws of mathematics. If you try to find the return for the above formula as $$E(r)=\int_{-\infty}^{\infty}\frac{1}{\pi}\frac{r\sigma}{\sigma^2+(r-\mu)^2}\mathrm{d}r$$ you will quickly observe that the integral diverges and so no expectation can exist. You can plug it into Wolfram Alpha if you are unconvinced.
Nonetheless, under realistic assumptions you can show that except for two special cases, all returns must be some transformation of the above formula.
The second way to show this is to note that if $w_{t+1}=rw_t+\epsilon_{t+1}$ or its static equivalent, where $\epsilon$ is drawn from any distribution with zero mean and with a positive, finite variance, then the distribution of the uncertainty about $r$ will be the above formula. As a consequence, it follows that no maximum likelihood solution exists and that the minimum variance unbiased estimator is the median slope and the scale parameter is the interquartile range. This kills mean-variance finance as you would have median-interquartile range finance.
As noted in the literature, however, there is a Bayesian solution. The above solution is from a paper in 1958 by John White, completing work by Mann and Wald and it has a Bayesian interpretation. While it acts as a non-existence proof for null hypothesis methods, it actually defines the likelihood function in Bayesian regression.
If you are mentally rejecting the above explanation, then ask yourself, why, sixty-five years later, the most obvious thing you would expect to see is not found in the literature.
You can do a quick validation test yourself, it will take you twenty minutes of coding. Grab your data set of prices, do not use pre-built returns because they often have normalizations you won't be able to control, and solve $p_{t+1}/p_t$ for every security that is not soon to merge out or declare bankruptcy. They have very different mathematical properties. Also do not use the log difference because the issues are more subtle and that will be discussed below.
The easiest solution since this is quick and dirty, is to exclude any trades that don't exactly fit. For example, if you do one day returns, exclude Friday trades since they have three or four days until the next trade. You can segregate them and run the same thing on them if it makes you feel better. The result will be the same. If you run 1 year returns, just drop all trades that do not happen exactly 365 days apart. It will really drop your sample size, but you will still have tens of millions of trades.
Find the sample mean and the sample standard deviation. Then plot a histogram of the data in about 3% bin widths about either 0% if you subtracted 1 or around 1 if you just divided. Now overlay the implied normal distribution.
It won't fit and the parameters won't make sense economically. It still will not work if you adjust the implied distribution for the fact that negative prices are not allowed.
Leaving the quick and dirty, if you used a Metropolis-Hastings algorithm for a truncated likelihood in lieu of the above untruncated likelihood, you would find it fits very well, though there is a bit of skew in the data. The argument put forth is that it is due to the stochastic budget constraint. Because anyone would accept 100 shares of any stock for free and because there is a zero probability people would pay infinity, there is a sigmoid survival function that describes the probability a trade will happen at all at each price level, which is what creates a return. Because you did not model this, you see it as skew.
If you use log returns then you will have a mean and a variance, but no covariance. The likelihood is the hyperbolic secant distribution. It is a fat-tailed, finite-variance distribution with the unpleasant property that as you add assets you do not add covariance factors. Instead, you have a group of assets that cannot be independent of each other, but cannot covary asymptotically though they can covary locally.
Everyone still uses mean-variance finance, but it is about to disappear because it is unsound. This isn't an opinion, this is math combined with a population test as verification that it is unsound. If you have a PhD statistician at your work, just show them this. They will tell you it is correct or at least probably correct and want to see the underlying papers to verify it. Tell them they can derive normality as the distribution of the limit book for stocks under Markowitz because there are many buyers and sellers and a market in equilibrium is not subject to the winner's curse. The rational behavior in a double auction in equilibrium is to bid your expectation. The distribution of the expectations will converge to normality for the limit book. Prices will follow a normal shock and returns will follow as above. Then they will agree that the above is obviously correct.