###############################################################################
# Copyright (c) 2011 Anton Gorenkov
#
# This program and the accompanying materials
# are made available under the terms of the Eclipse Public License 2.0
# which accompanies this distribution, and is available at
# https://www.eclipse.org/legal/epl-2.0/
#
# SPDX-License-Identifier: EPL-2.0
#
# Contributors:
#   Anton Gorenkov - Initial implementation
###############################################################################
GoogleTestsRunner_error_format={0}: {1}
GoogleTestsRunner_io_error_prefix=I/O Error:\u0020
OutputHandler_getparam_message=Instantiated with GetParam() = {0}
OutputHandler_unexpected_case_end=End of test case "{0}" is not expected, because the last started case is "{1}".
OutputHandler_unexpected_output=Unexpected test module output.
OutputHandler_unexpected_suite_end=End of test suite "{0}" is not expected, because the last started suite is "{1}".
OutputHandler_unknown_error_prefix=Unknown error during parsing Google Test module output:\u0020
OutputHandler_unknown_location_format=Unknown location format.
OutputHandler_unknown_test_status=Test status value "{0}" is unknown.
OutputHandler_wrong_groups_count=State with pattern "{0}" should has {1} groups but has {2}.
OutputHandler_wrong_suite_name=A test case "{0}" belongs to test suite "{1}", but the last started suite is "{2}".
