pbs_job 1.0.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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