mumuki-python-runner 1.10.2 → 1.12.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/base/query_hook.rb +1 -0
- data/lib/base/test_hook.rb +28 -3
- data/lib/base/version.rb +4 -4
- data/xce/colab/en/README.md +1 -1
- data/xce/colab/es-ar/README.md +1 -1
- data/xce/colab/pt/README.md +1 -1
- data/xce/visual_studio/en/README.md +1 -1
- data/xce/visual_studio/es-ar/README.md +1 -1
- data/xce/visual_studio/pt/README.md +1 -1
- metadata +5 -11
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5da2caaa7b7e90d3ec1516a5e0bd5450924978e4b8373114a1616e8713da3d59
|
4
|
+
data.tar.gz: 4b30fbffe7fc06c373485d50f7538eea34b9ba7ee4398b7949dcb0d2806dfd16
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 21336417b1003c387622f375b8d7f3942453c7b1072cc2077aaf9daf4c1aa074f9984290cb6e028e33718b541a3145e0c13eef817b6956add3705eabbf158e04
|
7
|
+
data.tar.gz: 7ab3f25cc8ee5ce1c30094e6eb42c7f69e0c320d6f27759f2d103d8e37fc44fa95b56e6cade0ed4b27b5c0588d2b720a5ea4be789ea60b0a8b6a2b34d08d6bab
|
data/lib/base/query_hook.rb
CHANGED
data/lib/base/test_hook.rb
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
class BasePythonTestHook < Mumukit::Templates::FileHook
|
2
2
|
isolated true
|
3
|
+
line_number_offset 8, include_extra: true
|
3
4
|
|
4
5
|
def tempfile_extension
|
5
6
|
'.py'
|
@@ -16,6 +17,7 @@ class BasePythonTestHook < Mumukit::Templates::FileHook
|
|
16
17
|
import unittest
|
17
18
|
import xmlrunner
|
18
19
|
import sys
|
20
|
+
from datetime import datetime, date
|
19
21
|
|
20
22
|
#{request.extra}
|
21
23
|
#{request.content}
|
@@ -39,6 +41,14 @@ python
|
|
39
41
|
[output, :errored]
|
40
42
|
end
|
41
43
|
|
44
|
+
def line_number_reference_regexp
|
45
|
+
/"#{masked_tempfile_path}", line (\d+)/m
|
46
|
+
end
|
47
|
+
|
48
|
+
def rebuild_line_number_reference(new_line_number)
|
49
|
+
"\"#{masked_tempfile_path}\", line #{new_line_number}"
|
50
|
+
end
|
51
|
+
|
42
52
|
private
|
43
53
|
|
44
54
|
def test_class(test)
|
@@ -57,16 +67,31 @@ python
|
|
57
67
|
failure = test_case.xpath('failure', 'error')
|
58
68
|
error = failure.attribute('type')
|
59
69
|
message = failure.attribute('message')
|
70
|
+
assertion_error_message = try_extract_assertion_error(failure)
|
60
71
|
|
61
72
|
[
|
62
73
|
format_test_name(test_case.attribute('name').to_s),
|
63
74
|
error.nil? ? :passed: :failed,
|
64
|
-
error.nil? ? '' : "#{error}: #{message}"
|
75
|
+
error.nil? ? '' : "#{error}: #{assertion_error_message || message}"
|
65
76
|
]
|
66
77
|
end
|
67
78
|
|
79
|
+
def try_extract_assertion_error(failure)
|
80
|
+
failure.text.split("AssertionError: ")[1]&.rstrip.try do |it|
|
81
|
+
it.each_line.count > 1 ? it + "\n" : it
|
82
|
+
end
|
83
|
+
end
|
84
|
+
|
68
85
|
def format_test_name(name)
|
69
|
-
name
|
86
|
+
name
|
87
|
+
.sub('test_', '')
|
88
|
+
.gsub('__PL__', '(')
|
89
|
+
.gsub('__PR__', ')')
|
90
|
+
.gsub('__DT__', '.')
|
91
|
+
.gsub('__CM__', ',')
|
92
|
+
.gsub('__QT__', '\'')
|
93
|
+
.gsub('__DQ__', '"')
|
94
|
+
.gsub('_', ' ')
|
95
|
+
.capitalize
|
70
96
|
end
|
71
97
|
end
|
72
|
-
|
data/lib/base/version.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
|
2
|
-
module BasePythonVersionHook
|
3
|
-
VERSION = '1.
|
4
|
-
end
|
1
|
+
|
2
|
+
module BasePythonVersionHook
|
3
|
+
VERSION = '1.12.0'
|
4
|
+
end
|
data/xce/colab/en/README.md
CHANGED
@@ -7,7 +7,7 @@ In order to solve exercises like this, you will need to create an account and lo
|
|
7
7
|
First, create a cell with the following code:
|
8
8
|
|
9
9
|
```python
|
10
|
-
!pip install mumuki-xce
|
10
|
+
!pip install mumuki-xce --quiet
|
11
11
|
|
12
12
|
from mumuki import IMumuki
|
13
13
|
mumuki = IMumuki("#...token...#", "#...locale...#")
|
data/xce/colab/es-ar/README.md
CHANGED
@@ -7,7 +7,7 @@ Para poder resolver ejercicios como éste, necesitarás ingresar a [`Colab`](htt
|
|
7
7
|
Primero, creá una celda con el siguiente código:
|
8
8
|
|
9
9
|
```python
|
10
|
-
!pip install mumuki-xce
|
10
|
+
!pip install mumuki-xce --quiet
|
11
11
|
|
12
12
|
from mumuki import IMumuki
|
13
13
|
mumuki = IMumuki("#...token...#", "#...locale...#")
|
data/xce/colab/pt/README.md
CHANGED
@@ -7,7 +7,7 @@ Para resolver exercícios como este, você precisará fazer login no [`Colab`](h
|
|
7
7
|
Primeiro, crie uma célula com o seguinte código:
|
8
8
|
|
9
9
|
```python
|
10
|
-
!pip install mumuki-xce
|
10
|
+
!pip install mumuki-xce --quiet
|
11
11
|
|
12
12
|
from mumuki import IMumuki
|
13
13
|
mumuki = IMumuki("#...token...#", "#. . .locale...#")
|
@@ -3,7 +3,7 @@
|
|
3
3
|
You will need to use `python` and `pip` in order to solve exercises like this. Please ensure you have those commands locally installed in your computer. Then install `mumuki-xce`:
|
4
4
|
|
5
5
|
```shell
|
6
|
-
pip install mumuki-xce
|
6
|
+
pip install mumuki-xce --quiet
|
7
7
|
```
|
8
8
|
|
9
9
|
Now you are ready to solve exercises!
|
@@ -3,7 +3,7 @@
|
|
3
3
|
Para poder resolver ejercicios como éste, necesitarás utilizar los comandos `python` y `pip`. Antes de comenzar, asegurate de tenerlos instalados. Después, ejecutá el siguiente comando, por única vez (si ya lo hiciste anteriormente, podés saltar al siguente paso):
|
4
4
|
|
5
5
|
```shell
|
6
|
-
pip install mumuki-xce
|
6
|
+
pip install mumuki-xce --quiet
|
7
7
|
```
|
8
8
|
|
9
9
|
¡Ya podés empezar a resolver ejercicios!
|
@@ -3,7 +3,7 @@
|
|
3
3
|
Para resolver exercícios como este, você precisará usar os comandos `python` e `pip`. Antes de começar, certifique-se de tê-los instalados. Então, execute o seguinte comando, apenas uma vez (se você já fez isso antes, você pode pular para o próximo passo):
|
4
4
|
|
5
5
|
```shell
|
6
|
-
pip install mumuki-xce
|
6
|
+
pip install mumuki-xce --quiet
|
7
7
|
```
|
8
8
|
|
9
9
|
Agora você pode começar a resolver os exercícios!
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mumuki-python-runner
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.12.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Franco Leonardo Bulgarelli
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2023-03-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: mumukit
|
@@ -30,20 +30,14 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '6.
|
34
|
-
- - ">="
|
35
|
-
- !ruby/object:Gem::Version
|
36
|
-
version: 6.0.8
|
33
|
+
version: '6.10'
|
37
34
|
type: :runtime
|
38
35
|
prerelease: false
|
39
36
|
version_requirements: !ruby/object:Gem::Requirement
|
40
37
|
requirements:
|
41
38
|
- - "~>"
|
42
39
|
- !ruby/object:Gem::Version
|
43
|
-
version: '6.
|
44
|
-
- - ">="
|
45
|
-
- !ruby/object:Gem::Version
|
46
|
-
version: 6.0.8
|
40
|
+
version: '6.10'
|
47
41
|
- !ruby/object:Gem::Dependency
|
48
42
|
name: bundler
|
49
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -182,7 +176,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
182
176
|
- !ruby/object:Gem::Version
|
183
177
|
version: '0'
|
184
178
|
requirements: []
|
185
|
-
rubygems_version: 3.
|
179
|
+
rubygems_version: 3.1.6
|
186
180
|
signing_key:
|
187
181
|
specification_version: 4
|
188
182
|
summary: Python Runner for Mumuki
|