From 0f6aa52f4ade5c54a225e954e5118ee07e15c7a8 Mon Sep 17 00:00:00 2001 From: Jayant Kolhe Date: Thu, 26 Feb 2015 15:08:26 -0800 Subject: [PATCH 1/3] Create PATENTS --- PATENTS | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 PATENTS diff --git a/PATENTS b/PATENTS new file mode 100644 index 00000000000..619f9dbfe63 --- /dev/null +++ b/PATENTS @@ -0,0 +1,22 @@ +Additional IP Rights Grant (Patents) + +"This implementation" means the copyrightable works distributed by +Google as part of the GRPC project. + +Google hereby grants to You a perpetual, worldwide, non-exclusive, +no-charge, royalty-free, irrevocable (except as stated in this section) +patent license to make, have made, use, offer to sell, sell, import, +transfer and otherwise run, modify and propagate the contents of this +implementation of GRPC, where such license applies only to those patent +claims, both currently owned or controlled by Google and acquired in +the future, licensable by Google that are necessarily infringed by this +implementation of GRPC. This grant does not include claims that would be +infringed only as a consequence of further modification of this +implementation. If you or your agent or exclusive licensee institute or +order or agree to the institution of patent litigation against any +entity (including a cross-claim or counterclaim in a lawsuit) alleging +that this implementation of GRPC or any code incorporated within this +implementation of GRPC constitutes direct or contributory patent +infringement, or inducement of patent infringement, then any patent +rights granted to you under this License for this implementation of GRPC +shall terminate as of the date such litigation is filed. From 9d6139a6f6fae12e941023a5c2c7f1025884c639 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Thu, 26 Feb 2015 15:24:43 -0800 Subject: [PATCH 2/3] Add timer to run_tests.py For future profiling work to eliminate/speed-up slow tests. --- tools/run_tests/jobset.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tools/run_tests/jobset.py b/tools/run_tests/jobset.py index 575d2c5902d..22d24c124cd 100755 --- a/tools/run_tests/jobset.py +++ b/tools/run_tests/jobset.py @@ -161,6 +161,7 @@ class Job(object): env = os.environ.copy() for k, v in spec.environ.iteritems(): env[k] = v + self._start = time.time() self._process = subprocess.Popen(args=spec.cmdline, stderr=subprocess.STDOUT, stdout=self._tempfile, @@ -174,6 +175,7 @@ class Job(object): def state(self, update_cache): """Poll current state of the job. Prints messages at completion.""" if self._state == _RUNNING and self._process.poll() is not None: + elapsed = time.time() - self._start if self._process.returncode != 0: self._state = _FAILURE self._tempfile.seek(0) @@ -182,7 +184,7 @@ class Job(object): self._spec.shortname, self._process.returncode), stdout) else: self._state = _SUCCESS - message('PASSED', self._spec.shortname, + message('PASSED', '%s [time=%.1fsec]' % (self._spec.shortname, elapsed), do_newline=self._newline_on_success or self._travis) if self._bin_hash: update_cache.finished(self._spec.identity(), self._bin_hash) From b84728d6dd568b9e0104376d8232cea89c5a6052 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Thu, 26 Feb 2015 15:40:39 -0800 Subject: [PATCH 3/3] Better logging for Travis --- tools/run_tests/jobset.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/tools/run_tests/jobset.py b/tools/run_tests/jobset.py index 22d24c124cd..7e1faa7b949 100755 --- a/tools/run_tests/jobset.py +++ b/tools/run_tests/jobset.py @@ -169,8 +169,7 @@ class Job(object): self._state = _RUNNING self._newline_on_success = newline_on_success self._travis = travis - if not travis: - message('START', spec.shortname) + message('START', spec.shortname, do_newline=self._travis) def state(self, update_cache): """Poll current state of the job. Prints messages at completion.""" @@ -290,7 +289,11 @@ def run(cmdlines, maxjobs if maxjobs is not None else _DEFAULT_MAX_JOBS, newline_on_success, travis, cache if cache is not None else NoCache()) - for cmdline in shuffle_iteratable(cmdlines): + if not travis: + cmdlines = shuffle_iteratable(cmdlines) + else: + cmdlines = sorted(cmdlines) + for cmdline in cmdlines: if not js.start(cmdline): break return js.finish()