From e13235ad2e47197987870b58bed0508e3f83e56e Mon Sep 17 00:00:00 2001 From: Fabio Niephaus Date: Tue, 14 Jan 2025 19:36:09 +0100 Subject: [PATCH] Do not show resource summary on reload --- .../trufflesqueak/test/AbstractSqueakTestCase.java | 11 +++++++---- .../test/AbstractSqueakTestCaseWithDummyImage.java | 2 +- .../test/AbstractSqueakTestCaseWithImage.java | 8 ++++---- 3 files changed, 12 insertions(+), 9 deletions(-) diff --git a/src/de.hpi.swa.trufflesqueak.test/src/de/hpi/swa/trufflesqueak/test/AbstractSqueakTestCase.java b/src/de.hpi.swa.trufflesqueak.test/src/de/hpi/swa/trufflesqueak/test/AbstractSqueakTestCase.java index f06cf3f64..489dbc0e5 100644 --- a/src/de.hpi.swa.trufflesqueak.test/src/de/hpi/swa/trufflesqueak/test/AbstractSqueakTestCase.java +++ b/src/de.hpi.swa.trufflesqueak.test/src/de/hpi/swa/trufflesqueak/test/AbstractSqueakTestCase.java @@ -90,13 +90,16 @@ protected static final Object runPrimitive(final int primCode, final Object rcvr return ((Primitive4) PrimitiveNodeFactory.getOrCreateIndexed(primCode, 5)).execute(null, rcvr, arg1, arg2, arg3, arg4); } - protected static final SqueakImage loadImageContext(final String imagePath) { + protected record TestImageSpec(String imagePath, boolean showResourceSummary) { + } + + protected static final SqueakImage loadImageContext(final TestImageSpec spec) { assert context == null && image == null; final Builder contextBuilder = Context.newBuilder(); contextBuilder.allowAllAccess(true); - contextBuilder.option(SqueakLanguageConfig.ID + "." + SqueakLanguageOptions.IMAGE_PATH, imagePath); + contextBuilder.option(SqueakLanguageConfig.ID + "." + SqueakLanguageOptions.IMAGE_PATH, spec.imagePath); contextBuilder.option(SqueakLanguageConfig.ID + "." + SqueakLanguageOptions.HEADLESS, "true"); - contextBuilder.option(SqueakLanguageConfig.ID + "." + SqueakLanguageOptions.RESOURCE_SUMMARY, "true"); + contextBuilder.option(SqueakLanguageConfig.ID + "." + SqueakLanguageOptions.RESOURCE_SUMMARY, Boolean.toString(spec.showResourceSummary)); contextBuilder.option(SqueakLanguageConfig.ID + "." + SqueakLanguageOptions.TESTING, "true"); final String logLevel = System.getProperty("log.level"); if (logLevel != null) { @@ -109,7 +112,7 @@ protected static final SqueakImage loadImageContext(final String imagePath) { context.enter(); try { image = SqueakImageContext.getSlow(); - if (Files.exists(Paths.get(imagePath))) { + if (Files.exists(Paths.get(spec.imagePath))) { image.ensureLoaded(); } return image.getSqueakImage(); // Pretend image has been loaded. diff --git a/src/de.hpi.swa.trufflesqueak.test/src/de/hpi/swa/trufflesqueak/test/AbstractSqueakTestCaseWithDummyImage.java b/src/de.hpi.swa.trufflesqueak.test/src/de/hpi/swa/trufflesqueak/test/AbstractSqueakTestCaseWithDummyImage.java index 252c439cb..58702a550 100644 --- a/src/de.hpi.swa.trufflesqueak.test/src/de/hpi/swa/trufflesqueak/test/AbstractSqueakTestCaseWithDummyImage.java +++ b/src/de.hpi.swa.trufflesqueak.test/src/de/hpi/swa/trufflesqueak/test/AbstractSqueakTestCaseWithDummyImage.java @@ -24,7 +24,7 @@ public abstract class AbstractSqueakTestCaseWithDummyImage extends AbstractSquea @BeforeClass public static void setUpSqueakImageContext() { SqueakImageContext.initializeBeforeLoadingImage(); - loadImageContext("fake.image"); + loadImageContext(new TestImageSpec("fake.image", false)); final Object[] dummySpecialObjects = new Object[100]; final ArrayObject dummySpecialSelectors = createDummySpecialSelectors(); dummySpecialObjects[SPECIAL_OBJECT.SPECIAL_SELECTORS] = dummySpecialSelectors; diff --git a/src/de.hpi.swa.trufflesqueak.test/src/de/hpi/swa/trufflesqueak/test/AbstractSqueakTestCaseWithImage.java b/src/de.hpi.swa.trufflesqueak.test/src/de/hpi/swa/trufflesqueak/test/AbstractSqueakTestCaseWithImage.java index 0959b984e..affbed53d 100644 --- a/src/de.hpi.swa.trufflesqueak.test/src/de/hpi/swa/trufflesqueak/test/AbstractSqueakTestCaseWithImage.java +++ b/src/de.hpi.swa.trufflesqueak.test/src/de/hpi/swa/trufflesqueak/test/AbstractSqueakTestCaseWithImage.java @@ -58,14 +58,14 @@ public static void setUp() { } public static void loadTestImage() { - loadTestImage(true); + loadTestImage(true, true); } - private static void loadTestImage(final boolean retry) { + private static void loadTestImage(final boolean retry, final boolean showResourceSummary) { executor = Executors.newSingleThreadExecutor(); final String imagePath = getPathToTestImage(); try { - runWithTimeout(imagePath, AbstractSqueakTestCase::loadImageContext, TEST_IMAGE_LOAD_TIMEOUT_SECONDS); + runWithTimeout(new TestImageSpec(imagePath, showResourceSummary), AbstractSqueakTestCase::loadImageContext, TEST_IMAGE_LOAD_TIMEOUT_SECONDS); println("Test image loaded from " + imagePath + "..."); patchImageForTesting(); } catch (final InterruptedException e) { @@ -95,7 +95,7 @@ public static void cleanUp() { protected static void reloadImage() { cleanUp(); - loadTestImage(false); + loadTestImage(false, false); } private static void patchImageForTesting() {