pbs_job 2.0.0 → 2.1.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: 6ed1405413dcb6bb0ed1006c861e957bc3c4f3be
4
- data.tar.gz: f5b2e5f28fc48ca58243be8bd0a4b58052b921c2
3
+ metadata.gz: 74de9875b58aabff02b08472e340da1b2da35754
4
+ data.tar.gz: 1a1e0d9073c31e50318aac1b0494e45dfe23e399
5
5
  SHA512:
6
- metadata.gz: 57a6b467cb73f2e1fdfc8a3a33e5d92e93691c402dd71198b71ce6b6d46e28e4b82f2085eb9e5a5c2fcb4b2152b03da96bdc0303104538c3739da9cd3a4bdb81
7
- data.tar.gz: a7a1e516d2ebd16c5a78cbf4450964c5dfdccc31ef22cc1742381fda6791a6465da501ae657722c3858fc95218648ef33df641a540ec6af1ef6f5a5206d85d47
6
+ metadata.gz: d08e0dbb79673f6c242084d35bf96756fd2195befc8069c6e2c39243ab7228bdf6aabd560fbe5e887c0d5e8e211d2ac02c337fb183327e536e1b389fc1e2c105
7
+ data.tar.gz: 74037afe8fd3d06d623d92ac5e73e75430b8bd4f301a7510227e6207544c79888facf183840d0b9f8f829d21aa1a851ab8689ad243036fdae00fe8de22bf692a
@@ -1,3 +1,3 @@
1
1
  module PbsJob
2
- VERSION = "2.0.0"
2
+ VERSION = "2.1.0"
3
3
  end
data/lib/pbs_job.rb CHANGED
@@ -13,6 +13,15 @@ module PbsJob
13
13
  argument :name, :desc => 'Name of the new job.'
14
14
  argument :email_address, :desc => 'Email to which to send PBS alerts.'
15
15
 
16
+ class_option(
17
+ :append_timestamp,
18
+ {
19
+ :desc => 'Append a date and timestamp to the job root directory name',
20
+ :default => true,
21
+ :aliases => 't',
22
+ :type => :boolean
23
+ }
24
+ )
16
25
  class_option(
17
26
  :link_results,
18
27
  {
@@ -127,7 +136,11 @@ module PbsJob
127
136
 
128
137
  # @returns [String] Name with date appended
129
138
  def full_name
130
- @full_name ||= "#{name}.#{DateTime.now.strftime('%b%d_%Y.%Hh-%Mm-%Ss')}"
139
+ @full_name ||= if options[:append_timestamp]
140
+ "#{name}.#{DateTime.now.strftime('%b%d_%Y.%Hh-%Mm-%Ss')}"
141
+ else
142
+ name
143
+ end
131
144
  end
132
145
 
133
146
  def abs_job_root
data/spec/pbs_job_spec.rb CHANGED
@@ -32,6 +32,8 @@ Usage:
32
32
  pbs_job new NAME EMAIL_ADDRESS [OPTIONS]
33
33
 
34
34
  Options:
35
+ t, [--append-timestamp] # Append a date and timestamp to the job root directory name
36
+ # Default: true
35
37
  r, [--link-results=LINK_RESULTS] # Directory to which to redirect results
36
38
  s, [--script=SCRIPT] # Type of script to make the task script
37
39
  # Default: bash
@@ -76,6 +78,41 @@ GEN_HELP
76
78
  end
77
79
  end
78
80
 
81
+
82
+ JOB_ROOT = NAME
83
+ QSUB_SCRIPT = "#{JOB_ROOT}/job.qsub"
84
+ PBS_SCRIPT = "#{JOB_ROOT}/job.pbs"
85
+ TASK = "#{JOB_ROOT}/task"
86
+ RESULTS = "#{JOB_ROOT}/results"
87
+ STREAMS = "#{JOB_ROOT}/streams"
88
+ SUCCESSFUL_OUTPUT = <<-OUT
89
+ \e[1m\e[32m create\e[0m #{JOB_ROOT}
90
+ \e[1m\e[32m create\e[0m #{QSUB_SCRIPT}
91
+ \e[1m\e[32m chmod\e[0m #{QSUB_SCRIPT}
92
+ \e[1m\e[32m create\e[0m #{PBS_SCRIPT}
93
+ \e[1m\e[32m chmod\e[0m #{PBS_SCRIPT}
94
+ \e[1m\e[32m create\e[0m #{TASK}
95
+ \e[1m\e[32m chmod\e[0m #{TASK}
96
+ \e[1m\e[32m create\e[0m #{STREAMS}
97
+ \e[1m\e[32m create\e[0m #{RESULTS}
98
+ OUT
99
+
100
+ describe 'no timestamp on directory name option' do
101
+ it '--no-append_timestamp works' do
102
+ in_tmp_dir do
103
+ pbs_job "new #{NAME} #{EMAIL_ADDRESS} --no-append_timestamp"
104
+
105
+ stdout.must_equal SUCCESSFUL_OUTPUT
106
+ File.directory?(JOB_ROOT).must_equal true
107
+ check_script QSUB_SCRIPT
108
+ check_script PBS_SCRIPT
109
+ check_script TASK
110
+ File.directory?(STREAMS).must_equal true
111
+ File.directory?(RESULTS).must_equal true
112
+ end
113
+ end
114
+ end
115
+
79
116
  def check_script(script_path)
80
117
  File.file?(script_path).must_equal true
81
118
  File.executable?(script_path).must_equal true
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: 2.0.0
4
+ version: 2.1.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: 2014-01-01 00:00:00.000000000 Z
11
+ date: 2014-01-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor