Hi all,

    updated tests according with comments. Also comments inline.

New webrev: http://cr.openjdk.java.net/~xiaofeya/8087307/webrev.01/

Thanks,

Felix

On 2017/5/19 13:57, Hamlin Li wrote:
Hi Felix,

I have some comments as below:


1. Possible test gaps for Locating Order
1.1 providers in named module have high priority than providers in unnamed 1.2 ServiceLoader.load​(ModuleLayer layer, Class<S> service) is not tested
This is a set of additional tests. The above scenarios have been covered in existing j.u.ServiceLoader/modules/Basic.java

-Felix
2. Possible test gap for automatic module, it is not tested

Add a basic test for providers in automatic module. It leverages existing scripts implementations in other tests.

3. Could you remove unnecessary module dependency on java.scripting, replace it with a customized module or java.base? it will make your tests run under as many as conditions.
Good catch,thanks
-Felix

4. For [a|b]filesystem
could you use URLStreamHandlerProvider rather than FileSystemProvider, it will make your test files(FileSystemForInstr, AFileSystem, BFileSystem) more simple.
This is intended to leverage JDK built-in providers (jar, jrt) in Platform and Bootstrap classloaders. There is no explicit implementation for URLStreamHandlerProvider.
-Felix

5. MisUsesTest.java and missuse
    missuses: miss => mis? (missuses => mis.uses)
    Possible test gap: add similar use case for unnamed module?
A good question, but I think it is not necessary. The test is to cover missing "uses" in module descriptor with a service (URLStreamHandlerProvider) having no explicit implementation. It implicitly indicates that the "can use" check not-related with how it is implemented.

-Felix

6. OrderingWithInstrTest.java
Could you use jtreg tag "driver RedefineModuleAgent" rather than "@run main/othervm OrderingWithInstrTest" to trigger the preparation of test? and move createAgentJar() and main() into RedefineModuleAgent.java.
Fixed, thanks.
-Felix

7. ReloadTest.java
The test success depends on execution order of tests, so need to add priority=N to every @Test method, or separate tests into 2 classes, one for negative, one for normal tests.
The tests looks for me not depend on order. They only depend on setup method which is annotated with BeforeClass.

8. Some additional minor comments:
8.1 split module name with ".", for e.g. multiprovides => multi.provides
I may keep the naming to be identical with existing ServiceLoader module tests.
8.2 wrap long lines, and revert unnecessary wrapping too, in several files.
    8.3 correct indent, e.g. in PermissionTest.java
8.4 Is default constructor "public ProviderX() { }" necessary in multi.ProviderX ?
Resolved above, thanks

8.5 rename Service to OrderedService?
I may keep to be identical with existing ServiceLoader module tests.
-Felix

Thank you

-Hamlin


On 2017/5/19 9:38, Felix Yang wrote:
Ping:)

-Felix
On 16 May 2017, at 4:59 PM, Felix Yang <felix.y...@oracle.com> wrote:

Hi there,

please review the new tests added for ServiceLoader updates for module system.

Test bug:

https://bugs.openjdk.java.net/browse/JDK-8087307

Webrev:

http://cr.openjdk.java.net/~xiaofeya/8087307/webrev.00/

Related product Changes:

https://bugs.openjdk.java.net/browse/JDK-8132026

https://bugs.openjdk.java.net/browse/JDK-8047814

Thanks,

Felix




Reply via email to