#!/usr/bin/env python

# Copyright 2019 The Servo Project Developers. See the COPYRIGHT
# file at the top-level directory of this distribution.
#
# Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
# http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
# <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
# option. This file may not be copied, modified, or distributed
# except according to those terms.

import sys
import json

full_search = len(sys.argv) > 3 and sys.argv[3] == '--full'
    
with open(sys.argv[1]) as f:
    data = f.readlines()
    thread = None
    for entry in data:
        entry = json.loads(entry)
        if thread and "thread" in entry:
            if entry["thread"] == thread:
                print(json.dumps(entry))
                if "action" in entry and entry["action"] == "test_end":
                    thread = None
        else:
            if "action" in entry and \
               entry["action"] == "test_start" and \
               entry["test"] == sys.argv[2]:
                thread = entry["thread"]
                print(json.dumps(entry))
            elif full_search and \
                 "command" in entry and \
                 sys.argv[2] in entry["command"]:
                thread = entry["thread"]
                print(json.dumps(entry))

Add a script to extra logs for particular test filenames from full WPT logs.