Path: blob/main/tests/complex/jtrrouter/randomized_flow/runner.py
169685 views
#!/usr/bin/env python1# -*- coding: utf-8 -*-2# Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.dev/sumo3# Copyright (C) 2008-2025 German Aerospace Center (DLR) and others.4# This program and the accompanying materials are made available under the5# terms of the Eclipse Public License 2.0 which is available at6# https://www.eclipse.org/legal/epl-2.0/7# This Source Code may also be made available under the following Secondary8# Licenses when the conditions for such availability set forth in the Eclipse9# Public License 2.0 are satisfied: GNU General Public License, version 210# or later which is available at11# https://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html12# SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-or-later1314# @file runner.py15# @author Jakob Erdmann16# @author Laura Bieker17# @author Michael Behrisch18# @author Daniel Krajzewicz19# @date 2011-01-182021from __future__ import absolute_import22from __future__ import print_function2324import sys25import os26import subprocess27import random28sys.path.append(os.path.join(os.environ["SUMO_HOME"], "tools"))29from sumolib import checkBinary # noqa303132def get_depart_lines(route_file):33with open(route_file) as rf:34return [d for d in rf if 'depart' in d]353637output_file1 = 'output1.rou.xml'38output_file2 = 'output2.rou.xml'3940args = [checkBinary('jtrrouter'),41'--net-file', 'input_net.net.xml',42'--route-files', 'input_flows.flows.xml',43'--turn-ratio-files', 'input_turns.turns.xml',44'--output-file', output_file1,45'--sinks=end',46'--seed', None,47'--no-step-log',48'--randomize-flows']4950args[11] = str(random.randint(0, 2 ** 31))51subprocess.call(args)52route_lines1 = get_depart_lines(output_file1)5354args[8] = output_file255args[11] = str(random.randint(0, 2 ** 31))56subprocess.call(args)57route_lines2 = get_depart_lines(output_file2)5859if route_lines1 != route_lines2:60print('test passed. output is random')61else:62print('test failed. output is deterministic')636465