add mini test framework, start testing getopt