pbs_job 1.0.0 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 7f4377945558087f7e253a71ea607ecf82e74348
4
- data.tar.gz: f5f6e26fc67251864731bd3ea13ed5de064e94fe
3
+ metadata.gz: 6ed1405413dcb6bb0ed1006c861e957bc3c4f3be
4
+ data.tar.gz: f5b2e5f28fc48ca58243be8bd0a4b58052b921c2
5
5
  SHA512:
6
- metadata.gz: 7ee195d8224640d08ad3f35aae8750ac7ec381cd77544e19c05789601ef4b35833a565423b87913fae9611d477f8b7ac55bc1150191d1d88abe86712b06a8d72
7
- data.tar.gz: ab478f72c691e4a23586a3d5b2b30151435eb1ea28710f57a3687c3af274422c7fe4f5c5f3f0e4c656e41496143c6d30bae079185d3e76186cb29910b3f785b1
6
+ metadata.gz: 57a6b467cb73f2e1fdfc8a3a33e5d92e93691c402dd71198b71ce6b6d46e28e4b82f2085eb9e5a5c2fcb4b2152b03da96bdc0303104538c3739da9cd3a4bdb81
7
+ data.tar.gz: a7a1e516d2ebd16c5a78cbf4450964c5dfdccc31ef22cc1742381fda6791a6465da501ae657722c3858fc95218648ef33df641a540ec6af1ef6f5a5206d85d47
@@ -1,3 +1,3 @@
1
1
  module PbsJob
2
- VERSION = "1.0.0"
2
+ VERSION = "2.0.0"
3
3
  end
data/lib/pbs_job.rb CHANGED
@@ -127,7 +127,7 @@ module PbsJob
127
127
 
128
128
  # @returns [String] Name with date appended
129
129
  def full_name
130
- @full_name ||= "#{name}.#{Date.today.strftime('%b%d_%Y')}"
130
+ @full_name ||= "#{name}.#{DateTime.now.strftime('%b%d_%Y.%Hh-%Mm-%Ss')}"
131
131
  end
132
132
 
133
133
  def abs_job_root
data/pbs_job.gemspec CHANGED
@@ -26,4 +26,5 @@ Gem::Specification.new do |spec|
26
26
  spec.add_development_dependency 'minitest', '~> 5.0.6'
27
27
  spec.add_development_dependency 'awesome_print', '~> 1.1.0'
28
28
  spec.add_development_dependency 'simplecov', '~> 0.7.1'
29
+ spec.add_development_dependency 'timecop'
29
30
  end
data/spec/pbs_job_spec.rb CHANGED
@@ -6,32 +6,14 @@ require_relative '../lib/pbs_job'
6
6
 
7
7
  NAME = 'test_job'
8
8
  EMAIL_ADDRESS = 'email@address'
9
- JOB_ROOT = "#{NAME}.#{Date.today.strftime('%b%d_%Y')}"
10
- QSUB_SCRIPT = "#{JOB_ROOT}/job.qsub"
11
- PBS_SCRIPT = "#{JOB_ROOT}/job.pbs"
12
- TASK = "#{JOB_ROOT}/task"
13
- RESULTS = "#{JOB_ROOT}/results"
14
- STREAMS = "#{JOB_ROOT}/streams"
15
9
 
16
10
  describe 'pbs_job' do
17
-
18
11
  HELP = <<-HELP
19
12
  Commands:
20
13
  pbs_job help [COMMAND] # Describe available commands or ...
21
14
  pbs_job new NAME EMAIL_ADDRESS [OPTIONS] # Creates a new PBS job with the ...
22
15
 
23
16
  HELP
24
- SUCCESSFUL_OUTPUT = <<-OUT
25
- \e[1m\e[32m create\e[0m #{JOB_ROOT}
26
- \e[1m\e[32m create\e[0m #{QSUB_SCRIPT}
27
- \e[1m\e[32m chmod\e[0m #{QSUB_SCRIPT}
28
- \e[1m\e[32m create\e[0m #{PBS_SCRIPT}
29
- \e[1m\e[32m chmod\e[0m #{PBS_SCRIPT}
30
- \e[1m\e[32m create\e[0m #{TASK}
31
- \e[1m\e[32m chmod\e[0m #{TASK}
32
- \e[1m\e[32m create\e[0m #{STREAMS}
33
- \e[1m\e[32m create\e[0m #{RESULTS}
34
- OUT
35
17
 
36
18
  it 'prints usage and options without arguments' do
37
19
  pbs_job
@@ -70,13 +52,7 @@ GEN_HELP
70
52
  in_tmp_dir do
71
53
  pbs_job "new #{NAME} #{EMAIL_ADDRESS}"
72
54
 
73
- stdout.must_equal SUCCESSFUL_OUTPUT
74
- File.directory?(JOB_ROOT).must_equal true
75
- check_script QSUB_SCRIPT
76
- check_script PBS_SCRIPT
77
- check_script TASK
78
- File.directory?(RESULTS).must_equal true
79
- File.directory?(STREAMS).must_equal true
55
+ stdout.wont_be_empty
80
56
  end
81
57
  end
82
58
  end
@@ -85,13 +61,7 @@ GEN_HELP
85
61
  in_tmp_dir do
86
62
  pbs_job "new #{NAME} #{EMAIL_ADDRESS} --script=bash"
87
63
 
88
- stdout.must_equal SUCCESSFUL_OUTPUT
89
- File.directory?(JOB_ROOT).must_equal true
90
- check_script QSUB_SCRIPT
91
- check_script PBS_SCRIPT
92
- check_script TASK
93
- File.directory?(RESULTS).must_equal true
94
- File.directory?(STREAMS).must_equal true
64
+ stdout.wont_be_empty
95
65
  end
96
66
  end
97
67
  end
@@ -101,14 +71,7 @@ GEN_HELP
101
71
  in_tmp_dir do
102
72
  pbs_job "new #{NAME} #{EMAIL_ADDRESS} --link-results=#{linked_results}"
103
73
 
104
- stdout.must_equal SUCCESSFUL_OUTPUT
105
- File.directory?(JOB_ROOT).must_equal true
106
- check_script QSUB_SCRIPT
107
- check_script PBS_SCRIPT
108
- check_script TASK
109
- File.symlink?(RESULTS).must_equal true
110
- File.readlink(RESULTS).must_equal linked_results
111
- File.directory?(STREAMS).must_equal true
74
+ stdout.wont_be_empty
112
75
  end
113
76
  end
114
77
  end
@@ -127,7 +90,7 @@ describe PbsJob::PbsJob do
127
90
  quietly do
128
91
  patient = File.basename(PbsJob::PbsJob.start(args).first)
129
92
  end
130
- patient.must_equal JOB_ROOT
93
+ patient.split('.').first.must_equal NAME
131
94
  end
132
95
  end
133
96
  end
@@ -16,6 +16,10 @@ end
16
16
 
17
17
  require 'bahia'
18
18
 
19
+ Bahia.project_directory = File.expand_path('../../../', __FILE__)
20
+ Bahia.command = File.join(Bahia.project_directory, 'bin', 'pbs_job')
21
+ Bahia.command_method = 'pbs_job'
22
+
19
23
  class MiniTest::Spec
20
24
  include Bahia
21
25
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pbs_job
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dustin Morrill
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-12-31 00:00:00.000000000 Z
11
+ date: 2014-01-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor
@@ -108,6 +108,20 @@ dependencies:
108
108
  - - ~>
109
109
  - !ruby/object:Gem::Version
110
110
  version: 0.7.1
111
+ - !ruby/object:Gem::Dependency
112
+ name: timecop
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - '>='
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - '>='
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
111
125
  description: PBS/Torque job generator
112
126
  email:
113
127
  - morrill@ualberta.ca