adoptium / aqa-tests

Home of test infrastructure for Adoptium builds
https://adoptium.net/aqavit
Apache License 2.0
130 stars 308 forks source link

Try reorganizing openjdk tier1 and tier2 tests into sanity.openjdk top-level targets #4127

Open smlambert opened 1 year ago

smlambert commented 1 year ago

Relating to a number of issues:

smlambert commented 1 year ago

Related: https://github.com/adoptium/aqa-tests/pull/4018#issuecomment-1278144507 (copying below for easier viewing)

smlambert commented 6 months ago

Newly added documentation related to this effort: https://github.com/adoptium/aqa-tests/wiki/How-OpenJDK-tests-map-to-AQAvit-test-targets

smlambert commented 6 months ago

Yes, I think some duplication is reasonable, and when looking at the upstream organization of material (4 tiers) there is duplication there too (see com/sun/crypto/provider/Cipher, java/nio/Buffer and sun/nio/cs/ISO8859x.java as examples). EDIT, no there is not duplication misread the TEST.groups file, com/sun/crypto/provider/Cipher, java/nio/Buffer and sun/nio/cs/ISO8859x.java are with a - in front in tier2.

I wanted a diagram of what the openjdk(upstream) make targets that make up tier1, then I wanted to see what other targets remain. Then I wanted to relate it to our levels (sanity, extended, special, dev).

Currently there are 4 tiers in upstream(openjdk), this shows the contents of them (for jdk11+):

graph TD;

tier1-->tier1_part1
tier1-->tier1_part2 
tier1-->tier1_part3

tier1_part1--level:sanity-->jdk_lang
tier1_part2--level:sanity-->jdk_util
tier1_part3--level:sanity-->jdk_math
tier1_part3--level:sanity-->jdk_svc_sanity
tier1_part3--level:sanity-->java/nio/Buffer
tier1_part3--level:extended in jdk_security2-->com/sun/crypto/provider/Cipher
tier1_part3--level:sanity-->sun/nio/cs/ISO8859x.java 
tier1_part3--level:sanity-->tools/pack200
graph TD;
tier2-->tier2_part1
tier2-->tier2_part2
tier2-->tier2_part3

tier2_part1-->jdk_security

tier2_part1--level:extended in jdk_security2-->-com/sun/crypto/provider/Cipher
tier2_part2--level:extended-->core_tools
tier2_part2--level:sanity-->-tools/pack200 
tier2_part2--level:extended-->jdk_io
tier2_part2--level:extended-->jdk_nio
tier2_part2--level:sanity-->-java/nio/Buffer
tier2_part2--level:sanity-->-sun/nio/cs/ISO8859x.java 
tier2_part2--level:extended-->jdk_other
tier2_part2--level:extended-->jdk_text
tier2_part2--level:extended-->jdk_time
tier2_part3--level:extended-->jdk_net

jdk_security--level:extended-->jdk_security1
jdk_security--level:extended-->jdk_security2
jdk_security--level:extended-->jdk_security3
jdk_security--level:extended-->jdk_security4
graph TD;
tier3-->build
tier3-->jdk_rmi  
tier3-->jdk_beans 
tier3-->jdk_imageio 
tier3-->jdk_sound 
tier3-->jdk_client_sanity 
tier3-->jdk_svc 
tier3--everythingNotIn-->-:jdk_svc_sanity 
tier3--everythingNotIn-->-:svc_tools
graph TD;
tier4--everythingNotIn-->-:tier1
tier4--everythingNotIn-->-:tier2
tier4--everythingNotIn-->-:tier3
tier4--everythingNotIn-->-:tier4

This should form part of documentation as well.