blackwinter-autotest-notification 1.8.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.
- data/History.txt +58 -0
- data/License.txt +20 -0
- data/Manifest.txt +59 -0
- data/PostInstall.txt +9 -0
- data/README.txt +138 -0
- data/Rakefile +4 -0
- data/autotest-notification.gemspec +49 -0
- data/bin/an-install +106 -0
- data/bin/an-uninstall +50 -0
- data/bin/playsound +0 -0
- data/config/hoe.rb +75 -0
- data/config/requirements.rb +15 -0
- data/images/buuf/fail.png +0 -0
- data/images/buuf/pass.png +0 -0
- data/images/buuf/pending.png +0 -0
- data/images/doom/doom_0.png +0 -0
- data/images/doom/doom_1.png +0 -0
- data/images/doom/doom_2.png +0 -0
- data/images/doom/doom_3.png +0 -0
- data/images/doom/doom_4.png +0 -0
- data/images/doom/doom_5.png +0 -0
- data/images/doom/doom_6.png +0 -0
- data/images/fail.png +0 -0
- data/images/pass.png +0 -0
- data/images/pending.png +0 -0
- data/lib/autotest_notification.rb +73 -0
- data/lib/autotest_notification/buuf.rb +9 -0
- data/lib/autotest_notification/cygwin.rb +14 -0
- data/lib/autotest_notification/doom.rb +25 -0
- data/lib/autotest_notification/linux.rb +58 -0
- data/lib/autotest_notification/mac.rb +30 -0
- data/lib/autotest_notification/version.rb +9 -0
- data/lib/autotest_notification/windows.rb +11 -0
- data/script/console +10 -0
- data/script/destroy +14 -0
- data/script/generate +14 -0
- data/script/txt2html +82 -0
- data/setup.rb +1585 -0
- data/sounds/doom/0.wav +0 -0
- data/sounds/doom/1.wav +0 -0
- data/sounds/doom/2.wav +0 -0
- data/sounds/doom/3.wav +0 -0
- data/sounds/doom/4.wav +0 -0
- data/sounds/doom/5.wav +0 -0
- data/sounds/doom/6.wav +0 -0
- data/tasks/deployment.rake +34 -0
- data/tasks/environment.rake +7 -0
- data/tasks/website.rake +17 -0
- data/test/autotest_notification/test_cygwin.rb +10 -0
- data/test/autotest_notification/test_linux.rb +91 -0
- data/test/autotest_notification/test_mac.rb +78 -0
- data/test/autotest_notification/test_windows.rb +12 -0
- data/test/test_autotest_notification.rb +44 -0
- data/test/test_helper.rb +25 -0
- data/website/index.html +86 -0
- data/website/index.txt +83 -0
- data/website/javascripts/rounded_corners_lite.inc.js +285 -0
- data/website/stylesheets/screen.css +138 -0
- data/website/template.html.erb +48 -0
- metadata +151 -0
data/History.txt
ADDED
@@ -0,0 +1,58 @@
|
|
1
|
+
1.6.0 - Oct 08, 2008
|
2
|
+
* Buuf Edition - display Buuf icons by Mattahan [http://mattahan.deviantart.com] (samflores)
|
3
|
+
* Added --sticky flag to an-install to keep notifications on screen in case of errors/failures or pending specs (samflores)
|
4
|
+
* Pending notifications now have a priority different from Passed and Failled notifications, to allow set diff color with Growl (samflores)
|
5
|
+
|
6
|
+
1.5.0 - Oct 02, 2008
|
7
|
+
* If an-install is run with --pending, shows a yellow warning when there are no errors/failures but there are pending specs. (lucasuyezu)
|
8
|
+
|
9
|
+
1.4.0 - Jun 18, 2008
|
10
|
+
* Special Doom Edition for Linux (ozsantana)
|
11
|
+
|
12
|
+
1.3.1 - Jun 18, 2008
|
13
|
+
* Added backup to old .autotest file (tchandy)
|
14
|
+
|
15
|
+
1.3.0 - Jun 18, 2008
|
16
|
+
* Added Doom sounds.
|
17
|
+
|
18
|
+
1.2.0 - Jun 17, 2008
|
19
|
+
* Special Doom Edition
|
20
|
+
|
21
|
+
1.1.2
|
22
|
+
* Refactoring code.
|
23
|
+
|
24
|
+
* 1.1.1
|
25
|
+
* Changed to speak when passing the tests after a series of failures. Only in Mac.
|
26
|
+
|
27
|
+
* 1.1.0
|
28
|
+
* Now speaking in Linux too.
|
29
|
+
|
30
|
+
* 0.3.0
|
31
|
+
* If a test failed, the computer will speak. Only for Mac.
|
32
|
+
|
33
|
+
* 0.2.2 2008-05-13
|
34
|
+
* Validating presence of KDialog; Fixing some identations.
|
35
|
+
* Adding some tests.
|
36
|
+
|
37
|
+
* 0.2.1 2008-05-13
|
38
|
+
* Starting to add tests.
|
39
|
+
|
40
|
+
* 0.2.0 2008-05-13
|
41
|
+
* Added support to Gnome at linux.rb (zenity).
|
42
|
+
* Changed filename windows.rb to cygwin.rb and added a new windows.rb file that uses Snarl to show the messages.
|
43
|
+
* README.txt updated with windows and linux dependencies.
|
44
|
+
|
45
|
+
* 0.1.0 2008-05-13
|
46
|
+
* Separated each operating system into a different file to facilitate maintenance. It's necessary to conduct more tests in each scene.
|
47
|
+
|
48
|
+
* 0.0.9:
|
49
|
+
* Adding KDE (kdialog) support.
|
50
|
+
|
51
|
+
* 0.0.7:
|
52
|
+
* Added support to Windows.
|
53
|
+
|
54
|
+
* 0.0.4:
|
55
|
+
* Added an-uninstall to remove the autotest hook.
|
56
|
+
|
57
|
+
* 1 major enhancement:
|
58
|
+
* Initial release
|
data/License.txt
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
Copyright (c) 2008 Carlos Brando
|
2
|
+
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
4
|
+
a copy of this software and associated documentation files (the
|
5
|
+
"Software"), to deal in the Software without restriction, including
|
6
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
7
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
8
|
+
permit persons to whom the Software is furnished to do so, subject to
|
9
|
+
the following conditions:
|
10
|
+
|
11
|
+
The above copyright notice and this permission notice shall be
|
12
|
+
included in all copies or substantial portions of the Software.
|
13
|
+
|
14
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
15
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
16
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
17
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
18
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
19
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
20
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/Manifest.txt
ADDED
@@ -0,0 +1,59 @@
|
|
1
|
+
History.txt
|
2
|
+
License.txt
|
3
|
+
Manifest.txt
|
4
|
+
PostInstall.txt
|
5
|
+
README.txt
|
6
|
+
Rakefile
|
7
|
+
autotest-notification.gemspec
|
8
|
+
bin/an-install
|
9
|
+
bin/an-uninstall
|
10
|
+
bin/playsound
|
11
|
+
config/hoe.rb
|
12
|
+
config/requirements.rb
|
13
|
+
images/buuf/fail.png
|
14
|
+
images/buuf/pass.png
|
15
|
+
images/buuf/pending.png
|
16
|
+
images/doom/doom_0.png
|
17
|
+
images/doom/doom_1.png
|
18
|
+
images/doom/doom_2.png
|
19
|
+
images/doom/doom_3.png
|
20
|
+
images/doom/doom_4.png
|
21
|
+
images/doom/doom_5.png
|
22
|
+
images/doom/doom_6.png
|
23
|
+
images/fail.png
|
24
|
+
images/pass.png
|
25
|
+
images/pending.png
|
26
|
+
lib/autotest_notification.rb
|
27
|
+
lib/autotest_notification/buuf.rb
|
28
|
+
lib/autotest_notification/cygwin.rb
|
29
|
+
lib/autotest_notification/doom.rb
|
30
|
+
lib/autotest_notification/linux.rb
|
31
|
+
lib/autotest_notification/mac.rb
|
32
|
+
lib/autotest_notification/version.rb
|
33
|
+
lib/autotest_notification/windows.rb
|
34
|
+
script/console
|
35
|
+
script/destroy
|
36
|
+
script/generate
|
37
|
+
script/txt2html
|
38
|
+
setup.rb
|
39
|
+
sounds/doom/0.wav
|
40
|
+
sounds/doom/1.wav
|
41
|
+
sounds/doom/2.wav
|
42
|
+
sounds/doom/3.wav
|
43
|
+
sounds/doom/4.wav
|
44
|
+
sounds/doom/5.wav
|
45
|
+
sounds/doom/6.wav
|
46
|
+
tasks/deployment.rake
|
47
|
+
tasks/environment.rake
|
48
|
+
tasks/website.rake
|
49
|
+
test/autotest_notification/test_cygwin.rb
|
50
|
+
test/autotest_notification/test_linux.rb
|
51
|
+
test/autotest_notification/test_mac.rb
|
52
|
+
test/autotest_notification/test_windows.rb
|
53
|
+
test/test_autotest_notification.rb
|
54
|
+
test/test_helper.rb
|
55
|
+
website/index.html
|
56
|
+
website/index.txt
|
57
|
+
website/javascripts/rounded_corners_lite.inc.js
|
58
|
+
website/stylesheets/screen.css
|
59
|
+
website/template.html.erb
|
data/PostInstall.txt
ADDED
data/README.txt
ADDED
@@ -0,0 +1,138 @@
|
|
1
|
+
= THE AUTOTEST NOTIFICATION GEM
|
2
|
+
|
3
|
+
* http://github.com/carlosbrando/autotest-notification/
|
4
|
+
|
5
|
+
|
6
|
+
== DESCRIPTION:
|
7
|
+
|
8
|
+
This gem set the autotest (ZenTest) to send messages to software as Growl, LibNotify, and Snarl, displaying a window with the results.
|
9
|
+
|
10
|
+
|
11
|
+
== REQUIREMENTS:
|
12
|
+
|
13
|
+
Independent of operating system you are using, you must install the ZenTest:
|
14
|
+
|
15
|
+
$ gem install ZenTest
|
16
|
+
|
17
|
+
|
18
|
+
* If you're using a Mac:
|
19
|
+
You need to have Growl and growlnotify installed on your machine.
|
20
|
+
|
21
|
+
Download the Growl [http://growl.info/index.php] and install it like any other application on your Mac
|
22
|
+
|
23
|
+
Then you must install the growlnotify.
|
24
|
+
|
25
|
+
In your shell, cd to the directory on the Growl disk image containing growlnotify, and type ./install.sh.
|
26
|
+
That script will install growlnotify to /usr/local/bin and the manpage to /usr/local/man.
|
27
|
+
|
28
|
+
If you want to be notified with voice of the test results, when running an-install, pass a "-s" switch, when you do not want voices notifications anymore, just run it again without the "-s" switch.
|
29
|
+
|
30
|
+
|
31
|
+
* If you're using Windows (with cygwin):
|
32
|
+
You need to have Snarl and sncmd installed on your machine.
|
33
|
+
|
34
|
+
Download Snarl [http://www.fullphat.net/] and install it like any other application on your machine.
|
35
|
+
|
36
|
+
Then download sncmd [http://www.k23productions.com/download.php?view.105] open the zip file and place
|
37
|
+
the executable from the zip in any directory in windows PATH (for example c:\windows).
|
38
|
+
|
39
|
+
|
40
|
+
* If you're using Windows (without cygwin):
|
41
|
+
You need to have Snarl, diffutils and ruby-snarl installed on your machine.
|
42
|
+
|
43
|
+
Download Snarl [http://www.fullphat.net/] and install it like any other application on your machine.
|
44
|
+
|
45
|
+
Download DiffUtils for Windows [http://gnuwin32.sourceforge.net/packages/diffutils.htm] and follow the installation instructions on the site.
|
46
|
+
|
47
|
+
Run in the command prompt:
|
48
|
+
|
49
|
+
$ gem install ruby-snarl
|
50
|
+
|
51
|
+
After all that. You must update the environment variable PATH with the path to the bin of diffutils.
|
52
|
+
It's the price that was paid for using Windows (try cygwin).
|
53
|
+
|
54
|
+
|
55
|
+
* If you're using Linux:
|
56
|
+
You need to have libnotify binaries installed.
|
57
|
+
|
58
|
+
For ubuntu this means: sudo apt-get install libnotify-bin
|
59
|
+
|
60
|
+
Other distributions may package it with other names, do a search for libnotify using your distribution package manager.
|
61
|
+
|
62
|
+
If you use KDE and do not have libnotify-bin installed, it will try to use kdialog wich is part of KDE.
|
63
|
+
It also works if you have zenity installed.
|
64
|
+
|
65
|
+
If you want to be notified with voice of the test results, instal espeak [http://espeak.sourceforge.net/] too, it is not needed.
|
66
|
+
And when running an-install, pass a "-s" switch, when you do not want voices notifications anymore, just run it again without the "-s" switch.
|
67
|
+
|
68
|
+
To hear the sounds of Doom Edition, you need the mplayer [http://www.mplayerhq.hu/design7/dload.html] installed.
|
69
|
+
|
70
|
+
|
71
|
+
== INSTALL:
|
72
|
+
|
73
|
+
$ sudo gem install carlosbrando-autotest-notification --source=http://gems.github.com
|
74
|
+
|
75
|
+
Run it to let the notifier in automatic mode:
|
76
|
+
|
77
|
+
$ an-install
|
78
|
+
|
79
|
+
In Windows without cygwin, it's necessary to install in the directory of the project:
|
80
|
+
|
81
|
+
$ an-install --path=C:\projects\my_project
|
82
|
+
|
83
|
+
To turn off the notifier:
|
84
|
+
|
85
|
+
$ an-uninstall
|
86
|
+
|
87
|
+
|
88
|
+
== Special Doom Edition
|
89
|
+
|
90
|
+
$ an-install --doom --speaking
|
91
|
+
|
92
|
+
== Buuf Edition - Display Buuf icons by Mattahan [http://mattahan.deviantart.com]
|
93
|
+
|
94
|
+
$ an-install --buuf
|
95
|
+
|
96
|
+
== Showing a yellow warning image when there are no errors/failures but there are pending specs
|
97
|
+
|
98
|
+
$ an-install --pending
|
99
|
+
|
100
|
+
== CONTRIBUTORS:
|
101
|
+
|
102
|
+
* carlosbrando [http://www.nomedojogo.com]
|
103
|
+
* simpsomboy [http://alexandredasilva.wordpress.com]
|
104
|
+
* urubatan [http://www.urubatan.info]
|
105
|
+
* chjunior [http://tas.milk-it.net]
|
106
|
+
* daviscabral [http://blog.impactmedia.com.br]
|
107
|
+
* tapajos [http://www.improveit.com.br/tapajos]
|
108
|
+
* tchandy [http://tchandy.wordpress.com]
|
109
|
+
* ozsantana [http://blog.iconcreative.net]
|
110
|
+
* lucasuyezu [http://xucros.com]
|
111
|
+
* samflores [http://www.thoughtsoverflow.com]
|
112
|
+
* dcrec1 [http://www.mouseoverstudio.com/blog]
|
113
|
+
* nuxlli [http://www.nuxlli.com.br]
|
114
|
+
|
115
|
+
== LICENSE:
|
116
|
+
|
117
|
+
(The MIT License)
|
118
|
+
|
119
|
+
Copyright (c) 2008
|
120
|
+
|
121
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
122
|
+
a copy of this software and associated documentation files (the
|
123
|
+
'Software'), to deal in the Software without restriction, including
|
124
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
125
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
126
|
+
permit persons to whom the Software is furnished to do so, subject to
|
127
|
+
the following conditions:
|
128
|
+
|
129
|
+
The above copyright notice and this permission notice shall be
|
130
|
+
included in all copies or substantial portions of the Software.
|
131
|
+
|
132
|
+
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
|
133
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
134
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
135
|
+
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
136
|
+
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
137
|
+
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
138
|
+
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/Rakefile
ADDED
@@ -0,0 +1,49 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
|
3
|
+
Gem::Specification.new do |s|
|
4
|
+
s.name = %q{autotest-notification}
|
5
|
+
s.version = "1.8.0"
|
6
|
+
|
7
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
8
|
+
s.authors = ["Carlos Brando, Rodrigo Urubatan, Alexandre da Silva, Carlos J\303\272nior, Davis Zanetti Cabral, Marcos Tapaj\303\263s, Thiago Pradi, Oz\303\251ias Sant'ana, Samuel Flores, Diego Carrion"]
|
9
|
+
s.date = %q{2009-01-27}
|
10
|
+
s.description = %q{This gem set the autotest (ZenTest) to send messages to software as Growl, LibNotify, and Snarl, displaying a window with the results.}
|
11
|
+
s.email = ["autotest-notification@carlosbrando.com"]
|
12
|
+
s.executables = ["an-install", "an-uninstall", "playsound"]
|
13
|
+
s.extra_rdoc_files = ["History.txt", "License.txt", "Manifest.txt", "PostInstall.txt", "README.txt", "website/index.txt"]
|
14
|
+
s.files = ["History.txt", "License.txt", "Manifest.txt", "PostInstall.txt", "README.txt", "Rakefile", "autotest-notification.gemspec", "bin/an-install", "bin/an-uninstall", "bin/playsound", "config/hoe.rb", "config/requirements.rb", "images/buuf/fail.png", "images/buuf/pass.png", "images/buuf/pending.png", "images/doom/doom_0.png", "images/doom/doom_1.png", "images/doom/doom_2.png", "images/doom/doom_3.png", "images/doom/doom_4.png", "images/doom/doom_5.png", "images/doom/doom_6.png", "images/fail.png", "images/pass.png", "images/pending.png", "lib/autotest_notification.rb", "lib/autotest_notification/buuf.rb", "lib/autotest_notification/cygwin.rb", "lib/autotest_notification/doom.rb", "lib/autotest_notification/linux.rb", "lib/autotest_notification/mac.rb", "lib/autotest_notification/version.rb", "lib/autotest_notification/windows.rb", "script/console", "script/destroy", "script/generate", "script/txt2html", "setup.rb", "sounds/doom/0.wav", "sounds/doom/1.wav", "sounds/doom/2.wav", "sounds/doom/3.wav", "sounds/doom/4.wav", "sounds/doom/5.wav", "sounds/doom/6.wav", "tasks/deployment.rake", "tasks/environment.rake", "tasks/website.rake", "test/autotest_notification/test_cygwin.rb", "test/autotest_notification/test_linux.rb", "test/autotest_notification/test_mac.rb", "test/autotest_notification/test_windows.rb", "test/test_autotest_notification.rb", "test/test_helper.rb", "website/index.html", "website/index.txt", "website/javascripts/rounded_corners_lite.inc.js", "website/stylesheets/screen.css", "website/template.html.erb"]
|
15
|
+
s.has_rdoc = true
|
16
|
+
s.homepage = %q{http://github.com/carlosbrando/autotest-notification/}
|
17
|
+
s.post_install_message = %q{
|
18
|
+
For more information on autotest_notification, see http://github.com/carlosbrando/autotest-notification/
|
19
|
+
|
20
|
+
To turn on the notifier you need to run the following command:
|
21
|
+
an-install
|
22
|
+
|
23
|
+
To turn off:
|
24
|
+
an-uninstall
|
25
|
+
|
26
|
+
}
|
27
|
+
s.rdoc_options = ["--main", "README.txt"]
|
28
|
+
s.require_paths = ["lib"]
|
29
|
+
s.rubyforge_project = %q{autotest-notification}
|
30
|
+
s.rubygems_version = %q{1.3.1}
|
31
|
+
s.summary = %q{This gem set the autotest (ZenTest) to send messages to software as Growl, LibNotify, and Snarl, displaying a window with the results.}
|
32
|
+
s.test_files = ["test/autotest_notification/test_windows.rb", "test/autotest_notification/test_cygwin.rb", "test/autotest_notification/test_mac.rb", "test/autotest_notification/test_linux.rb", "test/test_helper.rb", "test/test_autotest_notification.rb"]
|
33
|
+
|
34
|
+
if s.respond_to? :specification_version then
|
35
|
+
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
36
|
+
s.specification_version = 2
|
37
|
+
|
38
|
+
if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
|
39
|
+
s.add_runtime_dependency(%q<ZenTest>, [">= 3.9.2"])
|
40
|
+
s.add_development_dependency(%q<hoe>, [">= 1.8.0"])
|
41
|
+
else
|
42
|
+
s.add_dependency(%q<ZenTest>, [">= 3.9.2"])
|
43
|
+
s.add_dependency(%q<hoe>, [">= 1.8.0"])
|
44
|
+
end
|
45
|
+
else
|
46
|
+
s.add_dependency(%q<ZenTest>, [">= 3.9.2"])
|
47
|
+
s.add_dependency(%q<hoe>, [">= 1.8.0"])
|
48
|
+
end
|
49
|
+
end
|
data/bin/an-install
ADDED
@@ -0,0 +1,106 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
#
|
3
|
+
# Created on 2008-5-11.
|
4
|
+
# Copyright (c) 2008. All rights reserved.
|
5
|
+
|
6
|
+
begin
|
7
|
+
require 'rubygems'
|
8
|
+
rescue LoadError
|
9
|
+
# no rubygems to load, so we fail silently
|
10
|
+
end
|
11
|
+
|
12
|
+
require 'optparse'
|
13
|
+
require 'ftools'
|
14
|
+
require 'fileutils'
|
15
|
+
|
16
|
+
# NOTE: the option -p/--path= is given as an example, and should probably be replaced in your application.
|
17
|
+
|
18
|
+
OPTIONS = {
|
19
|
+
:path => '~',
|
20
|
+
:speaking => false,
|
21
|
+
:doom => false,
|
22
|
+
:sticky => false,
|
23
|
+
:pending => false,
|
24
|
+
:buuf => false,
|
25
|
+
:sound => {
|
26
|
+
:success => nil,
|
27
|
+
:failure => nil
|
28
|
+
}
|
29
|
+
}
|
30
|
+
MANDATORY_OPTIONS = %w( )
|
31
|
+
|
32
|
+
parser = OptionParser.new do |opts|
|
33
|
+
opts.banner = <<BANNER
|
34
|
+
This application is wonderful because...
|
35
|
+
|
36
|
+
Usage: #{File.basename($0)} [options]
|
37
|
+
|
38
|
+
Options are:
|
39
|
+
BANNER
|
40
|
+
opts.separator ""
|
41
|
+
|
42
|
+
opts.on("-p", "--path=PATH", String,
|
43
|
+
"The root path for selecting files",
|
44
|
+
"Default: ~") { |OPTIONS[:path]| }
|
45
|
+
|
46
|
+
opts.on("-s", "--speaking",
|
47
|
+
"If a test failed, the computer will speak.",
|
48
|
+
"For all plataforms.") { |OPTIONS[:speaking]| OPTIONS[:speaking] = true }
|
49
|
+
|
50
|
+
opts.on("-d", "--doom",
|
51
|
+
"Special Doom Edition.",
|
52
|
+
"Only for Mac.") { |OPTIONS[:doom]| OPTIONS[:doom] = true }
|
53
|
+
|
54
|
+
opts.on("-b", "--buuf",
|
55
|
+
"Special Buuf Images.",
|
56
|
+
"For all platforms") { |OPTIONS[:buuf]| }
|
57
|
+
|
58
|
+
opts.on("--pending",
|
59
|
+
"Shows a different image when there are no errors/failures",
|
60
|
+
"but there are pending specs. Only for Mac.") { |OPTIONS[:pending]| OPTIONS[:pending] = true }
|
61
|
+
|
62
|
+
opts.on("--sticky",
|
63
|
+
"Keep notification on screen in case of errros/failures or pending specs.",
|
64
|
+
"Only for Mac.") { |OPTIONS[:sticky]| OPTIONS[:sticky] = true }
|
65
|
+
|
66
|
+
opts.on("--success-sound=PATH", String,
|
67
|
+
"Sound to play on success.",
|
68
|
+
"Only for Mac") { |OPTIONS[:sound][:success]| }
|
69
|
+
|
70
|
+
opts.on("--failure-sound=PATH", String,
|
71
|
+
"Sound to play on success.",
|
72
|
+
"Only for Mac") { |OPTIONS[:sound][:failure]| }
|
73
|
+
|
74
|
+
opts.on("-h", "--help",
|
75
|
+
"Show this help message.") { puts opts; exit }
|
76
|
+
|
77
|
+
opts.parse!(ARGV)
|
78
|
+
|
79
|
+
if MANDATORY_OPTIONS && MANDATORY_OPTIONS.find { |option| OPTIONS[option.to_sym].nil? }
|
80
|
+
puts opts; exit
|
81
|
+
end
|
82
|
+
end
|
83
|
+
|
84
|
+
path = OPTIONS[:path]
|
85
|
+
|
86
|
+
autotest_path = File.expand_path(path)
|
87
|
+
|
88
|
+
if File.exists?("#{autotest_path}/.autotest")
|
89
|
+
puts "\nYou Already have a .autotest file, renamed to .autotest.backup"
|
90
|
+
FileUtils.cp "#{autotest_path}/.autotest", "#{autotest_path}/.autotest.backup"
|
91
|
+
end
|
92
|
+
|
93
|
+
f = File.new("#{autotest_path}/.autotest", "w")
|
94
|
+
f.write "# ~.autotest\n"
|
95
|
+
f.write "require 'autotest_notification'\n"
|
96
|
+
f.write("SPEAKING = #{OPTIONS[:speaking]}\n")
|
97
|
+
f.write("DOOM_EDITION = #{OPTIONS[:doom]}\n")
|
98
|
+
f.write("BUUF = #{OPTIONS[:buuf]}\n")
|
99
|
+
f.write("PENDING = #{OPTIONS[:pending]}\n")
|
100
|
+
f.write("STICKY = #{OPTIONS[:sticky]}\n")
|
101
|
+
f.write("SUCCESS_SOUND = '#{OPTIONS[:sound][:success]}'\n")
|
102
|
+
f.write("FAILURE_SOUND = '#{OPTIONS[:sound][:failure]}'\n")
|
103
|
+
f.close
|
104
|
+
|
105
|
+
puts "\nAs from now all tests will be notified automatically."
|
106
|
+
puts "" # a blank line
|