Try your modifications. In your test collection, modify your spec file so that the function you just added is called as the stemming function, and try it. Reindex your collection, and see it the stemming you just implemented corresponds to what you obtain.
For rigorous testing, my preferred technique is a white-box testing method called branch coverage, in which test cases are created so that we try to cover every branch of the control flow graph of the program. In the case of the fucntion remove_s_french, we must make sure that the correct output is produced for every possible control flow path in the program that does not loop more than one time (the other cases should also be verified). See a good textbook describing the branch coverage technique for details.
Note that while indexing a collection for the first time, there can be an error "No such file" without any more details (without indicating which file open failed). At the loading of a spec file, not all file opens are tested for failure; among possible others, the test_rr_obj property has this behaviour. You have two ways to find out which file has failed: either you play with various values in the spec files, adding a new erro to the spec file earlier and earlier in the file until the "No such file" error stops appearing and your new error starts appearing; or you can use the debug facility of SMART (recommended), start SMART with the additional parameters "trace 4" at the end of the commend line, and you will see which SMART function last started before the loading failed.