summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dispatch.go3
-rw-r--r--tests.ts19
2 files changed, 14 insertions, 8 deletions
diff --git a/dispatch.go b/dispatch.go
index 3746ece35..8f22f8f5d 100644
--- a/dispatch.go
+++ b/dispatch.go
@@ -80,7 +80,6 @@ func PubMsg(channel string, msg *Msg) {
}
func DispatchLoop() {
- // runtime.LockOSThread()
wg.Add(1)
first := true
@@ -96,7 +95,6 @@ func DispatchLoop() {
for {
select {
case msg := <-resChan:
- wg.Done()
out, err := proto.Marshal(msg)
if err != nil {
panic(err)
@@ -105,6 +103,7 @@ func DispatchLoop() {
stats.v8workerSend++
stats.v8workerBytesSent += len(out)
exitOnError(err)
+ wg.Done() // Corresponds to the wg.Add(1) in Pub().
case <-doneChan:
// All goroutines have completed. Now we can exit main().
return
diff --git a/tests.ts b/tests.ts
index b2c7ee513..921eeb72c 100644
--- a/tests.ts
+++ b/tests.ts
@@ -1,13 +1,25 @@
// This test is executed as part of integration_test.go
// But it can also be run manually:
// ./deno tests.ts
+// There must also be a static file http server running on localhost:4545
+// serving the deno project directory. Try this:
+// http-server -p 4545 --cors .
import { test, assert, assertEqual } from "./deno_testing/testing.ts";
-import { readFileSync, writeFileSync } from "deno";
+import {
+ readFileSync,
+ writeFileSync
+} from "deno";
test(async function tests_test() {
assert(true);
});
+test(async function tests_fetch() {
+ const response = await fetch('http://localhost:4545/package.json');
+ const json = await response.json();
+ assertEqual(json.name, "deno");
+});
+
test(async function tests_readFileSync() {
let data = readFileSync("package.json");
if (!data.byteLength) {
@@ -33,8 +45,3 @@ test(async function tests_writeFileSync() {
assertEqual("Hello", actual);
});
-test(async function tests_fetch() {
- const response = await fetch("http://localhost:4545/package.json");
- const json = await response.json();
- assertEqual(json.name, "deno");
-});