oats 0.0.6 → 0.0.7

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile CHANGED
@@ -11,7 +11,6 @@ unless defined?(OATS_GEM_IS_ALREADY_INCLUDED)
11
11
  end
12
12
  test_gemfile = $oats_execution['options'][ "_:gemfile"] if $oats_execution and $oats_execution['options']
13
13
  test_gemfile ||= ENV['OATS_TESTS'] + '/Gemfile'
14
- puts "AUT Gemfile :" + test_gemfile
15
14
  if File.exist?(test_gemfile)
16
15
  puts "Including AUT Gemfile: " + test_gemfile
17
16
  eval(IO.read(test_gemfile), binding)
data/bin/agent CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/bin/bash
2
2
  # This script is used to start OATS in agent mode and communicate with OCC.
3
3
 
4
- [ "$OS" ] || export OS=$(uname)
4
+ [ "$OS" ] || export OS=$(uname)
5
5
  if [ "$OS" == "Windows_NT" ]; then
6
6
  export PATH="$PATH:/cygdrive/c/apps/cygwin/bin"
7
7
  [ "$HOSTNAME" ] || HOSTNAME="$COMPUTERNAME"
@@ -14,14 +14,14 @@ doc="
14
14
  Starts OATS agent to be used with OCC
15
15
 
16
16
  USAGE: agent [-k[ill]] [-n[ickname] OATS_AGENT_NICKNAME] [ -p[ort] OATS_AGENT_PORT ]
17
- [ -r[epo] OATS_REPOSITORY_VERSION ] [ -u OATS_USER]
17
+ [ -r[epo] OATS_TESTS_REPOSITORY_VERSION ] [ -u OATS_USER]
18
18
 
19
19
  Parameters: (also can be passed in via environment variables
20
20
  -n OATS_AGENT_NICKNAME OCC ID of the agent.
21
21
  -p OATS_AGENT_PORT Agent port to communicate with OCC. Default is port previously
22
22
  used for OATS_AGENT_NICKNAME.
23
23
  -u OATS_USER who started the agent. Used for logging purposes only.
24
- -r OATS_REPOSITORY_VERSION Required to update the agent.
24
+ -r OATS_TESTS_REPOSITORY_VERSION Required to update the agent.
25
25
  -k kill the agent, or set OATS_KILL_AGENT
26
26
  -d DISPLAY_NUM Number of the VNC Display, for Linux only
27
27
 
@@ -29,7 +29,7 @@ Example:
29
29
  /home/occadmin/oats/bin/agent -p 3011 -n occ_1 -r 403cc620c265db84dbd3fb7d7cce4d57416bff09
30
30
 
31
31
  The agent script should be in the path so that ssh from occ can pick it up.
32
- Git requires definition of OATS_GIT_REPOSITORY environment variable.
32
+ Git requires definition of OATS_TESTS_GIT_REPOSITORY environment variable.
33
33
  "
34
34
  input_pars="$@"
35
35
  while [ "$1" ]; do
@@ -38,7 +38,7 @@ while [ "$1" ]; do
38
38
  -n*) shift; OATS_AGENT_NICKNAME="$1" ;;
39
39
  -u*) shift; OATS_USER="$1" ;;
40
40
  -k*) OATS_KILL_AGENT='OATS_KILL_AGENT' ;;
41
- -r*) shift; OATS_REPOSITORY_VERSION="$1" ;;
41
+ -r*) shift; OATS_TESTS_REPOSITORY_VERSION="$1" ;;
42
42
  -d*) shift; DISPLAY_NUM="$1" ;;
43
43
  *) echo "Unrecognized parameter: $1" ;
44
44
  echo "$doc"
@@ -60,22 +60,12 @@ function fkill {
60
60
  }
61
61
 
62
62
  {
63
- agent_echo "$0 $input_pars"
63
+ agent_echo "Invoking $0 $input_pars"
64
64
 
65
65
  # Need these off when called by OCC, otherwise they OCC values are inherited
66
66
  unset RUBYOPT BUNDLE_BIN_PATH BUNDLE_GEMFILE # GEM_HOME GEM_PATH # RAILS_ENV
67
- if [ -z "$OATS_HOME" ]; then
68
- cd $(dirname $(type -p $0))/..
69
- OATS_HOME=$PWD
70
- fi
71
- [ "$OATS_GIT_REPOSITORY" ] && OATS_HOME="$HOME/results_archive/$OATS_AGENT_NICKNAME"/oats
72
- export OATS_HOME
73
- export OATS_AGENT_LOGFILE="$logFile"
74
- oats_bin="$OATS_HOME/bin"
75
- # [ "$OS" == "Windows_NT" ] && oats_bin=$(cygpath -w $oats_bin)
76
- # ruby_com="$oats_bin/oats -n $OATS_AGENT_NICKNAME -p $OATS_AGENT_PORT"
77
- ruby_com="oats -n $OATS_AGENT_NICKNAME -p $OATS_AGENT_PORT"
78
- export PATH="$PATH:$OATS_HOME/bin:$OATS_HOME/bin/$OS"
67
+ [ "$OATS_TESTS_GIT_REPOSITORY" ] && export OATS_TESTS="$HOME/results_archive/$OATS_AGENT_NICKNAME"/oats_tests
68
+ ruby_com="$(dirname $(type -p $0))/oats -n $OATS_AGENT_NICKNAME -p $OATS_AGENT_PORT"
79
69
  if [ -e "$config_agent_file" ]; then
80
70
  line=$(grep "^$OATS_AGENT_NICKNAME" "$config_agent_file")
81
71
  read nickname PREV_OATS_AGENT_PORT pid display<<< $line
@@ -92,7 +82,7 @@ function fkill {
92
82
  fi
93
83
  if [ -z "$OATS_AGENT_PORT" ]; then
94
84
  agent_echo "$0: Must specify a port, exiting..." >&2
95
- exit 1
85
+ exit 1
96
86
  fi
97
87
 
98
88
  [ "$OATS_AGENT_PORT" == "$PREV_OATS_AGENT_PORT" ] && PREV_OATS_AGENT_PORT=''
@@ -129,16 +119,32 @@ function fkill {
129
119
  done
130
120
  [ "$OATS_KILL_AGENT" ] && return
131
121
 
132
- if [ "$OATS_GIT_REPOSITORY" ]; then
133
- [ -d $OATS_HOME ] || git clone $OATS_GIT_REPOSITORY $OATS_HOME
134
- cd $OATS_HOME
135
- origin="$OATS_GIT_REPOSITORY"
122
+ if [ -d $OATS_TESTS/.svn ]; then
123
+ COUNTER=0
124
+ [ "$OATS_TESTS_REPOSITORY_VERSION" ] && agent_echo "Requested OATS Version: $OATS_TESTS_REPOSITORY_VERSION"
125
+ while [ $COUNTER -lt 5 ]; do
126
+ let COUNTER=COUNTER+1
127
+ OATS_TESTS_CODE_VERSION=$(svn info $OATS_TESTS | sed -n 's/Last Changed Rev: *//p')
128
+ [ "$OATS_TESTS_REPOSITORY_VERSION" ] || break
129
+ [ "$OATS_TESTS_CODE_VERSION" -ge "$OATS_TESTS_REPOSITORY_VERSION" ] && break
130
+ [ $COUNTER -eq 1 ] || sleep 3
131
+ svn update $OATS_TESTS 2>&1
132
+ done
133
+ if [ $COUNTER -eq 5 ]; then
134
+ agent_echo "Could not update the code version $OATS_TESTS_CODE_VERSION to $OATS_TESTS_REPOSITORY_VERSION" >&2
135
+ return 2
136
+ fi
137
+ agent_echo "Current OATS code version: $OATS_TESTS_CODE_VERSION"
138
+ elif [ "$OATS_TESTS_GIT_REPOSITORY" ]; then
139
+ [ -d $OATS_TESTS ] || git clone $OATS_TESTS_GIT_REPOSITORY $OATS_TESTS
140
+ cd $OATS_TESTS
141
+ origin="$OATS_TESTS_GIT_REPOSITORY"
136
142
  [ "$origin" ] || origin=origin
137
- if [ "$OATS_REPOSITORY_VERSION" ]; then
143
+ if [ "$OATS_TESTS_REPOSITORY_VERSION" ]; then
138
144
  for i in 1 2; do
139
- out=$(git checkout $OATS_REPOSITORY_VERSION 2>&1) && break # may detach HEAD, but it is OK
140
- if [ "$out" == "fatal: reference is not a tree: $OATS_REPOSITORY_VERSION" ]; then
141
- echo -n "Need to pull requested version: $OATS_REPOSITORY_VERSION "
145
+ out=$(git checkout $OATS_TESTS_REPOSITORY_VERSION 2>&1) && break # may detach HEAD, but it is OK
146
+ if [ "$out" == "fatal: reference is not a tree: $OATS_TESTS_REPOSITORY_VERSION" ]; then
147
+ echo -n "Need to pull requested version: $OATS_TESTS_REPOSITORY_VERSION "
142
148
  else
143
149
  echo "$out"
144
150
  fi
@@ -147,33 +153,17 @@ function fkill {
147
153
  else
148
154
  git pull $origin master # fast-forward master from origin
149
155
  fi
150
- OATS_CODE_VERSION=$(git rev-list HEAD -1) # last commit in checked out version
151
- if [ "${OATS_CODE_VERSION##$OATS_REPOSITORY_VERSION*}" ]; then
152
- agent_echo "Could not update the code version $OATS_CODE_VERSION to $OATS_REPOSITORY_VERSION" >&2
153
- return 2
154
- fi
155
- [ "$OATS_REPOSITORY_VERSION" ] || agent_echo "Using OATS code version: $OATS_CODE_VERSION"
156
- elif [ -d .svn ]; then
157
- COUNTER=0
158
- [ "$OATS_REPOSITORY_VERSION" ] && agent_echo "Requested OATS Version: $OATS_REPOSITORY_VERSION"
159
- while [ $COUNTER -lt 5 ]; do
160
- let COUNTER=COUNTER+1
161
- OATS_CODE_VERSION=$(svn info $OATS_HOME | sed -n 's/Last Changed Rev: *//p')
162
- [ "$OATS_REPOSITORY_VERSION" ] || break
163
- [ "$OATS_CODE_VERSION" -ge "$OATS_REPOSITORY_VERSION" ] && break
164
- [ $COUNTER -eq 1 ] || sleep 3
165
- svn update $OATS_HOME 2>&1
166
- done
167
- if [ $COUNTER -eq 5 ]; then
168
- agent_echo "Could not update the code version $OATS_CODE_VERSION to $OATS_REPOSITORY_VERSION" >&2
156
+ OATS_TESTS_CODE_VERSION=$(git rev-list HEAD -1) # last commit in checked out version
157
+ if [ "${OATS_TESTS_CODE_VERSION##$OATS_TESTS_REPOSITORY_VERSION*}" ]; then
158
+ agent_echo "Could not update the code version $OATS_TESTS_CODE_VERSION to $OATS_TESTS_REPOSITORY_VERSION" >&2
169
159
  return 2
170
160
  fi
171
- agent_echo "Current OATS code version: $OATS_CODE_VERSION"
161
+ [ "$OATS_TESTS_REPOSITORY_VERSION" ] || agent_echo "Using OATS code version: $OATS_TESTS_CODE_VERSION"
172
162
  else
173
- OATS_CODE_VERSION=$OATS_REPOSITORY_VERSION
174
- [ "$OATS_CODE_VERSION" ] && agent_echo "Setting OATS code version to the requested version: $OATS_CODE_VERSION]" # This is not set for development/debug
163
+ OATS_TESTS_CODE_VERSION=$OATS_TESTS_REPOSITORY_VERSION
164
+ [ "$OATS_TESTS_CODE_VERSION" ] && agent_echo "Setting OATS code version to the requested version: $OATS_TESTS_CODE_VERSION]" # This is not set for development/debug
175
165
  fi
176
- export OATS_CODE_VERSION
166
+ export OATS_TESTS_CODE_VERSION
177
167
  # echo "$OATS_AGENT_NICKNAME $OATS_AGENT_PORT" >| $config_agent_file
178
168
  if [ "$OS" == "Linux" ]; then # Do this with VNC displays
179
169
  # Allocate 2x as display. VNC takes 592x, vino takes next available from 59++
@@ -187,9 +177,9 @@ function fkill {
187
177
  cd $OATS_HOME # Needed for bundler
188
178
  agent_echo "Starting agent $OATS_AGENT_NICKNAME on port $OATS_AGENT_PORT"
189
179
  $ruby_com
190
- } >> $LOGFILE 2>&1 &
180
+ } >> $OATS_AGENT_LOGFILE 2>&1 &
191
181
 
192
182
  PID=$(jobs -p)
193
- echo "Initiated PID: $PID" >> $LOGFILE
183
+ echo "Initiated PID: $PID" >> $OATS_AGENT_LOGFILE
194
184
  echo "$PID"
195
- echo "$OATS_AGENT_NICKNAME $OATS_AGENT_PORT $PID $DISPLAY_NUM" >| $CONFIG_FILE
185
+ echo "$OATS_AGENT_NICKNAME $OATS_AGENT_PORT $PID $DISPLAY_NUM" >| $OATS_AGENT_CONFIG_FILE
data/doc/oats_httpd.conf CHANGED
@@ -11,6 +11,12 @@
11
11
  Order allow,deny
12
12
  Allow from all
13
13
  </Directory>
14
+ <Directory "/home/occadmin/oats_tests">
15
+ Options Indexes FollowSymLinks
16
+ AllowOverride None
17
+ Order allow,deny
18
+ Allow from all
19
+ </Directory>
14
20
  <Directory "/home/occadmin/results">
15
21
  Options Indexes FollowSymLinks
16
22
  AllowOverride None
@@ -23,10 +29,12 @@
23
29
  Order allow,deny
24
30
  Allow from all
25
31
  </Directory>
26
- # Point this alias to the test folders of AUT or put in the appropriate soft link
32
+
33
+ # Point this alias to the test folders of AUT or use a link
27
34
  #Alias /oats/tests <FolderOfYourApplicationUnderTest>
35
+ Alias /oats/tests /home/occadmin/oats_tests
28
36
  Alias /oats /home/occadmin/oats
29
- Alias /r /home/occadmin/results
30
- Alias /a /home/occadmin/results_archive
31
- ServerAdmin Levent.Atasoy@GMail.com
37
+ Alias /oats/r /home/occadmin/results
38
+ Alias /oats/a /home/occadmin/results_archive
39
+ ServerAdmin OccAdminO@your.com
32
40
  DocumentRoot "/home/occadmin/results_archive"
data/lib/oats/driver.rb CHANGED
@@ -12,17 +12,17 @@ module Oats
12
12
  def Driver.agent
13
13
  ENV['KILL_AGENT' ] = 'KILL_AGENT' if $oats_execution['options']["_:kill_agent"]
14
14
  ENV['OATS_USER' ] = $oats_execution['options']["_:oats_user"] if $oats_execution['options']["_:oats_user"]
15
- ENV['OATS_REPOSITORY_VERSION' ] = $oats_execution['options']["_:repository_version"] if $oats_execution['options']["_:repository_version"]
15
+ ENV['OATS_TESTS_REPOSITORY_VERSION' ] = $oats_execution['options']["_:repository_version"] if $oats_execution['options']["_:repository_version"]
16
16
  nick = $oats_execution['options']["execution:occ:agent_nickname"]
17
17
  ENV['OATS_AGENT_NICKNAME' ] = nick if nick
18
18
  port = $oats_execution['options']["execution:occ:agent_port"].to_s
19
19
  ENV['OATS_AGENT_PORT'] = port if port
20
20
  dir = ENV['HOME'] + "/results_archive/#{nick}/agent_logs"
21
21
  FileUtils.mkdir_p(dir) unless File.exists?(dir)
22
- ENV['CONFIG_FILE'] = "#{dir}/config-agent.txt"
22
+ ENV['OATS_AGENT_CONFIG_FILE'] = "#{dir}/config-agent.txt"
23
23
  dat = `date +'%m%d%H%M%S'`.chomp
24
24
  log_file = "#{dir}/agent_#{dat}.log"
25
- ENV['LOGFILE'] = log_file
25
+ ENV['OATS_AGENT_LOGFILE'] = log_file
26
26
  agent_log_file = "#{dir}/agent.log"
27
27
  cmd = ENV['OATS_HOME'] + '/bin/agent'
28
28
  pid = `#{cmd}`.chomp
@@ -191,6 +191,7 @@ module Oats
191
191
  # oats_data['_']['load_history'].last.omit = true
192
192
  when /\.xls$/
193
193
  suite = id
194
+ require 'spreadsheet' unless defined?(Spreadsheet)
194
195
  book = Spreadsheet.open test_yaml
195
196
  tests = $oats_global['xl']
196
197
  unless tests and tests[id]
data/lib/oats/ragent.rb CHANGED
@@ -222,7 +222,7 @@ module Oats
222
222
  'machine' => occ['agent_host'],
223
223
  'port' => occ['agent_port'] }
224
224
  query['jobid'] = prev_jobid if prev_jobid
225
- query['repo'] = ENV['OATS_CODE_VERSION'].to_s if ENV['OATS_CODE_VERSION'] and ENV['OATS_CODE_VERSION'] != ''
225
+ query['repo'] = ENV['OATS_TESTS_CODE_VERSION'].to_s if ENV['OATS_TESTS_CODE_VERSION'] and ENV['OATS_TESTS_CODE_VERSION'] != ''
226
226
  query['logfile'] = File.basename(ENV['OATS_AGENT_LOGFILE']||'agent.log')
227
227
  Ragent.server_logger ra, "Getting next OCC job: " + query.inspect
228
228
  query['password='] = ra.request[:password] if ra and ra.request[:password]
@@ -1,7 +1,8 @@
1
1
  require 'oats/util'
2
2
  require 'oats/oats_exceptions'
3
+
3
4
  # Need these set for OCC when this is required from OCC
4
- ENV['OATS_HOME'] ||= File.expand_path( '..', File.dirname(__FILE__) )
5
+ ENV['OATS_HOME'] ||= File.expand_path( '../..', File.dirname(__FILE__) )
5
6
  ENV['OATS_TESTS'] ||= (ENV['OATS_HOME'] + '/oats_tests')
6
7
 
7
8
  module Oats
data/lib/oats/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Oats
2
- VERSION = "0.0.6"
2
+ VERSION = "0.0.7"
3
3
  end
data/lib/oats.rb CHANGED
@@ -32,5 +32,4 @@ require 'log4r' # http://log4r.sourceforge.net/rdoc/index.html
32
32
  require 'oats/driver'
33
33
  require 'oats/oats_lock'
34
34
 
35
- #ENV['OATS_HOME'] ||= Oats::Util.expand_path( '..', File.dirname(__FILE__) )
36
- require 'oats/oats' # Interface methods to user methods implemented in other modules
35
+ require 'oats/user_api' # Interface methods to user methods implemented in other modules
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: oats
3
3
  version: !ruby/object:Gem::Version
4
- hash: 19
4
+ hash: 17
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
- - 6
10
- version: 0.0.6
9
+ - 7
10
+ version: 0.0.7
11
11
  platform: ruby
12
12
  authors:
13
13
  - Levent Atasoy
@@ -165,7 +165,6 @@ files:
165
165
  - lib/oats/keywords.rb
166
166
  - lib/oats/log4r_init.rb
167
167
  - lib/oats/mysql.rb
168
- - lib/oats/oats.rb
169
168
  - lib/oats/oats_data.rb
170
169
  - lib/oats/oats_exceptions.rb
171
170
  - lib/oats/oats_lock.rb
@@ -181,6 +180,7 @@ files:
181
180
  - lib/oats/test_data.rb
182
181
  - lib/oats/test_list.rb
183
182
  - lib/oats/unixdiff.rb
183
+ - lib/oats/user_api.rb
184
184
  - lib/oats/util.rb
185
185
  - lib/oats/version.rb
186
186
  - nbproject/configs/agent-n.properties