Merge remote-tracking branch 'origin/GP-1_ghidragon_test_fixes_4_22_26'

This commit is contained in:
ghidra1
2026-05-04 14:53:08 -04:00
45 changed files with 1976 additions and 688 deletions

View File

@@ -148,8 +148,10 @@ def initTestJVM(Task task, String rootDirName) {
task.minHeapSize = xms
task.maxHeapSize = xmx
task.doFirst {
task.jvmArgs '-DupgradeProgramErrorMessage=' + upgradeProgramErrorMessage,
task.doFirst {
def args = [
'-DupgradeProgramErrorMessage=' + upgradeProgramErrorMessage,
'-DupgradeTimeErrorMessage=' + upgradeTimeErrorMessage,
'-Dlog4j.configurationFile=' + logPropertiesUrl,
'-Dghidra.test.property.batch.mode=true',
@@ -171,7 +173,10 @@ def initTestJVM(Task task, String rootDirName) {
'-Duser.language=en',
'-Djdk.attach.allowAttachSelf',
'-XX:TieredStopAtLevel=1',
'-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=' + debugPort,
// Note: this following arg is needed to enable remote debug.
//'-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:' + debugPort,
// Allow illegal reflective accesses
'--add-opens=java.base/java.util.concurrent=ALL-UNNAMED',
@@ -181,19 +186,9 @@ def initTestJVM(Task task, String rootDirName) {
'--add-opens=java.desktop/javax.swing=ALL-UNNAMED',
'--add-opens=java.desktop/javax.swing.text=ALL-UNNAMED'
// Note: this args are used to speed-up the tests, but are not safe for production code
// Note: these args are used to speed-up the tests, but are not safe for production code
// -noverify and -XX:TieredStopAtLevel=1
// Note: modern remote debug invocation;
// -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8000
//
// We removed these lines, which should not be needed in modern JVMs
// -Xdebug
// -Xnoagent
// -Djava.compiler=NONE
// -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000
//
// TODO Future Updates:
// The test configuration should be updated to support all known modes of operation:
@@ -203,6 +198,17 @@ def initTestJVM(Task task, String rootDirName) {
// For better command-line usage we will need to update tests such that they can
// share a VM, enabling us to elimnate the use of 'forEver 1' in this file.
//
]
if (hasApiProjectDependency(project, ":FileSystem")) {
// If project has a FileSystem dependency we must assume there may be a
// Ghidra ApplicationConfiguration that will attempt to configure a
// serial filter factory which must be done in a lazy fashion when gradle
// test workers are used.
args << '-Djdk.serialFilterFactory=ghidra.framework.remote.GhidraSerialFilterFactory'
}
task.jvmArgs args
}
}
/*********************************************************************************