Ejemplo n.º 1
0
        static void Main(string[] aArgs)
        {
            Helper       helper    = new Helper(aArgs);
            OptionParser optParser = helper.OptionParser;

            OptionParser.OptionString option1 = new OptionParser.OptionString("-1", "--protocol", "UDP", "Protocol (UDP or TCP)", "PROTOCOL");
            OptionParser.OptionString option2 = new OptionParser.OptionString("-2", "--clientaddr", "127.0.0.1", "Client IP address", "CLIENTADDRESS");
            OptionParser.OptionInt    option3 = new OptionParser.OptionInt("-3", "--clientport", 51936, "Client port", "CLIENTPORT");
            OptionParser.OptionString option4 = new OptionParser.OptionString("-4", "--serveraddr", "127.0.0.1", "Server IP address", "SERVERADDRESS");
            OptionParser.OptionInt    option5 = new OptionParser.OptionInt("-5", "--serverport", 51936, "Server port", "SERVERPORT");
            OptionParser.OptionInt    option6 = new OptionParser.OptionInt("-6", "--size", 4, "Size of each packet (bytes)", "PACKETSIZE");
            OptionParser.OptionInt    option7 = new OptionParser.OptionInt("-7", "--total", 20, "Total number of packets to send", "PACKETTOTAL");
            OptionParser.OptionInt    option8 = new OptionParser.OptionInt("-8", "--delay", 0, "Delay between packets (0.1ms steps)", "PACKETDELAY");
            optParser.AddOption(option1);
            optParser.AddOption(option2);
            optParser.AddOption(option3);
            optParser.AddOption(option4);
            optParser.AddOption(option5);
            optParser.AddOption(option6);
            optParser.AddOption(option7);
            helper.ProcessCommandLine();

            Client test = new Client(option1.Value, option2.Value, option3.Value, option4.Value, option5.Value, option6.Value, option7.Value, option8.Value);

            // run the test ...
            test.ClientServerTest();
            helper.Dispose();
        }
Ejemplo n.º 2
0
    private void OptionStringTests()
    {
        // string option tests
        OptionParser optParser;

        OptionParser.OptionString optString1 = new OptionParser.OptionString("-a", "--stringa", "defaultstring1", "string help", "STRING");
        OptionParser.OptionString optString2 = new OptionParser.OptionString("-b", "--stringb", "defaultstring2", "string help", "STRING");
        TEST(optString1.ShortName == "-a");
        TEST(optString1.LongName == "--stringa");
        TEST(optString1.Value == "defaultstring1");
        TEST(optString2.ShortName == "-b");
        TEST(optString2.LongName == "--stringb");
        TEST(optString2.Value == "defaultstring2");

        // no args
        optParser = new OptionParser(new string[] {});
        optParser.AddOption(optString1);
        optParser.AddOption(optString2);
        optParser.Parse();
        TEST(optParser.PosArgs.Count == 0);
        TEST(optString1.Value == "defaultstring1");
        TEST(optString2.Value == "defaultstring2");

        // positional args only
        optParser = new OptionParser(new string[] { "arg1", "arg2" });
        optParser.AddOption(optString1);
        optParser.AddOption(optString2);
        optParser.Parse();
        TEST(optParser.PosArgs.Count == 2);
        TEST(optParser.PosArgs[0] == "arg1");
        TEST(optParser.PosArgs[1] == "arg2");
        TEST(optString1.Value == "defaultstring1");
        TEST(optString2.Value == "defaultstring2");

        // 1 good arg
        optParser = new OptionParser(new string[] { "-a", "stringa", "arg1", "arg2" });
        optParser.AddOption(optString1);
        optParser.AddOption(optString2);
        optParser.Parse();
        TEST(optParser.PosArgs.Count == 2);
        TEST(optParser.PosArgs[0] == "arg1");
        TEST(optParser.PosArgs[1] == "arg2");
        TEST(optString1.Value == "stringa");
        TEST(optString2.Value == "defaultstring2");

        optParser = new OptionParser(new string[] { "--stringa", "stringa", "arg1", "arg2" });
        optParser.AddOption(optString1);
        optParser.AddOption(optString2);
        optParser.Parse();
        TEST(optParser.PosArgs.Count == 2);
        TEST(optParser.PosArgs[0] == "arg1");
        TEST(optParser.PosArgs[1] == "arg2");
        TEST(optString1.Value == "stringa");
        TEST(optString2.Value == "defaultstring2");

        optParser = new OptionParser(new string[] { "arg1", "-a", "stringa", "arg2" });
        optParser.AddOption(optString1);
        optParser.AddOption(optString2);
        optParser.Parse();
        TEST(optParser.PosArgs.Count == 2);
        TEST(optParser.PosArgs[0] == "arg1");
        TEST(optParser.PosArgs[1] == "arg2");
        TEST(optString1.Value == "stringa");
        TEST(optString2.Value == "defaultstring2");

        optParser = new OptionParser(new string[] { "arg1", "arg2", "-a", "stringa" });
        optParser.AddOption(optString1);
        optParser.AddOption(optString2);
        optParser.Parse();
        TEST(optParser.PosArgs.Count == 2);
        TEST(optParser.PosArgs[0] == "arg1");
        TEST(optParser.PosArgs[1] == "arg2");
        TEST(optString1.Value == "stringa");
        TEST(optString2.Value == "defaultstring2");

        // 2 good args
        optParser = new OptionParser(new string[] { "-b", "stringb", "-a", "stringa", "arg1", "arg2" });
        optParser.AddOption(optString1);
        optParser.AddOption(optString2);
        optParser.Parse();
        TEST(optParser.PosArgs.Count == 2);
        TEST(optParser.PosArgs[0] == "arg1");
        TEST(optParser.PosArgs[1] == "arg2");
        TEST(optString1.Value == "stringa");
        TEST(optString2.Value == "stringb");

        optParser = new OptionParser(new string[] { "-b", "stringb", "arg1", "arg2", "-a", "stringa" });
        optParser.AddOption(optString1);
        optParser.AddOption(optString2);
        optParser.Parse();
        TEST(optParser.PosArgs.Count == 2);
        TEST(optParser.PosArgs[0] == "arg1");
        TEST(optParser.PosArgs[1] == "arg2");
        TEST(optString1.Value == "stringa");
        TEST(optString2.Value == "stringb");

        // missing option value
        optParser = new OptionParser(new string[] { "-b", "-a", "stringa", "arg1", "arg2" });
        optParser.AddOption(optString1);
        optParser.AddOption(optString2);
        TEST_THROWS(typeof(OptionParser.OptionParserError), optParser, "Parse");
        TEST(optParser.PosArgs.Count == 0);
        TEST(optString1.Value == "defaultstring1");
        TEST(optString2.Value == "defaultstring2");

        optParser = new OptionParser(new string[] { "-b", "stringb", "arg1", "arg2", "-a" });
        optParser.AddOption(optString1);
        optParser.AddOption(optString2);
        TEST_THROWS(typeof(OptionParser.OptionParserError), optParser, "Parse");
        TEST(optParser.PosArgs.Count == 0);
        TEST(optString1.Value == "defaultstring1");
        TEST(optString2.Value == "defaultstring2");

        // help tests
        OptionParser.OptionHelp help;
        help       = new OptionParser.OptionHelp();
        optString1 = new OptionParser.OptionString("-a", null, "defaultstring1", "string help", "STRING");
        optString1.AppendHelp(help);
        TEST(help.ToString() == "options:\n  -a STRING             string help\n");

        help       = new OptionParser.OptionHelp();
        optString1 = new OptionParser.OptionString(null, "--stringa", "defaultstring1", "string help", "STRING");
        optString1.AppendHelp(help);
        TEST(help.ToString() == "options:\n  --stringa=STRING      string help\n");

        help       = new OptionParser.OptionHelp();
        optString1 = new OptionParser.OptionString("-a", "--stra", "defaultstring1", "string help", "STR");
        optString1.AppendHelp(help);
        TEST(help.ToString() == "options:\n  -a STR, --stra=STR    string help\n");

        help       = new OptionParser.OptionHelp();
        optString1 = new OptionParser.OptionString("-a", "--stringa", "defaultstring1", "string help", "STRING");
        optString1.AppendHelp(help);
        TEST(help.ToString() == "options:\n  -a STRING, --stringa=STRING\n                        string help\n");
    }
Ejemplo n.º 3
0
    public override void Test()
    {
        // Option creation tests

        // no option names
        TEST_THROWS_NEW(typeof(AssertionError), typeof(OptionParser.OptionString),
                        null, null, "defaultstring", "test string help", "STRING");

        // bad short option names
        TEST_THROWS_NEW(typeof(AssertionError), typeof(OptionParser.OptionString),
                        "", null, "defaultstring", "test string help", "STRING");
        TEST_THROWS_NEW(typeof(AssertionError), typeof(OptionParser.OptionString),
                        "s", null, "defaultstring", "test string help", "STRING");
        TEST_THROWS_NEW(typeof(AssertionError), typeof(OptionParser.OptionString),
                        "-", null, "defaultstring", "test string help", "STRING");
        TEST_THROWS_NEW(typeof(AssertionError), typeof(OptionParser.OptionString),
                        "--", null, "defaultstring", "test string help", "STRING");
        TEST_THROWS_NEW(typeof(AssertionError), typeof(OptionParser.OptionString),
                        "-sd", null, "defaultstring", "test string help", "STRING");
        TEST_THROWS_NEW(typeof(AssertionError), typeof(OptionParser.OptionString),
                        "--sd", null, "defaultstring", "test string help", "STRING");

        // bad long option names
        TEST_THROWS_NEW(typeof(AssertionError), typeof(OptionParser.OptionString),
                        null, "", "defaultstring", "test string help", "STRING");
        TEST_THROWS_NEW(typeof(AssertionError), typeof(OptionParser.OptionString),
                        null, "s", "defaultstring", "test string help", "STRING");
        TEST_THROWS_NEW(typeof(AssertionError), typeof(OptionParser.OptionString),
                        null, "-", "defaultstring", "test string help", "STRING");
        TEST_THROWS_NEW(typeof(AssertionError), typeof(OptionParser.OptionString),
                        null, "-s", "defaultstring", "test string help", "STRING");
        TEST_THROWS_NEW(typeof(AssertionError), typeof(OptionParser.OptionString),
                        null, "--", "defaultstring", "test string help", "STRING");
        TEST_THROWS_NEW(typeof(AssertionError), typeof(OptionParser.OptionString),
                        null, "-sd", "defaultstring", "test string help", "STRING");

        // Some tests for different option types
        OptionStringTests();
        OptionIntTests();
        OptionBoolTests();

        // Parsing tests
        OptionParser optParser = new OptionParser(new string[] { "-a", "aval", "--bc", "bcval" });

        OptionParser.OptionString optString1 = new OptionParser.OptionString("-a", null, "defaultstring", "string help", "STRING");
        OptionParser.OptionString optString2 = new OptionParser.OptionString(null, "--bc", "defaultstring", "string help", "STRING");
        OptionParser.OptionString optString3 = new OptionParser.OptionString("-a", "--bc", "defaultstring", "string help", "STRING");
        OptionParser.OptionInt    optInt4    = new OptionParser.OptionInt("-a", null, 123, "int help", "INT");
        OptionParser.OptionBool   optBool5   = new OptionParser.OptionBool(null, "--bc", "bool help");

        // test adding already existing options
        optParser.AddOption(optString1);
        optParser.AddOption(optString2);
        TEST_THROWS(typeof(AssertionError), optParser, "AddOption", optString1);
        TEST_THROWS(typeof(AssertionError), optParser, "AddOption", optString2);
        TEST_THROWS(typeof(AssertionError), optParser, "AddOption", optString3);
        TEST_THROWS(typeof(AssertionError), optParser, "AddOption", optInt4);
        TEST_THROWS(typeof(AssertionError), optParser, "AddOption", optBool5);

        optParser.Parse();
        TEST(optParser.PosArgs.Count == 0);
        TEST(optString1.Value == "aval");
        TEST(optString2.Value == "bcval");
        TEST(optString3.Value == "defaultstring");
        TEST(optInt4.Value == 123);
        TEST(optBool5.Value == false);

        // test undefined options
        optParser = new OptionParser(new string[] { "-d" });
        TEST_THROWS(typeof(OptionParser.OptionParserError), optParser, "Parse");
        TEST(optParser.PosArgs.Count == 0);

        optParser = new OptionParser(new string[] { "--de" });
        TEST_THROWS(typeof(OptionParser.OptionParserError), optParser, "Parse");
        TEST(optParser.PosArgs.Count == 0);
    }
Ejemplo n.º 4
0
    static void Main(string[] aArgs)
    {
        HelperVolkano helper    = new HelperVolkano(aArgs);
        OptionParser  optParser = helper.OptionParser;

        optParser.Usage = "usage: Reprog.exe [options] [target ugly name] [rom file | bundle file]";

        OptionParser.OptionBool   optFallback  = new OptionParser.OptionBool("-f", "--fallback", "Target fallback rather than main");
        OptionParser.OptionBool   optNoExec    = new OptionParser.OptionBool(null, "--noexec", "Do not reboot target after reprogramming");
        OptionParser.OptionBool   optWait      = new OptionParser.OptionBool("-w", "--wait", "Wait to discover rebooted target after reprogramming (ignored with --noexec)");
        OptionParser.OptionBool   optNoTrust   = new OptionParser.OptionBool(null, "--notrust", "Reprogram to factory fresh paying no attention to current flash contents");
        OptionParser.OptionBool   optBootstrap = new OptionParser.OptionBool(null, "--bootstrap", "Additionally reprogram the boostrap");
        OptionParser.OptionBool   optUnsafe    = new OptionParser.OptionBool(null, "--unsafe", "Program directly to flash / no 2 phase programming.");
        OptionParser.OptionString optEmulator  = new OptionParser.OptionString("-e", "--emulator", "", "Flash emulator name (SrecA)", "Emulator name");
        OptionParser.OptionString optOutput    = new OptionParser.OptionString("-o", "--output", "", "Flash emulator output filename", "Output filename");


        optParser.AddOption(optFallback);
        optParser.AddOption(optNoExec);
        optParser.AddOption(optWait);
        optParser.AddOption(optNoTrust);
        optParser.AddOption(optBootstrap);
        optParser.AddOption(optUnsafe);
        optParser.AddOption(optEmulator);
        optParser.AddOption(optOutput);

        helper.Start();

        if (optParser.PosArgs.Count != 2)
        {
            Console.WriteLine(optParser.Help());
            System.Environment.Exit(1);
        }

        string uglyname = optParser.PosArgs[0];
        string xmlfile  = optParser.PosArgs[1];

        // create the console

        IConsole console = new FlashInfoConsole();

        // create the reprogrammer

        Reprogrammer reprog = new Reprogrammer(helper.IpAddress, console, uglyname, xmlfile);

        reprog.Fallback  = optFallback.Value;
        reprog.NoExec    = optNoExec.Value;
        reprog.Wait      = optWait.Value;
        reprog.NoTrust   = optNoTrust.Value;
        reprog.Bootstrap = optBootstrap.Value;
        reprog.Emulator  = optEmulator.Value;
        reprog.Output    = optOutput.Value;
        reprog.Unsafe    = optUnsafe.Value;

        // reprog

        if (!reprog.Execute())
        {
            reprog.Close();
            System.Environment.Exit(1);
        }

        reprog.Close();
        System.Environment.Exit(0);
    }