Skip to content

Commit

Permalink
build: explain how to test Python 3.6 or 3.7
Browse files Browse the repository at this point in the history
This helps contributors understand how they can test Python 3.6 or 3.7
on Travis CI.

Helps with issues like:
- nodejs#29246 (comment)
  • Loading branch information
cclauss committed Sep 11, 2019
1 parent 9a436d1 commit 8b4d70e
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 4 deletions.
4 changes: 2 additions & 2 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,9 @@ language: cpp
# To experiment with Python 3, comment out Python 2.7 and uncomment one of the Python 3 versions.
env:
global:
- PYTHON_VERSION="2.7.15"
# - PYTHON_VERSION="2.7.15"
# - PYTHON_VERSION="3.6.7"
# - PYTHON_VERSION="3.7.1"
- PYTHON_VERSION="3.7.1"
jobs:
include:
- stage: "Compile"
Expand Down
5 changes: 4 additions & 1 deletion deps/v8/third_party/inspector_protocol/code_generator.py
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,9 @@ def json_object_hook(object_dict):
items = [(k, os.path.join(output_base, v) if k == "output" else v)
for (k, v) in items]
keys, values = list(zip(*items))
# 'async' is a Python 3.7+ keyword. Don't use namedtuple(rename=True)
# because that would only rename async on Python 3 but not on Python 2.
keys = ['async_' if k == 'async' else k for k in keys]
return collections.namedtuple('X', keys)(*values)
return json.loads(data, object_hook=json_object_hook)

Expand Down Expand Up @@ -555,7 +558,7 @@ def is_async_command(self, domain, command):
if not self.config.protocol.options:
return False
return self.check_options(self.config.protocol.options, domain, command,
"async", None, False)
"async_", None, False)

def is_exported(self, domain, name):
if not self.config.protocol.options:
Expand Down
5 changes: 4 additions & 1 deletion tools/inspector_protocol/code_generator.py
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,9 @@ def json_object_hook(object_dict):
items = [(k, os.path.join(output_base, v) if k == "path" else v) for (k, v) in object_dict.items()]
items = [(k, os.path.join(output_base, v) if k == "output" else v) for (k, v) in items]
keys, values = list(zip(*items))
# 'async' is a python 3 keyword. Don't use namedtuple(rename=True)
# because that only renames it in python 3 but not python 2.
keys = tuple('async_' if k == 'async' else k for k in keys)
return collections.namedtuple('X', keys)(*values)
return json.loads(data, object_hook=json_object_hook)

Expand Down Expand Up @@ -521,7 +524,7 @@ def generate_type(self, domain, typename):
def is_async_command(self, domain, command):
if not self.config.protocol.options:
return False
return self.check_options(self.config.protocol.options, domain, command, "async", None, False)
return self.check_options(self.config.protocol.options, domain, command, "async_", None, False)


def is_exported(self, domain, name):
Expand Down

0 comments on commit 8b4d70e

Please sign in to comment.