Skip to content

Commit

Permalink
clean up test
Browse files Browse the repository at this point in the history
  • Loading branch information
ry committed Oct 24, 2018
1 parent 1637c55 commit cca271c
Show file tree
Hide file tree
Showing 2 changed files with 44 additions and 47 deletions.
57 changes: 27 additions & 30 deletions tools/permission_prompt_test.py
100644 → 100755
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
#!/usr/bin/env python
import os
import pty
import select
Expand Down Expand Up @@ -63,82 +64,78 @@ def run(self,

def warm_up(self):
# ignore the ts compiling message
self.run('test_needs_write', b'', allow_write=True)
self.run('needsWrite', b'', allow_write=True)

def test_write_yes(self):
code, stdout, stderr = self.run('test_needs_write', b'y\n')
code, stdout, stderr = self.run('needsWrite', b'y\n')
assert code == 0
assert stdout == b''
assert b'Deno requests write access to "make_temp". Grant? yN' in stderr
assert b'Deno requests write access' in stderr

def test_write_arg(self):
code, stdout, stderr = self.run(
'test_needs_write', b'', allow_write=True)
code, stdout, stderr = self.run('needsWrite', b'', allow_write=True)
assert code == 0
assert stdout == b''
assert stderr == b''

def test_write_no(self):
code, stdout, stderr = self.run('test_needs_write', b'N\n')
code, stdout, stderr = self.run('needsWrite', b'N\n')
assert code == 1
# FIXME this error message should be in stderr
assert b'PermissionDenied: permission denied' in stdout
assert b'Deno requests write access to "make_temp". Grant? yN' in stderr
assert b'Deno requests write access' in stderr

def test_env_yes(self):
code, stdout, stderr = self.run('test_needs_env', b'y\n')
code, stdout, stderr = self.run('needsEnv', b'y\n')
assert code == 0
assert stdout == b''
assert b'Deno requests access to environment variables. Grant? yN' in stderr
assert b'Deno requests access to environment' in stderr

def test_env_arg(self):
code, stdout, stderr = self.run('test_needs_env', b'', allow_env=True)
code, stdout, stderr = self.run('needsEnv', b'', allow_env=True)
assert code == 0
assert stdout == b''
assert stderr == b''

def test_env_no(self):
code, stdout, stderr = self.run('test_needs_env', b'N\n')
code, stdout, stderr = self.run('needsEnv', b'N\n')
assert code == 1
# FIXME this error message should be in stderr
assert b'PermissionDenied: permission denied' in stdout
assert b'Deno requests access to environment variables. Grant? yN' in stderr
assert b'Deno requests access to environment' in stderr

def test_net_yes(self):
code, stdout, stderr = self.run('test_needs_env', b'y\n')
code, stdout, stderr = self.run('needsEnv', b'y\n')
assert code == 0
assert stdout == b''
assert b'Deno requests access to environment variables. Grant? yN' in stderr
assert b'Deno requests access to environment' in stderr

def test_net_arg(self):
code, stdout, stderr = self.run('test_needs_net', b'', allow_net=True)
code, stdout, stderr = self.run('needsNet', b'', allow_net=True)
assert code == 0
assert stdout == b''
assert stderr == b''

def test_net_no(self):
code, stdout, stderr = self.run('test_needs_net', b'N\n')
code, stdout, stderr = self.run('needsNet', b'N\n')
assert code == 1
# FIXME this error message should be in stderr
assert b'PermissionDenied: permission denied' in stdout
assert b'Deno requests network access to "http://localhost:4545". Grant? yN' in stderr

def run_tests(self):
self.warm_up()
self.test_write_yes()
self.test_write_arg()
self.test_write_no()
self.test_env_yes()
self.test_env_arg()
self.test_env_no()
self.test_net_yes()
self.test_net_arg()
self.test_net_no()
assert b'Deno requests network access' in stderr


def permission_prompt_test(deno_exe):
p = Prompt(deno_exe)
p.run_tests()
p.warm_up()
p.test_write_yes()
p.test_write_arg()
p.test_write_no()
p.test_env_yes()
p.test_env_arg()
p.test_env_no()
p.test_net_yes()
p.test_net_arg()
p.test_net_no()


if __name__ == "__main__":
Expand Down
34 changes: 17 additions & 17 deletions tools/permission_prompt_test.ts
Original file line number Diff line number Diff line change
@@ -1,21 +1,21 @@
import { args, env, exit, makeTempDirSync } from "deno";
import { args, listen, env, exit, makeTempDirSync } from "deno";

const tests = {};
tests["test_needs_write"] = function() {
const tempDir = makeTempDirSync();
};
tests["test_needs_env"] = function() {
const home = env().home;
};
tests["test_needs_net"] = function() {
fetch("http://localhost:4545");
};
const name = args[1];
const test = {
needsWrite: () => {
makeTempDirSync();
},
needsEnv: () => {
env().home;
},
needsNet: () => {
listen("tcp", "127.0.0.1:4540");
}
}[name];

const test_name = args[1];

if (test_name in tests) {
tests[test_name]();
} else {
console.log("Unknown test:", test_name);
if (!test) {
console.log("Unknown test:", name);
exit(1);
}

test();

0 comments on commit cca271c

Please sign in to comment.