summaryrefslogtreecommitdiff
path: root/libdeno/libdeno_test.cc
diff options
context:
space:
mode:
authorBert Belder <bertbelder@gmail.com>2019-02-08 20:32:17 -0800
committerGitHub <noreply@github.com>2019-02-08 20:32:17 -0800
commitbbe2004f5d2b434fe5942fc3c8954a297b317fd0 (patch)
tree4beadfe0d7c087977d2c546f55c992d11efd8c4e /libdeno/libdeno_test.cc
parent7380b19459db3644271f1623428245e29e716f0a (diff)
Shared buffer fixes (#1644)
* makes `libdeno.shared` a `SharedArrayBuffer` instead of a regular `ArrayBuffer`. * fixes `libdeno.shared` becoming undefined after accessing it once.
Diffstat (limited to 'libdeno/libdeno_test.cc')
-rw-r--r--libdeno/libdeno_test.cc13
1 files changed, 13 insertions, 0 deletions
diff --git a/libdeno/libdeno_test.cc b/libdeno/libdeno_test.cc
index b14b4758b..0936c53b4 100644
--- a/libdeno/libdeno_test.cc
+++ b/libdeno/libdeno_test.cc
@@ -289,3 +289,16 @@ TEST(LibDenoTest, Utf8Bug) {
EXPECT_EQ(nullptr, deno_last_exception(d));
deno_delete(d);
}
+
+TEST(LibDenoTest, SharedAtomics) {
+ int32_t s[] = {0, 1, 2};
+ deno_buf shared = {nullptr, 0, reinterpret_cast<uint8_t*>(s), sizeof s};
+ Deno* d = deno_new(deno_config{0, empty, shared, nullptr});
+ deno_execute(d, nullptr, "a.js",
+ "Atomics.add(new Int32Array(libdeno.shared), 0, 1)");
+ EXPECT_EQ(nullptr, deno_last_exception(d));
+ EXPECT_EQ(s[0], 1);
+ EXPECT_EQ(s[1], 1);
+ EXPECT_EQ(s[2], 2);
+ deno_delete(d);
+}