#!/usr/bin/env python3
#
# Copyright (c) 2021, Linaro Limited
#
# SPDX-License-Identifier: BSD-3-Clause
#
# Expect script for Standalone MM partition UART2
#

import sys


def expect(f, what):
    for l in f:
        if what in l:
            return True
    assert False, "'%s' not found in output" % what


with open(sys.argv[1]) as f:
    expect(f, "SPM Version")
    expect(f, "MmMain Done!")
    expect(f, "Received event - 0xC4000041 on cpu")
    expect(f, "MmEntryPoint Done")
