liri 0.3.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.
- checksums.yaml +4 -4
- data/.gitignore +2 -2
- data/Gemfile.lock +14 -7
- data/Rakefile +5 -0
- data/lib/agent/agent.rb +74 -41
- data/lib/all_libraries.rb +3 -0
- data/lib/common/benchmarking.rb +2 -8
- data/lib/common/compressor/zip.rb +3 -2
- data/lib/common/duration.rb +28 -0
- data/lib/common/hardware.rb +29 -0
- data/lib/common/log.rb +59 -17
- data/lib/common/progressbar.rb +3 -3
- data/lib/common/source_code.rb +2 -2
- data/lib/common/tests_result.rb +28 -16
- data/lib/common/text_time_parser.rb +6 -2
- data/lib/common/tty_progressbar.rb +70 -0
- data/lib/common/unit_test/rspec_result_parser.rb +10 -0
- data/lib/hash_extend.rb +7 -0
- data/lib/liri.rb +23 -23
- data/lib/manager/credential.rb +14 -0
- data/lib/manager/manager.rb +375 -133
- data/lib/task.rb +1 -1
- data/liri.gemspec +6 -6
- data/template/liri-config.yml +74 -36
- metadata +12 -10
- data/config/locales/to_duration_es.yml +0 -25
data/lib/task.rb
CHANGED
@@ -6,7 +6,7 @@ module Liri
|
|
6
6
|
module Task
|
7
7
|
class << self
|
8
8
|
def tests_files(source_code_folder_path)
|
9
|
-
source_code = Liri::Common::SourceCode.new(source_code_folder_path,
|
9
|
+
source_code = Liri::Common::SourceCode.new(source_code_folder_path,"", "", Liri.compression_class, Liri.unit_test_class)
|
10
10
|
source_code.all_tests
|
11
11
|
end
|
12
12
|
|
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
|
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('
|
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')
|
data/template/liri-config.yml
CHANGED
@@ -1,37 +1,75 @@
|
|
1
1
|
# Este archivo .yml define ciertas configuraciones para la ejecución del sistema
|
2
|
-
#
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
#
|
28
|
-
|
29
|
-
|
30
|
-
# Configuración
|
31
|
-
#
|
32
|
-
|
33
|
-
|
34
|
-
#
|
35
|
-
|
36
|
-
#
|
37
|
-
|
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.
|
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-
|
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:
|
71
|
+
name: chronic_duration
|
72
72
|
requirement: !ruby/object:Gem::Requirement
|
73
73
|
requirements:
|
74
74
|
- - "~>"
|
75
75
|
- !ruby/object:Gem::Version
|
76
|
-
version: '
|
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: '
|
83
|
+
version: '0'
|
84
84
|
- !ruby/object:Gem::Dependency
|
85
|
-
name:
|
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:
|
99
|
+
name: tty-progressbar
|
100
100
|
requirement: !ruby/object:Gem::Requirement
|
101
101
|
requirements:
|
102
102
|
- - "~>"
|
103
103
|
- !ruby/object:Gem::Version
|
104
|
-
version: '
|
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: '
|
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
|
@@ -186,6 +185,8 @@ files:
|
|
186
185
|
- lib/all_libraries.rb
|
187
186
|
- lib/common/benchmarking.rb
|
188
187
|
- lib/common/compressor/zip.rb
|
188
|
+
- lib/common/duration.rb
|
189
|
+
- lib/common/hardware.rb
|
189
190
|
- lib/common/log.rb
|
190
191
|
- lib/common/manager_data.rb
|
191
192
|
- lib/common/progressbar.rb
|
@@ -193,6 +194,7 @@ files:
|
|
193
194
|
- lib/common/source_code.rb
|
194
195
|
- lib/common/tests_result.rb
|
195
196
|
- lib/common/text_time_parser.rb
|
197
|
+
- lib/common/tty_progressbar.rb
|
196
198
|
- lib/common/unit_test/rspec.rb
|
197
199
|
- lib/common/unit_test/rspec_result_parser.rb
|
198
200
|
- lib/exe/agent.rb
|
@@ -1,25 +0,0 @@
|
|
1
|
-
es:
|
2
|
-
to_duration:
|
3
|
-
and: y
|
4
|
-
less_than_one_second: < 1s
|
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
|
16
|
-
other: d
|
17
|
-
hour:
|
18
|
-
one: h
|
19
|
-
other: h
|
20
|
-
minute:
|
21
|
-
one: m
|
22
|
-
other: m
|
23
|
-
second:
|
24
|
-
one: s
|
25
|
-
other: s
|