Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use PLATFORM value from TKG if available in top.xml #228

Closed
Mesbah-Alam opened this issue Mar 7, 2019 · 8 comments
Closed

Use PLATFORM value from TKG if available in top.xml #228

Mesbah-Alam opened this issue Mar 7, 2019 · 8 comments

Comments

@Mesbah-Alam
Copy link
Contributor

Mesbah-Alam commented Mar 7, 2019

We would like to use the PLATFORM value from TKG when available in STF (top.xml). When it's not available, e.g., when we are running system tests using the make layer locally, we can then use logic in top.xml to figure out PLATFORM values from java properties.

Note that, we need to update the existing logic in top.xml and ensure that in case it's figuring out PLATFORM values, that it is generating the PLATFORM values of the same format as generated by TKG.

@Mesbah-Alam
Copy link
Contributor Author

FYI @llxia

@lumpfish
Copy link
Contributor

The code is the way it is at the moment to detect PLATFORM by interrogating the system properties of the java running the build.
If you go ahead and remove this capability, make sure that the system fails if those arguments are not set. Remember a user may want to execute the tests without going though openjdk-tests testkitgen.

@llxia
Copy link
Contributor

llxia commented Mar 20, 2019

The plan is not to remove the existing capability. The script should be updated to allow the value to be passed in. If the value is passed in, proceed with the value. There is no need to detect/construct it again.

@Mesbah-Alam
Copy link
Contributor Author

Mesbah-Alam commented Feb 8, 2021

My two cents on this:

  1. The format used by the set-platform-properties macrodef in STF's top.xml to form the java_platform value is:
${@{osname.property}}_${@{arch.property}}-${@{bits.property}}

This results in values such as zos_390-64. Note: this format is different than the PLATFORM env var e.g. s390x_zos. However, It is a bit closer to values we get for SPEC, e.g. zos_390-64_cmprssptrs.

  1. Platform values generated in top.xml are referenced (hardcoded) in 3 system test makefile scripts (e.g., modularity, sharedclasses.jvmti and jck).

Given the above, if we are to use the SPEC values for java_platform property in system tests, instead of the values produced by the set-platform-properties of top.xml, and still keep the set-platform-properties macro to be used for the case of running system test locally without TKG, we'd have to do the following:

  1. Update the format used for platform.property in set-platform-properties macro and make it generate valuers in the same format as TKG.
  1. Add logic in top.xml to use SPEC when it's available (e.g. during Jenkins runs, or local runs that use TKG). If it's not available, we'd depend on set-platform-properties.

  2. Update the hardcoded references of platform values in the 3 makefile scripts (mentioned above) according to the new / changed / common format.

FYI.. @llxia @lumpfish

@llxia
Copy link
Contributor

llxia commented Feb 9, 2021

Maybe we should pause this issue for now. Once we switch entirely to mixedref SDK, there will not be *_mixed or *_xl in PLATFORM. Also, we may want to remove SPEC.

@Mesbah-Alam
Copy link
Contributor Author

Hi @llxia ,

While cleaning up the system test native makefiles (e.g. , this), I did a cross check between the platforms they have support for and the platforms for which we run builds (checked internal Jenkins only), plus also the list of platforms we display in grinder. This reveals that we are not running any builds for the following platforms:

  • s390 31 bit z/OS
  • s390 32 bit zLinux
  • ppc32 bit AIX
  • ppc32 bit linux

However, these platforms do exist in the list in platform map.

My question is, are we ever going to have any SDK for these above platforms to test? If not, I'll go ahead and clean up the test make scripts and remove them from there.

@llxia
Copy link
Contributor

llxia commented Feb 26, 2021

We have these build for IBM Java 8 internally. For example, Test_openjdk8_ibm_sanity.system_ppc32_aix_Nightly
These builds were stopped running, but I think we will eventually re-enable them. Hence, I do not think we can remove them in the makefiles.

@Mesbah-Alam Mesbah-Alam changed the title Simplify logic to get platform values in system tests Use PLATFORM value from TKG if available in top.xml Mar 2, 2021
@Mesbah-Alam Mesbah-Alam self-assigned this Mar 2, 2021
@Mesbah-Alam Mesbah-Alam removed their assignment Jan 26, 2022
@Mesbah-Alam
Copy link
Contributor Author

Actually, This issue has been resolved by #413. Modularity natives, SCC native tests, and JCK native compilation scripts now no longer depend on PLATFORM value as an input. So, we do not need to bother about which platform value to use anyway.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants