liri 0.2.1 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
data/lib/task.rb CHANGED
@@ -5,9 +5,13 @@
5
5
  module Liri
6
6
  module Task
7
7
  class << self
8
+ def tests_files(source_code_folder_path)
9
+ source_code = Liri::Common::SourceCode.new(source_code_folder_path,"", "", Liri.compression_class, Liri.unit_test_class)
10
+ source_code.all_tests
11
+ end
12
+
8
13
  def tests_count(source_code_folder_path)
9
- source_code = Liri::Common::SourceCode.new(source_code_folder_path,'', Liri.compression_class, Liri.unit_test_class)
10
- source_code.all_tests.size
14
+ tests_files(source_code_folder_path).size
11
15
  end
12
16
  end
13
17
  end
data/liri.gemspec CHANGED
@@ -48,18 +48,18 @@ Gem::Specification.new do |spec|
48
48
  # Se usa para obtener el código fuente del Manager desde el Agent
49
49
  spec.add_runtime_dependency('net-scp', '~> 3')
50
50
 
51
- # A Ruby gem for converting seconds into human-readable format. https://github.com/digaev/to_duration
51
+ # A simple Ruby natural language parser for elapsed time. https://github.com/henrypoydar/chronic_duration
52
52
  # Se usa para convertir un tiempo en segundos a un formato más legible
53
- spec.add_runtime_dependency('to_duration', '~> 1')
54
-
55
- # Ruby internationalization and localization (i18n) solution. https://github.com/ruby-i18n/i18n
56
- # Este es un requerimiento de la gema to_duration
57
- spec.add_runtime_dependency('i18n', '~> 1')
53
+ spec.add_runtime_dependency('chronic_duration', '~> 0')
58
54
 
59
55
  # The ultimate text progress bar library for Ruby!. https://github.com/jfelchner/ruby-progressbar
60
56
  # Para mostrar barras de progreso
61
57
  spec.add_runtime_dependency('ruby-progressbar', '~> 1')
62
58
 
59
+ # A flexible and extensible progress bar for terminal applications. https://github.com/piotrmurach/tty-progressbar
60
+ # Para mostrar barras de progreso
61
+ spec.add_runtime_dependency('tty-progressbar', '~> 0')
62
+
63
63
  # Terminal Table is a fast and simple, yet feature rich table generator written in Ruby. https://github.com/tj/terminal-table
64
64
  # Para mostrar resumen de resultados
65
65
  spec.add_runtime_dependency('terminal-table', '~> 3')
@@ -1,31 +1,75 @@
1
1
  # Este archivo .yml define ciertas configuraciones para la ejecución del sistema
2
- # Configuración del Nombre del archivo de código fuente comprimido enviado a los agentes
3
- # Obs.: Puede que no sea útil para el usuario poder cambiar este nombre
4
- compressed_file_name: compressed_source_code
5
- # Configuración de la cantidad de tests a ejecutar por tandas
6
- test_samples_by_runner: 1000
7
- print_failures: false
8
- udp_request_delay: 10
9
- log:
10
- stdout:
11
- # Configuración que define si se muestra el log de ejecución del programa en línea de comando. Puede ser true o false.
12
- # Por defecto siempre se imprimirá el log en un archivo dentro de la carpeta logs
13
- # Si se pone a true, interfiere con la barra de progreso del Manager, mejor tenerlo en false
14
- show: false
15
- # Define los colores del texto del log. Puede ser none (no muestra colores), severity (colorea código de error),
16
- # severity_date (colorea código de error y fecha), full (colorea el texto entero).
17
- colorize: full
18
- file:
19
- colorize: full
20
- library:
21
- # Configuración de la librería de compresión a utilizar para comprimir el código fuente
22
- # Valores soportados: Sólo Zip hasta ahora
23
- compression: Zip
24
- # Configuración de la librería de pruebas unitarias a ejecutar
25
- # Valores soportados: Sólo Rspec hasta ahora
26
- unit_test: Rspec
27
- ports:
28
- # Configuración del puerto a través del cual se realizará la primera comunicación entre Manager y Agent
29
- udp: 2000
30
- # Configuración del puerto a través del cual el Agent y el Manager intercambiarán las pruebas a ejecutar y los resultados de esa ejecución
31
- tcp: 2500
2
+ # Configuraciones exclusivas del Manager
3
+ manager:
4
+ # Define cada cuantos segundo el Manager enviará un broadcast UDP a la red para sondear agentes
5
+ udp_request_delay: 3
6
+ # Cantidad de archivos de tests a ejecutar en cada tanda
7
+ test_files_by_runner: 30
8
+ # Configuraciones que definen que barras se muestran o no
9
+ bar:
10
+ # Mostrar o no el progreso de envío de código fuente a los agentes
11
+ share_source_code: true
12
+ # Configuraciones que definen que se imprimen al terminar la ejecución de las pruebas
13
+ print:
14
+ table:
15
+ # Configuración para imprimir un resumen del proceso realizado por los agentes
16
+ summary: true
17
+ # Configuración para imprimir un resumen detallado del proceso realizado por los agentes
18
+ detailed: false
19
+ column:
20
+ failed_files: true # Muestra los archivos fallados en la tabla
21
+ files_load: true # Muestra el tiempo que tardó Rspec en cargar los archivos de tests
22
+ finish_in: true # Muestra el tiempo que tardó el Agent en ejecutar los tests
23
+ batch_run: true # Muestra el tiempo que pasó desde que el Manager obtiene las pruebas a ejecutar, las envía y recibe los resultados
24
+ share_source_code: true # Muestra el tiempo que tardan los Agents en obtener el código fuente y descomprimirlo
25
+ failures:
26
+ summary: false # Muestra una tabla que resume los tiempos de ejecución por cada Agent
27
+ detailed: false # Muestra una tabla detallada de los tiempo de ejecución de cada tanda enviada a los Agents
28
+ # Configuraciones compartidas entre Manager y Agent
29
+ general:
30
+ # Configuración del nombre del archivo de código fuente comprimido enviado a los agentes
31
+ # Obs.: Puede que NO sea útil para el usuario poder cambiar este nombre
32
+ compressed_file_name: compressed_source_code
33
+ # Define las carpetas que deben ignorarse en la compresión del código fuente. Debe ir separado por comas
34
+ # y debe haber un espacio después de ignored_folders_in_compress:
35
+ ignored_folders_in_compress: .git,liri,documents,installers,log,logs
36
+ # Define a cuantos digitos se van a redondear los tiempos mostrados en pantalla.
37
+ times_round: 0
38
+ # Define el tipo de redondeo a utilizar. floor para piso, roof para techo.
39
+ # El que da mejores resultados según las pruebas realizadas es usar times_round 0 y times_round_type floor
40
+ times_round_type: floor
41
+ # Ej.:
42
+ # Con times_round 0 y times_round_type floor, 3.5516 se convierte a 3s
43
+ # Con times_round 1 y times_round_type floor, 3.5516 se convierte a 3.5s
44
+ # Con times_round 2 y times_round_type floor, 3.5516 se convierte a 3.55s
45
+ # Con times_round 0 y times_round_type roof, 3.5516 se convierte a 4s
46
+ # Con times_round 1 y times_round_type roof, 3.5516 se convierte a 3.6s
47
+ # Con times_round 2 y times_round_type roof, 3.5516 se convierte a 3.55s
48
+ # Configuraciones de logs
49
+ log:
50
+ # Configuración del log mostrado en la terminal
51
+ stdout:
52
+ # Define si se muestra el log de ejecución del programa en línea de comando. Puede ser true o false.
53
+ # Por defecto siempre se imprimirá el log en un archivo dentro de la carpeta logs
54
+ # Si se pone a true, interfiere con la barra de progreso del Manager, mejor tenerlo en false
55
+ show: false
56
+ # Define los colores del texto del log. Puede ser none (no muestra colores), severity (colorea código de error),
57
+ # severity_date (colorea código de error y fecha), full (colorea el texto entero).
58
+ colorize: full
59
+ # Configuración del log guardado en los archivos .log
60
+ file:
61
+ # Puede ser none, severity o full
62
+ colorize: full
63
+ library:
64
+ # Configuración de la librería de compresión a utilizar para comprimir el código fuente
65
+ # Valores soportados: Sólo Zip hasta ahora
66
+ compression: Zip
67
+ # Configuración de la librería de pruebas unitarias a ejecutar
68
+ # Valores soportados: Sólo Rspec hasta ahora
69
+ unit_test: Rspec
70
+ # Configuración de puertos
71
+ ports:
72
+ # Configuración del puerto a través del cual se realizará la primera comunicación entre Manager y Agent
73
+ udp: 2000
74
+ # Configuración del puerto a través del cual el Agent y el Manager intercambiarán las pruebas a ejecutar y los resultados de esa ejecución
75
+ tcp: 2500
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.2.1
4
+ version: 0.4.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-14 00:00:00.000000000 Z
12
+ date: 2022-06-07 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rubyzip
@@ -68,21 +68,21 @@ dependencies:
68
68
  - !ruby/object:Gem::Version
69
69
  version: '3'
70
70
  - !ruby/object:Gem::Dependency
71
- name: to_duration
71
+ name: chronic_duration
72
72
  requirement: !ruby/object:Gem::Requirement
73
73
  requirements:
74
74
  - - "~>"
75
75
  - !ruby/object:Gem::Version
76
- version: '1'
76
+ version: '0'
77
77
  type: :runtime
78
78
  prerelease: false
79
79
  version_requirements: !ruby/object:Gem::Requirement
80
80
  requirements:
81
81
  - - "~>"
82
82
  - !ruby/object:Gem::Version
83
- version: '1'
83
+ version: '0'
84
84
  - !ruby/object:Gem::Dependency
85
- name: i18n
85
+ name: ruby-progressbar
86
86
  requirement: !ruby/object:Gem::Requirement
87
87
  requirements:
88
88
  - - "~>"
@@ -96,19 +96,19 @@ dependencies:
96
96
  - !ruby/object:Gem::Version
97
97
  version: '1'
98
98
  - !ruby/object:Gem::Dependency
99
- name: ruby-progressbar
99
+ name: tty-progressbar
100
100
  requirement: !ruby/object:Gem::Requirement
101
101
  requirements:
102
102
  - - "~>"
103
103
  - !ruby/object:Gem::Version
104
- version: '1'
104
+ version: '0'
105
105
  type: :runtime
106
106
  prerelease: false
107
107
  version_requirements: !ruby/object:Gem::Requirement
108
108
  requirements:
109
109
  - - "~>"
110
110
  - !ruby/object:Gem::Version
111
- version: '1'
111
+ version: '0'
112
112
  - !ruby/object:Gem::Dependency
113
113
  name: terminal-table
114
114
  requirement: !ruby/object:Gem::Requirement
@@ -161,7 +161,6 @@ files:
161
161
  - bin/yard
162
162
  - bin/yardoc
163
163
  - bin/yri
164
- - config/locales/to_duration_es.yml
165
164
  - dummy-app/.gitignore
166
165
  - dummy-app/.rspec
167
166
  - dummy-app/.ruby-gemset
@@ -178,6 +177,7 @@ files:
178
177
  - dummy-app/lib/dummy/app.rb
179
178
  - dummy-app/lib/dummy/app/version.rb
180
179
  - dummy-app/spec/dummy/app_spec.rb
180
+ - dummy-app/spec/dummy/dummy_spec.rb
181
181
  - dummy-app/spec/spec_helper.rb
182
182
  - exe/liri
183
183
  - lib/agent/agent.rb
@@ -185,13 +185,18 @@ files:
185
185
  - lib/all_libraries.rb
186
186
  - lib/common/benchmarking.rb
187
187
  - lib/common/compressor/zip.rb
188
+ - lib/common/duration.rb
189
+ - lib/common/hardware.rb
188
190
  - lib/common/log.rb
189
191
  - lib/common/manager_data.rb
190
192
  - lib/common/progressbar.rb
191
193
  - lib/common/setup.rb
192
194
  - lib/common/source_code.rb
193
195
  - lib/common/tests_result.rb
196
+ - lib/common/text_time_parser.rb
197
+ - lib/common/tty_progressbar.rb
194
198
  - lib/common/unit_test/rspec.rb
199
+ - lib/common/unit_test/rspec_result_parser.rb
195
200
  - lib/exe/agent.rb
196
201
  - lib/exe/manager.rb
197
202
  - lib/hash_extend.rb
@@ -1,25 +0,0 @@
1
- es:
2
- to_duration:
3
- and: y
4
- less_than_one_second: Menos de un segundo
5
- year:
6
- one: año
7
- other: años
8
- month:
9
- one: mes
10
- other: meses
11
- week:
12
- one: semana
13
- other: semanas
14
- day:
15
- one: día
16
- other: dias
17
- hour:
18
- one: hora
19
- other: horas
20
- minute:
21
- one: minuto
22
- other: minutos
23
- second:
24
- one: segundo
25
- other: segundos