#!/usr/local/perl
# $HopeName: MMQA_harness!script:options(trunk.23) $
#

# global options for qa commands
#
# this file also has the job of detecting what platform
# we're on
#

1;

# first to see where we are:

sub platform_detect {
 if (($ENV{"OS"} || "") eq "Windows_NT") {
  # it's NT, so find out what the processor is
  #  from a system variable
  $platform_class = "nt_".$ENV{"PROCESSOR_ARCHITECTURE"};
  if ($platform_class eq "nt_") {
   $platform_class = "nt_dunno";
  }
  $platform_phylum = "pc";
 } else {
  # it's unix by default
     local $os = `uname`;
     local $osrel = `uname -r`;
     local $processor = `uname -p`;
     chop($os); chop($osrel); chop($processor);
     $platform_class = $os."_".$osrel."_".$processor;
     $platform_class =~ s/ /_/g;
     $platform_phylum = "unix";
 }
 $qa_defaults{"PLATFORM"} = $platform_class."__".$platform_phylum;
}

sub auto_settings {
 unless (&getoption("MPS_PRODUCT")) {
  if (&getoption("MPS_LINK_OBJ")) {
   &mpslibvers(&getoption("MPS_LINK_OBJ"));
   unless ($mpslibvers{"product"} eq "unknown") {
    &setoption("MPS_PRODUCT", $mpslibvers{"product"});
   }
  }
 }
}


%qa_options = (
# "v", "MPS_INTERFACE_VERSION",
 "i", "MPS_INCLUDE_DIR",
 "l", "MPS_LINK_OBJ",
 "prod", "MPS_PRODUCT",
 "p", "PLATFORM",
 "data", "DATA_DIR",
 "a", "PARAMETERS",
 "s", "STDIN",
 "g", "LOG_DIR",
 "m", "MAIL_TO",
 "subj", "MAIL_SUBJECT"
);

%qa_flags = (
 "danger", "DANGEROUS",
 "debug", "DEBUG_INFO",
 "mail", "MAIL_RESULTS"
);

#
# the default for PLATFORM will be set by &platform_detect,
# which is called from &harness_init. So the "..." below will
# never have any effect.
#

%qa_defaults = (
 "PLATFORM", "[error -- you shouldn't see this]",
 "DEBUG_INFO", "off",
 "DANGEROUS", "off",
 "DATA_DIR", "$test_dir/../data",
 "LOG_DIR", "$test_dir/log",
 "PARAMETERS", "",
# "MPS_INTERFACE_VERSION", "HU",
 "MAIL_RESULTS", "on",
 "MAIL_TO", "mm-qa-test-log",
 "MAIL_SUBJECT", "MMQA-log"
);

%qa_unlogged_opts =
 (DATA_DIR, 1, LOG_DIR, 1, MAIL_RESULTS, 1, MAIL_TO, 1, MAIL_SUBJECT, 1);
%qa_cumulative_opts =
 (PARAMETERS, 1);

