#!/usr/bin/env python
# -*- Mode: python -*-

#    Copyright (C) 2001 Artifex Software Inc.
# 
# This file is part of GNU ghostscript
#
# GNU ghostscript is free software; you can redistribute it and/or
# modify it under the terms of the version 2 of the GNU General Public
# License as published by the Free Software Foundation.
#
# This software is provided AS-IS with no warranty, either express or
# implied. That is, this program is distributed in the hope that it will 
# be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
# General Public License for more details
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA, 02110-1301.


# $Id: run_regression,v 1.6 2007/08/01 14:26:58 jemarch Exp $

#
# run_regression
#
# runs ghostscript regression tests

import os, sys
import anydbm
import gstestutils, gsconf
import check_all
import gscheck_all

track = 0
if len(sys.argv) > 1:
    if sys.argv[1] == "--track":
        track = 1

        db = anydbm.open(gsconf.get_dailydb_name(), "n")
        db.close()
        
suite = gstestutils.GSTestSuite()

# Add tests based on running Ghostscript.
gscheck_all.addTests(suite, gsroot=gsconf.gsroot, track=track)

# Add tests not based on actually running Ghostscript.
try:
  # see if we're running a parallel job
  node = int(os.environ["PBS_NODENUM"])
except KeyError:
  # always run
  node = 0
# run these tests only once in a parallel job
if node == 0:
  check_all.addTests(suite, gsroot=gsconf.gsroot)

# run all the tests
runner = gstestutils.GSTestRunner(verbosity=2)
result = runner.run(suite)

