From 22b46a8afe5ec3d3c1f270903b2dfe2298fdd95f Mon Sep 17 00:00:00 2001 From: Marcin Kolny Date: Tue, 9 May 2023 14:14:00 +0100 Subject: [PATCH] Don't rely on the order of environment variables in tests The order can depend on a number of factors; the test should not define what the order of env variables should be in a specific runtime. --- .../testsuite/environ_get-multiple-variables.ts | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/tests/assemblyscript/testsuite/environ_get-multiple-variables.ts b/tests/assemblyscript/testsuite/environ_get-multiple-variables.ts index fd7a2d71..43040fb3 100644 --- a/tests/assemblyscript/testsuite/environ_get-multiple-variables.ts +++ b/tests/assemblyscript/testsuite/environ_get-multiple-variables.ts @@ -9,8 +9,13 @@ const dataBuf = memory.data(sizeof() * 2); let err = environ_sizes_get(dataBuf, dataBuf + sizeof()); assert(err == errno.SUCCESS); +const expected = new Set(); +expected.add("a=text"); +expected.add('b=escap " ing'); +expected.add("c=new\nline"); + const envCount = load(dataBuf); -assert(envCount == 3); +assert(envCount == expected.size); const dataSize = load(dataBuf, sizeof()); const ptrsSize = envCount * sizeof(); @@ -20,11 +25,10 @@ const envBuf = __alloc(envBufSize); err = environ_get(envBuf, envBuf + ptrsSize); assert(err == errno.SUCCESS); -const expected = ["a=text", 'b=escap " ing', "c=new\nline"]; - for (let i = 0; i < envCount; ++i) { const ptr = load(envBuf + i * sizeof()); const str = String.UTF8.decodeUnsafe(ptr, ptr + envBufSize - envBuf, true); - assert(str == expected[i]); + assert(expected.has(str)); + expected.delete(str); } __free(envBuf);