///////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2000-2019 Ericsson Telecom AB                               //
//                                                                           //
// All rights reserved. This program and the accompanying materials          //
// are made available under the terms of the Eclipse Public License v2.0     //
// which accompanies this distribution, and is available at                  //
// https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.html                                 //
///////////////////////////////////////////////////////////////////////////////
[MAIN_CONTROLLER]

[TESTPORT_PARAMETERS]

[MODULE_PARAMETERS]


[EXECUTE]
EPTF_Semaphore_Test_Testcases.control

[LOGGING]
FileMask := LOG_ALL | TTCN_DEBUG
SourceInfoFormat := Stack
LogEventTypes := Yes
LogEntityName := Yes

