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 +4 -4
- data/lib/pbs_job/version.rb +1 -1
- data/lib/pbs_job.rb +14 -1
- data/spec/pbs_job_spec.rb +37 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 74de9875b58aabff02b08472e340da1b2da35754
|
4
|
+
data.tar.gz: 1a1e0d9073c31e50318aac1b0494e45dfe23e399
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d08e0dbb79673f6c242084d35bf96756fd2195befc8069c6e2c39243ab7228bdf6aabd560fbe5e887c0d5e8e211d2ac02c337fb183327e536e1b389fc1e2c105
|
7
|
+
data.tar.gz: 74037afe8fd3d06d623d92ac5e73e75430b8bd4f301a7510227e6207544c79888facf183840d0b9f8f829d21aa1a851ab8689ad243036fdae00fe8de22bf692a
|
data/lib/pbs_job/version.rb
CHANGED
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 ||=
|
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.
|
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-
|
11
|
+
date: 2014-01-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: thor
|