Open magnumripper opened 10 years ago
Also, we should run a short mask mode test on the normal test files.
For example, using -1=?u?d -mask=?1?1?1?1?1
against LM_tst.in should crack exactly 900 passwords. And another run adding -min-len=0
to the above (yes it should be tested separately) should crack exactly 1000.
For slower modes we can run simpler (even just ?d for very slow ones) and/or shorter masks. There is no need to test other formats. We are testing the mode, not the format.
This is btw part of #12
Should this be an external perl script (like the dyna-compiler test suite fuzzer???)
I think an external would be better than incorporated into the current TS. What we 'could' do, is to spawn these external script, from within the TS script, without having to 'overload' the current script, with additional complexity, doing things that are quite different than all current testing.
Yes I think so. Actually I think the priority is to establish manual tests that should be made. When that is done, we almost don't need them automated (testing only needed when changing mask mode) but at the same time it would be easy to do so.
But placing them into a script is not a bad idea. It provides a simple regression test, to make sure changes do not break something. It is really all that the test suite is. Just a regression tool, once all formats are in it.
True. Also, I really liked the design of the resume tests. One generic doOneRestore()
function, and a number of calls to it. That ended up really well. We could do something similar, perhaps even come up with a single generic function that can test most modes.
The whole TS is like that. There is a 'core' function, and we simply call that, based upon the *.dat file, and user input whittling that data down. That core function may be a 'loop',
See #75 I have a plan on testing the rules, and I think I can do something similar to test mask mode. I will know more once I get the rules tester working. Right now, it is just an idea that popped into my head on a way to do it ;)
See https://github.com/magnumripper/JohnTheRipper/issues/841 for lots of very small tests that TS should verify (if there is a mask mode present at all). They will ensure ranges and placeholders are parsed (or not) correctly, when things are escaped.