diff options
author | Jiri Vanek <[email protected]> | 2012-03-08 15:54:39 +0100 |
---|---|---|
committer | Jiri Vanek <[email protected]> | 2012-03-08 15:54:39 +0100 |
commit | f3fd206b1b590c09645c51c4ec65dc60a0d3be5f (patch) | |
tree | d2c029fcdc136659d514a43abcbce67ce5e06ba0 /tests | |
parent | 12575a546bc0859e9c77c00e06e8f05197663f9d (diff) |
added reproducers for main class in manifest
Diffstat (limited to 'tests')
14 files changed, 828 insertions, 0 deletions
diff --git a/tests/jnlp_tests/simple/ManifestedJar1/resources/ManifestedJar-1main2mainAppDesc.jnlp b/tests/jnlp_tests/simple/ManifestedJar1/resources/ManifestedJar-1main2mainAppDesc.jnlp new file mode 100644 index 0000000..5182a95 --- /dev/null +++ b/tests/jnlp_tests/simple/ManifestedJar1/resources/ManifestedJar-1main2mainAppDesc.jnlp @@ -0,0 +1,53 @@ +<!-- + +This file is part of IcedTea. + +IcedTea is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +IcedTea is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with IcedTea; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. + + --> +<?xml version="1.0" encoding="utf-8"?> +<jnlp spec="1.0" + codebase="./" + href="ManifestedJar-1main2mainNoAppDesc.jnlp"> + <information> + <title>Test Thread.getAllStackTraces</title> + <vendor>NetX</vendor> + <homepage href="http://jnlp.sourceforge.net/netx/"/> + <description>testing jar with manin class in manifest. Invalid xml exception should go out</description> + </information> + <resources> + <jar href="ManifestedJar1.jar" main="true"/> + <jar href="ManifestedJar2.jar" main="true"/> + </resources> + <application-desc main-class="ManifestedJar2"> +</jnlp> diff --git a/tests/jnlp_tests/simple/ManifestedJar1/resources/ManifestedJar-1main2mainNoAppDesc.jnlp b/tests/jnlp_tests/simple/ManifestedJar1/resources/ManifestedJar-1main2mainNoAppDesc.jnlp new file mode 100644 index 0000000..62e04c2 --- /dev/null +++ b/tests/jnlp_tests/simple/ManifestedJar1/resources/ManifestedJar-1main2mainNoAppDesc.jnlp @@ -0,0 +1,54 @@ +<!-- + +This file is part of IcedTea. + +IcedTea is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +IcedTea is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with IcedTea; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. + + --> + +<?xml version="1.0" encoding="utf-8"?> +<jnlp spec="1.0" + codebase="./" + href="ManifestedJar-1main2mainNoAppDesc.jnlp"> + <information> + <title>ManifestedJar-1main2mainNoAppDesc.jnlp</title> + <vendor>NetX</vendor> + <homepage href="http://jnlp.sourceforge.net/netx/"/> + <description>testing jar with manin class in manifest, hello from manifestedjar1 should go out</description> + </information> + <resources> + <jar href="ManifestedJar1.jar" main="true"/> + <jar href="ManifestedJar2.jar" main="true"/> + </resources> + <application-desc/> +</jnlp> diff --git a/tests/jnlp_tests/simple/ManifestedJar1/resources/ManifestedJar-1main2nothingNoAppDesc.jnlp b/tests/jnlp_tests/simple/ManifestedJar1/resources/ManifestedJar-1main2nothingNoAppDesc.jnlp new file mode 100644 index 0000000..3244229 --- /dev/null +++ b/tests/jnlp_tests/simple/ManifestedJar1/resources/ManifestedJar-1main2nothingNoAppDesc.jnlp @@ -0,0 +1,54 @@ +<!-- + +This file is part of IcedTea. + +IcedTea is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +IcedTea is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with IcedTea; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. + + --> + +<?xml version="1.0" encoding="utf-8"?> +<jnlp spec="1.0" + codebase="./" + href="ManifestedJar-1main2nothingNoAppDesc.jnlp"> + <information> + <title>ManifestedJar-1main2nothingNoAppDesc</title> + <vendor>NetX</vendor> + <homepage href="http://jnlp.sourceforge.net/netx/"/> + <description>testing jar with manin class in manifest, hello from manifestedjar2 should be printed</description> + </information> + <resources> + <jar href="ManifestedJar1.jar" /> + <jar href="ManifestedJar2.jar" main="true"/> + </resources> + <application-desc/> +</jnlp> diff --git a/tests/jnlp_tests/simple/ManifestedJar1/resources/ManifestedJar-1mainHaveAppDesc.jnlp b/tests/jnlp_tests/simple/ManifestedJar1/resources/ManifestedJar-1mainHaveAppDesc.jnlp new file mode 100644 index 0000000..6717280 --- /dev/null +++ b/tests/jnlp_tests/simple/ManifestedJar1/resources/ManifestedJar-1mainHaveAppDesc.jnlp @@ -0,0 +1,54 @@ +<!-- + +This file is part of IcedTea. + +IcedTea is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +IcedTea is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with IcedTea; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. + + --> +<?xml version="1.0" encoding="utf-8"?> +<jnlp spec="1.0" + codebase="./" + href="ManifestedJar-1mainHaveAppDesc.jnlp"> + <information> + <title>"ManifestedJar-1mainHaveAppDesc.jnlp</title> + <vendor>NetX</vendor> + <homepage href="http://jnlp.sourceforge.net/netx/"/> + <description>testing jar with manin class in manifest, hello from manifestedjar2 should be printed</description> + </information> + <resources> + <jar href="ManifestedJar1.jar" main="true"/> + <jar href="ManifestedJar2.jar" /> + </resources> + <application-desc main-class="ManifestedJar2"> + </application-desc> +</jnlp> diff --git a/tests/jnlp_tests/simple/ManifestedJar1/resources/ManifestedJar-1mainNoAppDesc.jnlp b/tests/jnlp_tests/simple/ManifestedJar1/resources/ManifestedJar-1mainNoAppDesc.jnlp new file mode 100644 index 0000000..ebc4ea2 --- /dev/null +++ b/tests/jnlp_tests/simple/ManifestedJar1/resources/ManifestedJar-1mainNoAppDesc.jnlp @@ -0,0 +1,53 @@ +<!-- + +This file is part of IcedTea. + +IcedTea is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +IcedTea is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with IcedTea; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. + + --> + +<?xml version="1.0" encoding="utf-8"?> +<jnlp spec="1.0" + codebase="./" + href="ManifestedJar-1mainNoAppDesc.jnlp"> + <information> + <title>ManifestedJar-1mainNoAppDesc.jnlp</title> + <vendor>NetX</vendor> + <homepage href="http://jnlp.sourceforge.net/netx/"/> + <description>testing jar with manin class in manifest, hello from manifestedjar should be printed</description> + </information> + <resources> + <jar href="ManifestedJar1.jar" main="true"/> + </resources> + <application-desc/> +</jnlp> diff --git a/tests/jnlp_tests/simple/ManifestedJar1/resources/ManifestedJar-1noAppDesc.jnlp b/tests/jnlp_tests/simple/ManifestedJar1/resources/ManifestedJar-1noAppDesc.jnlp new file mode 100644 index 0000000..a15dc77 --- /dev/null +++ b/tests/jnlp_tests/simple/ManifestedJar1/resources/ManifestedJar-1noAppDesc.jnlp @@ -0,0 +1,52 @@ +<!-- + +This file is part of IcedTea. + +IcedTea is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +IcedTea is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with IcedTea; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. + + --> +<?xml version="1.0" encoding="utf-8"?> +<jnlp spec="1.0" + codebase="./" + href="ManifestedJar-1noAppDesc.jnlp"> + <information> + <title>ManifestedJar-1noAppDesc</title> + <vendor>NetX</vendor> + <homepage href="http://jnlp.sourceforge.net/netx/"/> + <description>testing jar with manin class in manifest, hello from manifestedjar1 shold be printed</description> + </information> + <resources> + <jar href="ManifestedJar1.jar"/> + </resources> + <application-desc/> +</jnlp> diff --git a/tests/jnlp_tests/simple/ManifestedJar1/resources/ManifestedJar-1noAppDescAtAll.jnlp b/tests/jnlp_tests/simple/ManifestedJar1/resources/ManifestedJar-1noAppDescAtAll.jnlp new file mode 100644 index 0000000..ac7c3db --- /dev/null +++ b/tests/jnlp_tests/simple/ManifestedJar1/resources/ManifestedJar-1noAppDescAtAll.jnlp @@ -0,0 +1,49 @@ +<!-- + +This file is part of IcedTea. + +IcedTea is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +IcedTea is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with IcedTea; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. + + --> +<?xml version="1.0" encoding="utf-8"?> +<jnlp spec="1.0" codebase="./" href="ManifestedJar-1noAppDescAtAll.jnlp"> + <information> + <title>ManifestedJar-1noAppDescAtAll</title> + <vendor>NetX</vendor> + <homepage href="http://jnlp.sourceforge.net/netx/"/> + <description>testing jar with manin class in manifest, exception during launching, no application specified</description> + </information> + <resources> + <jar href="ManifestedJar1.jar"/> + </resources> +</jnlp> diff --git a/tests/jnlp_tests/simple/ManifestedJar1/resources/ManifestedJar-1nothing2nothingAppDesc.jnlp b/tests/jnlp_tests/simple/ManifestedJar1/resources/ManifestedJar-1nothing2nothingAppDesc.jnlp new file mode 100644 index 0000000..52beb63 --- /dev/null +++ b/tests/jnlp_tests/simple/ManifestedJar1/resources/ManifestedJar-1nothing2nothingAppDesc.jnlp @@ -0,0 +1,54 @@ +<!-- + +This file is part of IcedTea. + +IcedTea is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +IcedTea is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with IcedTea; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. + + --> + +<?xml version="1.0" encoding="utf-8"?> +<jnlp spec="1.0" + codebase="./" + href="ManifestedJar-1nothing2nothingAppDesc.jnlp"> + <information> + <title>ManifestedJar-1nothing2nothingAppDesc</title> + <vendor>NetX</vendor> + <homepage href="http://jnlp.sourceforge.net/netx/"/> + <description>testing jar with manin class in manifest. Hello from manifestedjar2 should be printed</description> + </information> + <resources> + <jar href="ManifestedJar1.jar" /> + <jar href="ManifestedJar2.jar" /> + </resources> + <application-desc main-class="ManifestedJar2"> +</jnlp> diff --git a/tests/jnlp_tests/simple/ManifestedJar1/resources/ManifestedJar-1nothing2nothingNoAppDesc.jnlp b/tests/jnlp_tests/simple/ManifestedJar1/resources/ManifestedJar-1nothing2nothingNoAppDesc.jnlp new file mode 100644 index 0000000..053cd46 --- /dev/null +++ b/tests/jnlp_tests/simple/ManifestedJar1/resources/ManifestedJar-1nothing2nothingNoAppDesc.jnlp @@ -0,0 +1,54 @@ +<!-- + +This file is part of IcedTea. + +IcedTea is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +IcedTea is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with IcedTea; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. + + --> + +<?xml version="1.0" encoding="utf-8"?> +<jnlp spec="1.0" + codebase="./" + href="ManifestedJar-1nothing2nothingNoAppDesc.jnlp"> + <information> + <title>ManifestedJar-1nothing2nothingNoAppDesc</title> + <vendor>NetX</vendor> + <homepage href="http://jnlp.sourceforge.net/netx/"/> + <description>testing jar with manin class in manifest. Hello from manifestedjar1 should be printed</description> + </information> + <resources> + <jar href="ManifestedJar1.jar" /> + <jar href="ManifestedJar2.jar" /> + </resources> + <application-desc/> +</jnlp> diff --git a/tests/jnlp_tests/simple/ManifestedJar1/srcs/META-INF/MANIFEST.MF b/tests/jnlp_tests/simple/ManifestedJar1/srcs/META-INF/MANIFEST.MF new file mode 100644 index 0000000..badcd09 --- /dev/null +++ b/tests/jnlp_tests/simple/ManifestedJar1/srcs/META-INF/MANIFEST.MF @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +Main-Class: ManifestedJar1 + diff --git a/tests/jnlp_tests/simple/ManifestedJar1/srcs/ManifestedJar1.java b/tests/jnlp_tests/simple/ManifestedJar1/srcs/ManifestedJar1.java new file mode 100644 index 0000000..a7cfb9b --- /dev/null +++ b/tests/jnlp_tests/simple/ManifestedJar1/srcs/ManifestedJar1.java @@ -0,0 +1,45 @@ +/* AllStackTraces.java +Copyright (C) 2011 Red Hat, Inc. + +This file is part of IcedTea. + +IcedTea is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License as published by +the Free Software Foundation, version 2. + +IcedTea is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with IcedTea; see the file COPYING. If not, write to +the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. + */ + +public class ManifestedJar1 { + public static void main(String[] args) { + hello1(); + } + public static void hello1() { + System.out.println("Hello from ManifestedJar1"); + } +} diff --git a/tests/jnlp_tests/simple/ManifestedJar1/testcases/ManifestedJar1Test.java b/tests/jnlp_tests/simple/ManifestedJar1/testcases/ManifestedJar1Test.java new file mode 100644 index 0000000..f7bd7ba --- /dev/null +++ b/tests/jnlp_tests/simple/ManifestedJar1/testcases/ManifestedJar1Test.java @@ -0,0 +1,255 @@ +/* ManifestedJar1Test.java +Copyright (C) 2011 Red Hat, Inc. + +This file is part of IcedTea. + +IcedTea is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License as published by +the Free Software Foundation, version 2. + +IcedTea is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with IcedTea; see the file COPYING. If not, write to +the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. + */ + +import net.sourceforge.jnlp.ServerAccess; +import org.junit.Assert; + +import org.junit.Test; + +public class ManifestedJar1Test { + + private static ServerAccess server = new ServerAccess(); + private static final String nonLunchableMessage = "net.sourceforge.jnlp.LaunchException: Fatal: Application Error: Not a launchable JNLP file. File must be a JNLP application, applet, or installer type."; + //actually this on eis never printed as stderr will not recieve this message in headless mode :( + private static final String twoMainException = "net.sourceforge.jnlp.ParseException: Invalid XML document syntax"; + + private void assertManifestedJar1(String id, ServerAccess.ProcessResult q) { + String s = "Hello from ManifestedJar1"; + Assert.assertTrue(id + " stdout should contains `" + s + "`, but didn't ", q.stdout.contains(s)); + } + + private void assertManifestedJar2(String id, ServerAccess.ProcessResult q) { + String s = "Hello from ManifestedJar2"; + Assert.assertTrue(id + " stdout should contains `" + s + "`, but didn't ", q.stdout.contains(s)); + } + + private void assertNotManifestedJar1(String id, ServerAccess.ProcessResult q) { + String s = "Hello from ManifestedJar1"; + Assert.assertFalse(id + " stdout should NOT contains `" + s + "`, but didn ", q.stdout.contains(s)); + } + private void assertAppError(String id, ServerAccess.ProcessResult q) { + Assert.assertTrue(id + " stderr should contains `" + nonLunchableMessage + "`, but didnn't ", q.stderr.contains(nonLunchableMessage)); + } + + private void assertNotManifestedJar2(String id, ServerAccess.ProcessResult q) { + String s = "Hello from ManifestedJar2"; + Assert.assertFalse(id + " stdout should NOT contains `" + s + "`, but didn ", q.stdout.contains(s)); + } + + private void assertNotDead(String id, ServerAccess.ProcessResult pr) { + String cc = "ClassNotFoundException"; + Assert.assertFalse(id + " stderr should NOT contains `" + cc + "`, but did", pr.stderr.contains(cc)); + Assert.assertFalse(id + " should not be terminated, but was", pr.wasTerminated); + Assert.assertEquals((Integer) 0, pr.returnValue); + } + + @Test + /** + * if two jars with manifest specified, none is main and no main class, then first one is loaded + */ + public void manifestedJar1nothing2nothingNoAppDesc() throws Exception { + String id = "ManifestedJar-1nothing2nothingNoAppDesc"; + System.out.println("connecting " + id + " request"); + System.err.println("connecting " + id + " request"); + ServerAccess.ProcessResult pr = server.executeJavawsHeadless(null, "/" + id + ".jnlp"); + System.out.println(pr.stdout); + System.err.println(pr.stderr); + assertManifestedJar1(id, pr); + assertNotDead(id, pr); + } + + /** + *if one jar with manifest, is not main, and no main class then is lunched + * + */ + @Test + public void manifestedJar1noAppDesc() throws Exception { + String id = "ManifestedJar-1noAppDesc"; + System.out.println("connecting " + id + " request"); + System.err.println("connecting " + id + " request"); + ServerAccess.ProcessResult pr = server.executeJavawsHeadless(null, "/" + id + ".jnlp"); + System.out.println(pr.stdout); + System.err.println(pr.stderr); + assertManifestedJar1(id, pr); + assertNotDead(id, pr); + } + + /** + *if one jar with manifest, but not marked as main and no main class then is lunched + * + */ + @Test + public void manifestedJar1mainNoAppDesc() throws Exception { + String id = "ManifestedJar-1mainNoAppDesc"; + System.out.println("connecting " + id + " request"); + System.err.println("connecting " + id + " request"); + ServerAccess.ProcessResult pr = server.executeJavawsHeadless(null, "/" + id + ".jnlp"); + System.out.println(pr.stdout); + System.err.println(pr.stderr); + assertManifestedJar1(id, pr); + assertNotDead(id, pr); + } + + /** + *if one jar with manifest, marked as main and no main class then is lunched + * + */ + @Test + public void ManifestedJar1mainHaveAppDesc() throws Exception { + String id = "ManifestedJar-1mainHaveAppDesc"; + System.out.println("connecting " + id + " request"); + System.err.println("connecting " + id + " request"); + ServerAccess.ProcessResult pr = server.executeJavawsHeadless(null, "/" + id + ".jnlp"); + System.out.println(pr.stdout); + System.err.println(pr.stderr); + assertManifestedJar2(id, pr); + assertNotDead(id, pr); + } + + /** + * + * Two jars, both with manifest, First is main, but specified mainclass belongs to second one, then second one should be lunched + */ + @Test + public void ManifestedJar1main2nothingNoAppDesc() throws Exception { + String id = "ManifestedJar-1main2nothingNoAppDesc"; + System.out.println("connecting " + id + " request"); + System.err.println("connecting " + id + " request"); + ServerAccess.ProcessResult pr = server.executeJavawsHeadless(null, "/" + id + ".jnlp"); + System.out.println(pr.stdout); + System.err.println(pr.stderr); + assertManifestedJar2(id, pr); + assertNotDead(id, pr); + } + + /** + * + * Two jars, both with manifest, seconds is main, no mainclass, then the one marked as main is lunched + */ + @Test + public void manifestedJar1main2nothingNoAppDesc() throws Exception { + String id = "ManifestedJar-1main2nothingNoAppDesc"; + System.out.println("connecting " + id + " request"); + System.err.println("connecting " + id + " request"); + ServerAccess.ProcessResult pr = server.executeJavawsHeadless(null, "/" + id + ".jnlp"); + System.out.println(pr.stdout); + System.err.println(pr.stderr); + assertManifestedJar2(id, pr); + assertNotDead(id, pr); + } + + /** + * + * Two jars, both with manifest, sboth with main tag, no app desc + * + * thisis passing, SUSPICIOUS, but to lunch at least something is better then to lunch nothing at all. + * althoug it maybe SHOULD throw twoMainException + */ + @Test + public void manifestedJar1main2mainNoAppDesc() throws Exception { + String id = "ManifestedJar-1main2mainNoAppDesc"; + System.out.println("connecting " + id + " request"); + System.err.println("connecting " + id + " request"); + ServerAccess.ProcessResult pr = server.executeJavawsHeadless(null, "/" + id + ".jnlp"); + System.out.println(pr.stdout); + System.err.println(pr.stderr); + assertManifestedJar1(id, pr); + assertNotDead(id, pr); + } + + /** + * + * Two jars, both with manifest, sboth with main tag, have app desc + * + * corectly failing with twoMainException + */ + @Test + public void manifestedJar1main2mainAppDesc() throws Exception { + String id = "ManifestedJar-1main2mainAppDesc"; + System.out.println("connecting " + id + " request"); + System.err.println("connecting " + id + " request"); + ServerAccess.ProcessResult pr = server.executeJavawsHeadless(null, "/" + id + ".jnlp"); + System.out.println(pr.stdout); + System.err.println(pr.stderr); + assertNotManifestedJar1(id, pr); + assertNotManifestedJar2(id, pr); + assertNotDead(id, pr); + } + + /** + * + * Two jars, both with manifest, sboth with main tag, have app desc + * + * corectly failing + */ + @Test + public void manifestedJar1noAppDescAtAll() throws Exception { + String id = "ManifestedJar-1noAppDescAtAll"; + System.out.println("connecting " + id + " request"); + System.err.println("connecting " + id + " request"); + ServerAccess.ProcessResult pr = server.executeJavawsHeadless(null, "/" + id + ".jnlp"); + System.out.println(pr.stdout); + System.err.println(pr.stderr); + assertNotManifestedJar1(id, pr); + assertNotManifestedJar2(id, pr); + assertAppError(id, pr); + assertNotDead(id, pr); + } + + + + /** + * + * Two jars, both with manifest, non with main tag, have app desc + * + * this jnlp is NOT lunched, twoMainException thrown - ok + * + */ + @Test + public void manifestedJar1nothing2nothingAppDesc() throws Exception { + String id = "ManifestedJar-1nothing2nothingAppDesc"; + System.out.println("connecting " + id + " request"); + System.err.println("connecting " + id + " request"); + ServerAccess.ProcessResult pr = server.executeJavawsHeadless(null, "/" + id + ".jnlp"); + System.out.println(pr.stdout); + System.err.println(pr.stderr); + assertNotManifestedJar2(id, pr); + assertNotManifestedJar1(id, pr); + assertNotDead(id, pr); + } + +} diff --git a/tests/jnlp_tests/simple/ManifestedJar2/srcs/META-INF/MANIFEST.MF b/tests/jnlp_tests/simple/ManifestedJar2/srcs/META-INF/MANIFEST.MF new file mode 100644 index 0000000..d11e8a5 --- /dev/null +++ b/tests/jnlp_tests/simple/ManifestedJar2/srcs/META-INF/MANIFEST.MF @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +Main-Class: ManifestedJar2 + diff --git a/tests/jnlp_tests/simple/ManifestedJar2/srcs/ManifestedJar2.java b/tests/jnlp_tests/simple/ManifestedJar2/srcs/ManifestedJar2.java new file mode 100644 index 0000000..3682209 --- /dev/null +++ b/tests/jnlp_tests/simple/ManifestedJar2/srcs/ManifestedJar2.java @@ -0,0 +1,45 @@ +/* AllStackTraces.java +Copyright (C) 2011 Red Hat, Inc. + +This file is part of IcedTea. + +IcedTea is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License as published by +the Free Software Foundation, version 2. + +IcedTea is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with IcedTea; see the file COPYING. If not, write to +the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. + */ + +public class ManifestedJar2 { + public static void main(String[] args) { + hello2(); + } + public static void hello2() { + System.out.println("Hello from ManifestedJar2"); + } +} |