mumuki-python-runner 1.4.0 → 1.5.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e612f940397a2348ef6d4c158bcbed0a3717de566d041c14adcbf80e96dfef4a
4
- data.tar.gz: 7c54b548c81131d82db8ee1bdc57eb6cd11e416d9ba3096ef99740f245c19608
3
+ metadata.gz: b96184406c101c4a7b9e627936c5b4a06fa263b5a9de6a3e3f78a0a62f78499b
4
+ data.tar.gz: d6f7a4575bded83c5f11c368c5aefe0a0b2d93bc3678bcf11b213eee03c2a5bf
5
5
  SHA512:
6
- metadata.gz: fbf8986fe189ce8a4b7ece4d851aefd0db54ec44fb322085121a703b1acc62d4172fadd09d38eba19b972079c346035c30d800bf19b70c96f65463b208d19158
7
- data.tar.gz: 75fb4c21302155911644257a2738ce5cfd23f5d81fe3c02051c0a41d91f115cad1acc8e4047c496f140f1035dbba659f6cf99f8a1670e08ef7bb0c1191ab75a7
6
+ metadata.gz: 42aeb75b306a206b0d70dbbfee375b687871db2d16f392bdd47c0ce9f7010f79968608542fc0d2e94747dc45600d2736f720784f9ae6a120f8a9bb1cae1b41fa
7
+ data.tar.gz: 222ba1f7dd0b7096e79eb5723bc08c05af42bbdbc77696d6660a724cf110312b3678ca95114bde71fc71046525e41790f166972bdc9314e29801d3ed4c5c29ae
data/lib/base.rb ADDED
@@ -0,0 +1,10 @@
1
+ require 'mumukit'
2
+ require 'nokogiri'
3
+
4
+ I18n.load_translations_path File.join(__dir__, 'locales', '*.yml')
5
+
6
+ require_relative './base/version'
7
+ require_relative './base/test_hook'
8
+ require_relative './base/query_hook'
9
+ require_relative './base/expectations_hook'
10
+ require_relative './base/metadata_hook'
@@ -0,0 +1,15 @@
1
+ class BasePythonExpectationsHook < Mumukit::Templates::MulangExpectationsHook
2
+ include_smells true
3
+
4
+ def default_smell_exceptions
5
+ LOGIC_SMELLS + FUNCTIONAL_SMELLS
6
+ end
7
+
8
+ def domain_language
9
+ {
10
+ caseStyle: 'RubyCase',
11
+ minimumIdentifierSize: 3,
12
+ jargon: []
13
+ }
14
+ end
15
+ end
@@ -1,9 +1,9 @@
1
- class PythonMetadataHook < Mumukit::Hook
1
+ class BasePythonMetadataHook < Mumukit::Hook
2
2
  def metadata
3
3
  {language: {
4
4
  name: 'python',
5
5
  icon: {type: 'devicon', name: 'python'},
6
- version: '2.7.6',
6
+ version: version,
7
7
  extension: 'py',
8
8
  ace_mode: 'python'
9
9
  },
@@ -18,4 +18,6 @@ class Test(unittest.TestCase):
18
18
  python
19
19
  }}
20
20
  end
21
- end
21
+
22
+ required :version
23
+ end
@@ -1,4 +1,4 @@
1
- class PythonQueryHook < Mumukit::Templates::FileHook
1
+ class BasePythonQueryHook < Mumukit::Templates::FileHook
2
2
  with_error_patterns
3
3
  isolated true
4
4
 
@@ -8,6 +8,7 @@ class PythonQueryHook < Mumukit::Templates::FileHook
8
8
 
9
9
  def compile_file_content(req)
10
10
  <<python
11
+ # -*- coding: UTF-8 -*-
11
12
  import string, sys, os
12
13
 
13
14
  #{req.extra}
@@ -1,4 +1,4 @@
1
- class PythonTestHook < Mumukit::Templates::FileHook
1
+ class BasePythonTestHook < Mumukit::Templates::FileHook
2
2
  isolated true
3
3
 
4
4
  def tempfile_extension
@@ -6,11 +6,13 @@ class PythonTestHook < Mumukit::Templates::FileHook
6
6
  end
7
7
 
8
8
  def command_line(filename)
9
- "python #{filename}"
9
+ "rununittest #{filename}"
10
10
  end
11
11
 
12
12
  def compile_file_content(request)
13
13
  <<python
14
+ # -*- coding: UTF-8 -*-
15
+
14
16
  import unittest
15
17
  import xmlrunner
16
18
  import sys
@@ -20,7 +22,7 @@ import sys
20
22
  #{test_class(request.test)}
21
23
 
22
24
  unittest.main(
23
- testRunner=xmlrunner.XMLTestRunner(output=sys.__stdout__),
25
+ testRunner=xmlrunner.XMLTestRunner(output='./xml-unittest-output'),
24
26
  failfast=False,
25
27
  buffer=False,
26
28
  catchbreak=False
@@ -0,0 +1,3 @@
1
+ module BasePythonVersionHook
2
+ VERSION = '1.5.0'
3
+ end
@@ -0,0 +1,5 @@
1
+ class Python2ExpectationsHook < BasePythonExpectationsHook
2
+ def language
3
+ 'Python2'
4
+ end
5
+ end
@@ -0,0 +1,8 @@
1
+ class Python2MetadataHook < BasePythonMetadataHook
2
+ def version
3
+ '2.7.16'
4
+ end
5
+ end
6
+
7
+ PythonMetadataHook = Python2MetadataHook
8
+
@@ -0,0 +1,4 @@
1
+ class Python2QueryHook < BasePythonQueryHook
2
+ end
3
+
4
+ PythonQueryHook = Python2QueryHook
@@ -0,0 +1,4 @@
1
+ class Python2TestHook < BasePythonTestHook
2
+ end
3
+
4
+ PythonTestHook = Python2TestHook
@@ -0,0 +1,3 @@
1
+ Python2VersionHook = BasePythonVersionHook
2
+ PythonVersionHook = Python2VersionHook
3
+
@@ -0,0 +1,18 @@
1
+ require_relative './base'
2
+
3
+ def reload_python2_runner!
4
+ Mumukit.runner_name = 'python'
5
+ Mumukit.configure do |config|
6
+ config.docker_image = 'mumuki/mumuki-python2-worker:0.1'
7
+ config.stateful = true
8
+ end
9
+ end
10
+
11
+ # for testing only
12
+ reload_python2_runner!
13
+
14
+ require_relative './python2/version'
15
+ require_relative './python2/test_hook'
16
+ require_relative './python2/query_hook'
17
+ require_relative './python2/expectations_hook'
18
+ require_relative './python2/metadata_hook'
@@ -0,0 +1,5 @@
1
+ class Python3ExpectationsHook < BasePythonExpectationsHook
2
+ def language
3
+ 'Python3'
4
+ end
5
+ end
@@ -0,0 +1,6 @@
1
+ class Python3MetadataHook < BasePythonMetadataHook
2
+ def version
3
+ '3.7.3'
4
+ end
5
+ end
6
+
@@ -0,0 +1,2 @@
1
+ class Python3QueryHook < BasePythonQueryHook
2
+ end
@@ -0,0 +1,2 @@
1
+ class Python3TestHook < BasePythonTestHook
2
+ end
@@ -0,0 +1 @@
1
+ Python3VersionHook = BasePythonVersionHook
@@ -0,0 +1,18 @@
1
+ require_relative './base'
2
+
3
+ def reload_python3_runner!
4
+ Mumukit.runner_name = 'python3'
5
+ Mumukit.configure do |config|
6
+ config.docker_image = 'mumuki/mumuki-python3-worker:0.1'
7
+ config.stateful = true
8
+ end
9
+ end
10
+
11
+ # for testing only
12
+ reload_python3_runner!
13
+
14
+ require_relative './python3/version'
15
+ require_relative './python3/test_hook'
16
+ require_relative './python3/query_hook'
17
+ require_relative './python3/expectations_hook'
18
+ require_relative './python3/metadata_hook'
data/lib/python_runner.rb CHANGED
@@ -1,15 +1 @@
1
- require 'mumukit'
2
- require 'nokogiri'
3
-
4
- I18n.load_translations_path File.join(__dir__, 'locales', '*.yml')
5
-
6
- Mumukit.runner_name = 'python'
7
- Mumukit.configure do |config|
8
- config.docker_image = 'mumuki/mumuki-python-worker:1.1'
9
- config.stateful = true
10
- end
11
-
12
- require_relative 'version'
13
- require_relative 'test_hook'
14
- require_relative 'query_hook'
15
- require_relative 'metadata_hook'
1
+ require_relative './python2_runner'
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.0
4
+ version: 1.5.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: 2019-02-26 00:00:00.000000000 Z
11
+ date: 2019-05-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: mumukit
@@ -24,6 +24,20 @@ dependencies:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '2.30'
27
+ - !ruby/object:Gem::Dependency
28
+ name: mulang
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '4.5'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '4.5'
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: bundler
29
43
  requirement: !ruby/object:Gem::Requirement
@@ -115,14 +129,28 @@ executables: []
115
129
  extensions: []
116
130
  extra_rdoc_files: []
117
131
  files:
132
+ - lib/base.rb
133
+ - lib/base/expectations_hook.rb
134
+ - lib/base/metadata_hook.rb
135
+ - lib/base/query_hook.rb
136
+ - lib/base/test_hook.rb
137
+ - lib/base/version.rb
118
138
  - lib/locales/en.yml
119
139
  - lib/locales/es.yml
120
- - lib/metadata_hook.rb
140
+ - lib/python2/expectations_hook.rb
141
+ - lib/python2/metadata_hook.rb
142
+ - lib/python2/query_hook.rb
143
+ - lib/python2/test_hook.rb
144
+ - lib/python2/version.rb
145
+ - lib/python2_runner.rb
146
+ - lib/python3/expectations_hook.rb
147
+ - lib/python3/metadata_hook.rb
148
+ - lib/python3/query_hook.rb
149
+ - lib/python3/test_hook.rb
150
+ - lib/python3/version.rb
151
+ - lib/python3_runner.rb
121
152
  - lib/python_runner.rb
122
- - lib/query_hook.rb
123
- - lib/test_hook.rb
124
- - lib/version.rb
125
- homepage: http://github.com/mumuki/mumuki-python-server
153
+ homepage: http://github.com/mumuki/mumuki-python-runner
126
154
  licenses:
127
155
  - MIT
128
156
  metadata: {}
@@ -141,7 +169,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
141
169
  - !ruby/object:Gem::Version
142
170
  version: '0'
143
171
  requirements: []
144
- rubygems_version: 3.0.2
172
+ rubygems_version: 3.0.3
145
173
  signing_key:
146
174
  specification_version: 4
147
175
  summary: Python Runner for Mumuki
data/lib/version.rb DELETED
@@ -1,3 +0,0 @@
1
- module PythonVersionHook
2
- VERSION = '1.4.0'
3
- end