# HG changeset patch # User mli # Date 1464649428 25200 # Node ID c4ca9483156da8b356f6441bc74f66120d23adab # Parent c57fc9cfae33ace6e199eeeeecf86461801ea5b3 8158044: Add test that checks uri of upgradeable modules Reviewed-by: alanb, mchung diff -r c57fc9cfae33 -r c4ca9483156d jdk/test/tools/launcher/modules/upgrademodulepath/src/test/jdk/test/Main.java --- a/jdk/test/tools/launcher/modules/upgrademodulepath/src/test/jdk/test/Main.java Mon May 30 17:55:53 2016 +0100 +++ b/jdk/test/tools/launcher/modules/upgrademodulepath/src/test/jdk/test/Main.java Mon May 30 16:03:48 2016 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -23,8 +23,12 @@ package jdk.test; +import java.lang.module.ModuleReference; +import java.lang.reflect.Layer; +import java.net.URI; + +import javax.enterprise.context.Scope; import javax.transaction.Transaction; -import javax.enterprise.context.Scope; /** * Uses an upgraded version of module java.transaction. @@ -34,6 +38,7 @@ public static void main(String[] args) { + String TRANSACTION_MODULE = "java.transaction"; ClassLoader scl = ClassLoader.getSystemClassLoader(); ClassLoader pcl = ClassLoader.getPlatformClassLoader(); assertTrue(pcl.getParent() == null); @@ -43,9 +48,17 @@ // javax.transaction.Transaction should be in module java.transaction // and defined by the platform class loader - assertTrue(Transaction.class.getModule().getName().equals("java.transaction")); + assertTrue(Transaction.class.getModule().getName().equals(TRANSACTION_MODULE)); assertTrue(Transaction.class.getClassLoader() == pcl); + // javax.transaction should be found in boot layer. + ModuleReference ref = + Layer.boot().configuration().findModule(TRANSACTION_MODULE).get().reference(); + // check uri of java.transaction found on the upgrade module path. + URI uri = ref.location().get(); + System.out.println("uri: " + uri); + assertTrue(uri.getScheme().equalsIgnoreCase("file")); + // javax.enterprise.context.Scope should be in module java.enterprise // and defined by the application class loader assertTrue(Scope.class.getModule().getName().equals("java.enterprise"));