liri 0.2.1 → 0.4.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/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