liri 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
data/liri.gemspec CHANGED
@@ -55,4 +55,12 @@ Gem::Specification.new do |spec|
55
55
  # Ruby internationalization and localization (i18n) solution. https://github.com/ruby-i18n/i18n
56
56
  # Este es un requerimiento de la gema to_duration
57
57
  spec.add_runtime_dependency('i18n', '~> 1')
58
+
59
+ # The ultimate text progress bar library for Ruby!. https://github.com/jfelchner/ruby-progressbar
60
+ # Para mostrar barras de progreso
61
+ spec.add_runtime_dependency('ruby-progressbar', '~> 1')
62
+
63
+ # Terminal Table is a fast and simple, yet feature rich table generator written in Ruby. https://github.com/tj/terminal-table
64
+ # Para mostrar resumen de resultados
65
+ spec.add_runtime_dependency('terminal-table', '~> 3')
58
66
  end
@@ -0,0 +1,4 @@
1
+ # Este archivo .yml define el usuario y la contraseña a utilizar para ejecutar los tests de manager_spec
2
+ # Debe renombrar este archivo a spec_credentials.yml
3
+ user: user
4
+ password: password
@@ -3,12 +3,14 @@
3
3
  # Obs.: Puede que no sea útil para el usuario poder cambiar este nombre
4
4
  compressed_file_name: compressed_source_code
5
5
  # Configuración de la cantidad de tests a ejecutar por tandas
6
- test_samples_by_runner: 100
6
+ test_samples_by_runner: 1000
7
+ print_failures: false
7
8
  log:
8
9
  stdout:
9
10
  # Configuración que define si se muestra el log de ejecución del programa en línea de comando. Puede ser true o false.
10
11
  # Por defecto siempre se imprimirá el log en un archivo dentro de la carpeta logs
11
- show: true
12
+ # Si se pone a true, interfiere con la barra de progreso del Manager, mejor tenerlo en false
13
+ show: false
12
14
  # Define los colores del texto del log. Puede ser none (no muestra colores), severity (colorea código de error),
13
15
  # severity_date (colorea código de error y fecha), full (colorea el texto entero).
14
16
  colorize: full
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: liri
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rodrigo Fernández
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2022-05-08 00:00:00.000000000 Z
12
+ date: 2022-05-14 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rubyzip
@@ -95,6 +95,34 @@ dependencies:
95
95
  - - "~>"
96
96
  - !ruby/object:Gem::Version
97
97
  version: '1'
98
+ - !ruby/object:Gem::Dependency
99
+ name: ruby-progressbar
100
+ requirement: !ruby/object:Gem::Requirement
101
+ requirements:
102
+ - - "~>"
103
+ - !ruby/object:Gem::Version
104
+ version: '1'
105
+ type: :runtime
106
+ prerelease: false
107
+ version_requirements: !ruby/object:Gem::Requirement
108
+ requirements:
109
+ - - "~>"
110
+ - !ruby/object:Gem::Version
111
+ version: '1'
112
+ - !ruby/object:Gem::Dependency
113
+ name: terminal-table
114
+ requirement: !ruby/object:Gem::Requirement
115
+ requirements:
116
+ - - "~>"
117
+ - !ruby/object:Gem::Version
118
+ version: '3'
119
+ type: :runtime
120
+ prerelease: false
121
+ version_requirements: !ruby/object:Gem::Requirement
122
+ requirements:
123
+ - - "~>"
124
+ - !ruby/object:Gem::Version
125
+ version: '3'
98
126
  description: Test distributor executor
99
127
  email:
100
128
  - rofaccess@gmail.com
@@ -110,6 +138,7 @@ files:
110
138
  - ".rubocop.yml"
111
139
  - ".ruby-gemset"
112
140
  - ".ruby-version"
141
+ - ".simplecov"
113
142
  - ".travis.yml"
114
143
  - CODE_OF_CONDUCT.md
115
144
  - Gemfile
@@ -117,6 +146,7 @@ files:
117
146
  - LICENSE.txt
118
147
  - README.md
119
148
  - Rakefile
149
+ - bash_script_examples.sh
120
150
  - bin/bundle
121
151
  - bin/coderay
122
152
  - bin/commander
@@ -132,6 +162,23 @@ files:
132
162
  - bin/yardoc
133
163
  - bin/yri
134
164
  - config/locales/to_duration_es.yml
165
+ - dummy-app/.gitignore
166
+ - dummy-app/.rspec
167
+ - dummy-app/.ruby-gemset
168
+ - dummy-app/.ruby-version
169
+ - dummy-app/CODE_OF_CONDUCT.md
170
+ - dummy-app/Gemfile
171
+ - dummy-app/Gemfile.lock
172
+ - dummy-app/LICENSE.txt
173
+ - dummy-app/README.md
174
+ - dummy-app/Rakefile
175
+ - dummy-app/bin/console
176
+ - dummy-app/bin/setup
177
+ - dummy-app/dummy-app.gemspec
178
+ - dummy-app/lib/dummy/app.rb
179
+ - dummy-app/lib/dummy/app/version.rb
180
+ - dummy-app/spec/dummy/app_spec.rb
181
+ - dummy-app/spec/spec_helper.rb
135
182
  - exe/liri
136
183
  - lib/agent/agent.rb
137
184
  - lib/agent/runner.rb
@@ -139,7 +186,11 @@ files:
139
186
  - lib/common/benchmarking.rb
140
187
  - lib/common/compressor/zip.rb
141
188
  - lib/common/log.rb
189
+ - lib/common/manager_data.rb
190
+ - lib/common/progressbar.rb
191
+ - lib/common/setup.rb
142
192
  - lib/common/source_code.rb
193
+ - lib/common/tests_result.rb
143
194
  - lib/common/unit_test/rspec.rb
144
195
  - lib/exe/agent.rb
145
196
  - lib/exe/manager.rb
@@ -147,10 +198,9 @@ files:
147
198
  - lib/liri.rb
148
199
  - lib/manager/credential.rb
149
200
  - lib/manager/manager.rb
150
- - lib/manager/setup.rb
151
- - lib/manager/test_result.rb
152
201
  - lib/task.rb
153
202
  - liri.gemspec
203
+ - spec_credentials.yml.example
154
204
  - template/liri-config.yml
155
205
  homepage: https://github.com/rofaccess/tfg
156
206
  licenses:
data/lib/manager/setup.rb DELETED
@@ -1,70 +0,0 @@
1
- =begin
2
- Este modulo se encarga de manejar la configuración
3
- =end
4
- require 'yaml'
5
- require 'json'
6
-
7
- module Liri
8
- class Manager
9
- class Setup
10
- FILE_NAME = 'liri-config.yml'
11
- TEMPLATE_PATH = File.join(File.dirname(File.dirname(File.dirname(__FILE__))), 'template/liri-config.yml')
12
-
13
- def initialize(folder_path)
14
- # Crea la carpeta en donde se guardarán los datos relativos a liri, ya sean archivos comprimidos,
15
- # archivos descomprimidos, configuraciones, etc.
16
- Dir.mkdir(folder_path) unless Dir.exist?(folder_path)
17
-
18
- @file_path = File.join(folder_path, '/', FILE_NAME)
19
- end
20
-
21
- # Crea un archivo de configuración en la raiz del proyecto desde un template
22
- def create
23
- File.open(@file_path, "w") do |output_file|
24
- File.foreach(TEMPLATE_PATH) do |input_line|
25
- output_file.write(input_line)
26
- end
27
- end
28
- true
29
- end
30
-
31
- # Retorna los datos del archivo de configuración
32
- def load
33
- if File.exist?(@file_path)
34
- data = YAML.load(File.read(@file_path))
35
- JSON.parse(data.to_json, object_class: OpenStruct)
36
- else
37
- raise Liri::FileNotFoundError.new(@file_path)
38
- end
39
- end
40
-
41
- # Borra el archivo de configuración
42
- def delete
43
- if File.exist?(@file_path)
44
- File.delete(@file_path)
45
- true
46
- else
47
- false
48
- end
49
- end
50
-
51
- def set(value, *keys)
52
- data = YAML.load(File.read(@file_path))
53
- keys = keys.first
54
- aux = data
55
- keys.each_with_index do |key, index|
56
- if (keys[index + 1])
57
- aux = data[key]
58
- else
59
- aux[key] = value
60
- end
61
- end
62
- File.open(@file_path, 'w') { |f| f.write data.to_yaml }
63
- end
64
-
65
- def path
66
- @file_path
67
- end
68
- end
69
- end
70
- end
@@ -1,38 +0,0 @@
1
- # Procesa el resultado de las pruebas unitarias
2
- module Liri
3
- class Manager
4
- class TestResult
5
- def initialize
6
- @example_quantity = 0
7
- @failure_quantity = 0
8
- @passed_quantity = 0
9
- end
10
- def update(test_result)
11
- @example_quantity += test_result['example_quantity']
12
- @failure_quantity += test_result['failure_quantity']
13
- @passed_quantity += (@example_quantity - @failure_quantity)
14
- end
15
-
16
- def print_process(test_result)
17
- passed_quantity = test_result['example_quantity'] - test_result['failure_quantity']
18
- passed_quantity.times do
19
- print '.'
20
- end
21
-
22
- test_result['failure_quantity'].times do
23
- print 'F'
24
- end
25
- end
26
-
27
- def print_summary
28
- print_examples_and_failures
29
- end
30
-
31
- private
32
-
33
- def print_examples_and_failures
34
- puts "#{@example_quantity} examples, #{@failure_quantity} failures\n\n"
35
- end
36
- end
37
- end
38
- end