Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
slapos
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Labels
Merge Requests
104
Merge Requests
104
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Jobs
Commits
Open sidebar
nexedi
slapos
Commits
4056fa7e
Commit
4056fa7e
authored
Sep 27, 2020
by
Jérome Perrin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
software/theia: include a CSS to enable more fonts
parent
7803ee1c
Changes
6
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
328 additions
and
15 deletions
+328
-15
software/theia/buildout.hash.cfg
software/theia/buildout.hash.cfg
+9
-1
software/theia/instance.cfg.in
software/theia/instance.cfg.in
+20
-1
software/theia/preloadTemplate.html
software/theia/preloadTemplate.html
+6
-0
software/theia/slapos.css.in
software/theia/slapos.css.in
+260
-0
software/theia/software.cfg
software/theia/software.cfg
+21
-12
software/theia/test/test.py
software/theia/test/test.py
+12
-1
No files found.
software/theia/buildout.hash.cfg
View file @
4056fa7e
...
@@ -15,7 +15,7 @@
...
@@ -15,7 +15,7 @@
[instance]
[instance]
filename = instance.cfg.in
filename = instance.cfg.in
md5sum =
f95354d4af4a78ad7fd11ebc9281ed19
md5sum =
3bc174f9ec19721ab21491eb51cc45b7
[yarn.lock]
[yarn.lock]
filename = yarn.lock
filename = yarn.lock
...
@@ -24,3 +24,11 @@ md5sum = d058e73c3d90ac3da44734c2d47eac95
...
@@ -24,3 +24,11 @@ md5sum = d058e73c3d90ac3da44734c2d47eac95
[python-language-server-requirements.txt]
[python-language-server-requirements.txt]
filename = python-language-server-requirements.txt
filename = python-language-server-requirements.txt
md5sum = d2ce161244ce9ebce5295302a1b2a7df
md5sum = d2ce161244ce9ebce5295302a1b2a7df
[preloadTemplate.html]
filename = preloadTemplate.html
md5sum = 8157c22134200bd862a07c6521ebf799
[slapos.css.in]
filename = slapos.css.in
md5sum = 456dd5931e7c86456c69af062a2d2368
software/theia/instance.cfg.in
View file @
4056fa7e
...
@@ -54,7 +54,7 @@ template = inline:
...
@@ -54,7 +54,7 @@ template = inline:
root $${directory:frontend-static}
root $${directory:frontend-static}
browse
browse
proxy / $${theia-instance:base-url} {
proxy / $${theia-instance:base-url} {
except public $${favicon.ico:filename}
except
$${frontend-instance-fonts:folder-name} $${frontend-instance-slapos.css:folder-name}
public $${favicon.ico:filename}
}
}
proxy /services $${theia-instance:base-url} {
proxy /services $${theia-instance:base-url} {
websocket
websocket
...
@@ -83,6 +83,24 @@ port = $${frontend-instance-config:port}
...
@@ -83,6 +83,24 @@ port = $${frontend-instance-config:port}
pidfile = $${directory:pidfiles}/$${:_buildout_section_name_}.pid
pidfile = $${directory:pidfiles}/$${:_buildout_section_name_}.pid
url = https://$${:hostname}:$${:port}/
url = https://$${:hostname}:$${:port}/
[frontend-instance-fonts]
; XXX caddy 1 does not seem to serve different folders at different locations
; so we link fonts in static folder
recipe = plone.recipe.command
location = $${directory:frontend-static}/$${:folder-name}
folder-name = fonts
command =
mkdir $${:location}
ln -s ${source-code-pro-fonts:location} $${:location}/source-code-pro
ln -s ${jetbrains-mono-fonts:location} $${:location}/jetbrains-mono
stop-on-error = true
[frontend-instance-slapos.css]
recipe = slapos.recipe.template:jinja2
template = ${slapos.css.in:output}
rendered = $${directory:frontend-static}/$${:folder-name}/slapos.css
folder-name = css
[frontend-reload]
[frontend-reload]
recipe = slapos.cookbook:wrapper
recipe = slapos.cookbook:wrapper
wrapper-path = $${directory:services}/$${:_buildout_section_name_}
wrapper-path = $${directory:services}/$${:_buildout_section_name_}
...
@@ -323,3 +341,4 @@ project = $${:srv}/project
...
@@ -323,3 +341,4 @@ project = $${:srv}/project
slapos = $${:srv}/slapos
slapos = $${:srv}/slapos
frontend-static = $${:srv}/frontend-static
frontend-static = $${:srv}/frontend-static
frontend-static-public = $${:frontend-static}/public
frontend-static-public = $${:frontend-static}/public
frontend-static-css = $${:frontend-static}/css
software/theia/preloadTemplate.html
0 → 100644
View file @
4056fa7e
<script>
let
link
=
document
.
createElement
(
'
link
'
);
link
.
rel
=
"
stylesheet
"
;
link
.
href
=
"
/css/slapos.css
"
;
document
.
head
.
appendChild
(
link
);
</script>
\ No newline at end of file
software/theia/slapos.css.in
0 → 100644
View file @
4056fa7e
/* Source Code Pro */
@font-face{
font-family: 'Source Code Pro';
font-weight: 200;
font-style: normal;
font-stretch: normal;
src: url('/fonts/source-code-pro/WOFF2/TTF/SourceCodePro-ExtraLight.ttf.woff2') format('woff2'),
url('/fonts/source-code-pro/WOFF/OTF/SourceCodePro-ExtraLight.otf.woff') format('woff'),
url('/fonts/source-code-pro/OTF/SourceCodePro-ExtraLight.otf') format('opentype'),
url('/fonts/source-code-pro/TTF/SourceCodePro-ExtraLight.ttf') format('truetype');
}
@font-face{
font-family: 'Source Code Pro';
font-weight: 200;
font-style: italic;
font-stretch: normal;
src: url('/fonts/source-code-pro/WOFF2/TTF/SourceCodePro-ExtraLightIt.ttf.woff2') format('woff2'),
url('/fonts/source-code-pro/WOFF/OTF/SourceCodePro-ExtraLightIt.otf.woff') format('woff'),
url('/fonts/source-code-pro/OTF/SourceCodePro-ExtraLightIt.otf') format('opentype'),
url('/fonts/source-code-pro/TTF/SourceCodePro-ExtraLightIt.ttf') format('truetype');
}
@font-face{
font-family: 'Source Code Pro';
font-weight: 300;
font-style: normal;
font-stretch: normal;
src: url('/fonts/source-code-pro/WOFF2/TTF/SourceCodePro-Light.ttf.woff2') format('woff2'),
url('/fonts/source-code-pro/WOFF/OTF/SourceCodePro-Light.otf.woff') format('woff'),
url('/fonts/source-code-pro/OTF/SourceCodePro-Light.otf') format('opentype'),
url('/fonts/source-code-pro/TTF/SourceCodePro-Light.ttf') format('truetype');
}
@font-face{
font-family: 'Source Code Pro';
font-weight: 300;
font-style: italic;
font-stretch: normal;
src: url('/fonts/source-code-pro/WOFF2/TTF/SourceCodePro-LightIt.ttf.woff2') format('woff2'),
url('/fonts/source-code-pro/WOFF/OTF/SourceCodePro-LightIt.otf.woff') format('woff'),
url('/fonts/source-code-pro/OTF/SourceCodePro-LightIt.otf') format('opentype'),
url('/fonts/source-code-pro/TTF/SourceCodePro-LightIt.ttf') format('truetype');
}
@font-face{
font-family: 'Source Code Pro';
font-weight: 400;
font-style: normal;
font-stretch: normal;
src: url('/fonts/source-code-pro/WOFF2/TTF/SourceCodePro-Regular.ttf.woff2') format('woff2'),
url('/fonts/source-code-pro/WOFF/OTF/SourceCodePro-Regular.otf.woff') format('woff'),
url('/fonts/source-code-pro/OTF/SourceCodePro-Regular.otf') format('opentype'),
url('/fonts/source-code-pro/TTF/SourceCodePro-Regular.ttf') format('truetype');
}
@font-face{
font-family: 'Source Code Pro';
font-weight: 400;
font-style: italic;
font-stretch: normal;
src: url('/fonts/source-code-pro/WOFF2/TTF/SourceCodePro-It.ttf.woff2') format('woff2'),
url('/fonts/source-code-pro/WOFF/OTF/SourceCodePro-It.otf.woff') format('woff'),
url('/fonts/source-code-pro/OTF/SourceCodePro-It.otf') format('opentype'),
url('/fonts/source-code-pro/TTF/SourceCodePro-It.ttf') format('truetype');
}
@font-face{
font-family: 'Source Code Pro';
font-weight: 500;
font-style: normal;
font-stretch: normal;
src: url('/fonts/source-code-pro/WOFF2/TTF/SourceCodePro-Medium.ttf.woff2') format('woff2'),
url('/fonts/source-code-pro/WOFF/OTF/SourceCodePro-Medium.otf.woff') format('woff'),
url('/fonts/source-code-pro/OTF/SourceCodePro-Medium.otf') format('opentype'),
url('/fonts/source-code-pro/TTF/SourceCodePro-Medium.ttf') format('truetype');
}
@font-face{
font-family: 'Source Code Pro';
font-weight: 500;
font-style: italic;
font-stretch: normal;
src: url('/fonts/source-code-pro/WOFF2/TTF/SourceCodePro-MediumIt.ttf.woff2') format('woff2'),
url('/fonts/source-code-pro/WOFF/OTF/SourceCodePro-MediumIt.otf.woff') format('woff'),
url('/fonts/source-code-pro/OTF/SourceCodePro-MediumIt.otf') format('opentype'),
url('/fonts/source-code-pro/TTF/SourceCodePro-MediumIt.ttf') format('truetype');
}
@font-face{
font-family: 'Source Code Pro';
font-weight: 600;
font-style: normal;
font-stretch: normal;
src: url('/fonts/source-code-pro/WOFF2/TTF/SourceCodePro-Semibold.ttf.woff2') format('woff2'),
url('/fonts/source-code-pro/WOFF/OTF/SourceCodePro-Semibold.otf.woff') format('woff'),
url('/fonts/source-code-pro/OTF/SourceCodePro-Semibold.otf') format('opentype'),
url('/fonts/source-code-pro/TTF/SourceCodePro-Semibold.ttf') format('truetype');
}
@font-face{
font-family: 'Source Code Pro';
font-weight: 600;
font-style: italic;
font-stretch: normal;
src: url('/fonts/source-code-pro/WOFF2/TTF/SourceCodePro-SemiboldIt.ttf.woff2') format('woff2'),
url('/fonts/source-code-pro/WOFF/OTF/SourceCodePro-SemiboldIt.otf.woff') format('woff'),
url('/fonts/source-code-pro/OTF/SourceCodePro-SemiboldIt.otf') format('opentype'),
url('/fonts/source-code-pro/TTF/SourceCodePro-SemiboldIt.ttf') format('truetype');
}
@font-face{
font-family: 'Source Code Pro';
font-weight: 700;
font-style: normal;
font-stretch: normal;
src: url('/fonts/source-code-pro/WOFF2/TTF/SourceCodePro-Bold.ttf.woff2') format('woff2'),
url('/fonts/source-code-pro/WOFF/OTF/SourceCodePro-Bold.otf.woff') format('woff'),
url('/fonts/source-code-pro/OTF/SourceCodePro-Bold.otf') format('opentype'),
url('/fonts/source-code-pro/TTF/SourceCodePro-Bold.ttf') format('truetype');
}
@font-face{
font-family: 'Source Code Pro';
font-weight: 700;
font-style: italic;
font-stretch: normal;
src: url('/fonts/source-code-pro/WOFF2/TTF/SourceCodePro-BoldIt.ttf.woff2') format('woff2'),
url('/fonts/source-code-pro/WOFF/OTF/SourceCodePro-BoldIt.otf.woff') format('woff'),
url('/fonts/source-code-pro/OTF/SourceCodePro-BoldIt.otf') format('opentype'),
url('/fonts/source-code-pro/TTF/SourceCodePro-BoldIt.ttf') format('truetype');
}
@font-face{
font-family: 'Source Code Pro';
font-weight: 900;
font-style: normal;
font-stretch: normal;
src: url('/fonts/source-code-pro/WOFF2/TTF/SourceCodePro-Black.ttf.woff2') format('woff2'),
url('/fonts/source-code-pro/WOFF/OTF/SourceCodePro-Black.otf.woff') format('woff'),
url('/fonts/source-code-pro/OTF/SourceCodePro-Black.otf') format('opentype'),
url('/fonts/source-code-pro/TTF/SourceCodePro-Black.ttf') format('truetype');
}
@font-face{
font-family: 'Source Code Pro';
font-weight: 900;
font-style: italic;
font-stretch: normal;
src: url('/fonts/source-code-pro/WOFF2/TTF/SourceCodePro-BlackIt.ttf.woff2') format('woff2'),
url('/fonts/source-code-pro/WOFF/OTF/SourceCodePro-BlackIt.otf.woff') format('woff'),
url('/fonts/source-code-pro/OTF/SourceCodePro-BlackIt.otf') format('opentype'),
url('/fonts/source-code-pro/TTF/SourceCodePro-BlackIt.ttf') format('truetype');
}
/* JetBrains Mono */
/* CSS come from https://github.com/paleite/typeface-jetbrains-mono/blob/6cbded1fa6283c29b9e5d93e5c70f5702e17bc68/index.css */
/* JetBrainsMono-Bold-Italic - © 2000-2020 JetBrains s.r.o. Developed with drive and IntelliJ IDEA. */
@font-face {
font-family: "JetBrains Mono";
font-style: italic;
font-weight: 700;
font-feature-settings: "calt" 1, "zero" 1;
font-display: swap;
src: url("/fonts/jetbrains-mono/web/eot/JetBrainsMono-Bold-Italic.eot") format("embedded-opentype"),
url("/fonts/jetbrains-mono/web/woff2/JetBrainsMono-Bold-Italic.woff2") format("woff2"),
url("/fonts/jetbrains-mono/web/woff/JetBrainsMono-Bold-Italic.woff") format("woff"),
url("/fonts/jetbrains-mono/ttf/JetBrainsMono-Bold-Italic.ttf") format("truetype");
}
/* JetBrainsMono-Bold - © 2000-2020 JetBrains s.r.o. Developed with drive and IntelliJ IDEA. */
@font-face {
font-family: "JetBrains Mono";
font-style: normal;
font-weight: 700;
font-feature-settings: "calt" 1, "zero" 1;
font-display: swap;
src: url("/fonts/jetbrains-mono/web/eot/JetBrainsMono-Bold.eot") format("embedded-opentype"),
url("/fonts/jetbrains-mono/web/woff2/JetBrainsMono-Bold.woff2") format("woff2"),
url("/fonts/jetbrains-mono/web/woff/JetBrainsMono-Bold.woff") format("woff"),
url("/fonts/jetbrains-mono/ttf/JetBrainsMono-Bold.ttf") format("truetype");
}
/* JetBrainsMono-ExtraBold-Italic - © 2000-2020 JetBrains s.r.o. Developed with drive and IntelliJ IDEA. */
@font-face {
font-family: "JetBrains Mono ExtraBold";
font-style: italic;
font-weight: 800;
font-feature-settings: "calt" 1, "zero" 1;
font-display: swap;
src: url("/fonts/jetbrains-mono/web/eot/JetBrainsMono-ExtraBold-Italic.eot") format("embedded-opentype"),
url("/fonts/jetbrains-mono/web/woff2/JetBrainsMono-ExtraBold-Italic.woff2") format("woff2"),
url("/fonts/jetbrains-mono/web/woff/JetBrainsMono-ExtraBold-Italic.woff") format("woff"),
url("/fonts/jetbrains-mono/ttf/JetBrainsMono-ExtraBold-Italic.ttf") format("truetype");
}
/* JetBrainsMono-ExtraBold - © 2000-2020 JetBrains s.r.o. Developed with drive and IntelliJ IDEA. */
@font-face {
font-family: "JetBrains Mono ExtraBold";
font-style: normal;
font-weight: 800;
font-feature-settings: "calt" 1, "zero" 1;
font-display: swap;
src: url("/fonts/jetbrains-mono/web/eot/JetBrainsMono-ExtraBold.eot") format("embedded-opentype"),
url("/fonts/jetbrains-mono/web/woff2/JetBrainsMono-ExtraBold.woff2") format("woff2"),
url("/fonts/jetbrains-mono/web/woff/JetBrainsMono-ExtraBold.woff") format("woff"),
url("/fonts/jetbrains-mono/ttf/JetBrainsMono-ExtraBold.ttf") format("truetype");
}
/* JetBrainsMono-Italic - © 2000-2020 JetBrains s.r.o. Developed with drive and IntelliJ IDEA. */
@font-face {
font-family: "JetBrains Mono";
font-style: italic;
font-weight: 400;
font-feature-settings: "calt" 1, "zero" 1;
font-display: swap;
src: url("/fonts/jetbrains-mono/web/eot/JetBrainsMono-Italic.eot") format("embedded-opentype"),
url("/fonts/jetbrains-mono/web/woff2/JetBrainsMono-Italic.woff2") format("woff2"),
url("/fonts/jetbrains-mono/web/woff/JetBrainsMono-Italic.woff") format("woff"),
url("/fonts/jetbrains-mono/ttf/JetBrainsMono-Italic.ttf") format("truetype");
}
/* JetBrainsMono-Medium-Italic - © 2000-2020 JetBrains s.r.o. Developed with drive and IntelliJ IDEA. */
@font-face {
font-family: "JetBrains Mono Medium";
font-style: italic;
font-weight: 500;
font-feature-settings: "calt" 1, "zero" 1;
font-display: swap;
src: url("/fonts/jetbrains-mono/web/eot/JetBrainsMono-Medium-Italic.eot") format("embedded-opentype"),
url("/fonts/jetbrains-mono/web/woff2/JetBrainsMono-Medium-Italic.woff2") format("woff2"),
url("/fonts/jetbrains-mono/web/woff/JetBrainsMono-Medium-Italic.woff") format("woff"),
url("/fonts/jetbrains-mono/ttf/JetBrainsMono-Medium-Italic.ttf") format("truetype");
}
/* JetBrainsMono-Medium - © 2000-2020 JetBrains s.r.o. Developed with drive and IntelliJ IDEA. */
@font-face {
font-family: "JetBrains Mono Medium";
font-style: normal;
font-weight: 500;
font-feature-settings: "calt" 1, "zero" 1;
font-display: swap;
src: url("/fonts/jetbrains-mono/web/eot/JetBrainsMono-Medium.eot") format("embedded-opentype"),
url("/fonts/jetbrains-mono/web/woff2/JetBrainsMono-Medium.woff2") format("woff2"),
url("/fonts/jetbrains-mono/web/woff/JetBrainsMono-Medium.woff") format("woff"),
url("/fonts/jetbrains-mono/ttf/JetBrainsMono-Medium.ttf") format("truetype");
}
/* JetBrainsMono-Regular - © 2000-2020 JetBrains s.r.o. Developed with drive and IntelliJ IDEA. */
@font-face {
font-family: "JetBrains Mono";
font-style: normal;
font-weight: 400;
font-feature-settings: "calt" 1, "zero" 1;
font-display: swap;
src: url("/fonts/jetbrains-mono/web/eot/JetBrainsMono-Regular.eot") format("embedded-opentype"),
url("/fonts/jetbrains-mono/web/woff2/JetBrainsMono-Regular.woff2") format("woff2"),
url("/fonts/jetbrains-mono/web/woff/JetBrainsMono-Regular.woff") format("woff"),
url("/fonts/jetbrains-mono/ttf/JetBrainsMono-Regular.ttf") format("truetype");
}
software/theia/software.cfg
View file @
4056fa7e
...
@@ -11,6 +11,7 @@ extends =
...
@@ -11,6 +11,7 @@ extends =
../../component/curl/buildout.cfg
../../component/curl/buildout.cfg
../../component/coreutils/buildout.cfg
../../component/coreutils/buildout.cfg
../../component/java-jdk/buildout.cfg
../../component/java-jdk/buildout.cfg
../../component/fonts/buildout.cfg
../../stack/slapos.cfg
../../stack/slapos.cfg
../../stack/monitor/buildout.cfg
../../stack/monitor/buildout.cfg
../../component/defaults.cfg
../../component/defaults.cfg
...
@@ -116,6 +117,12 @@ eggs =
...
@@ -116,6 +117,12 @@ eggs =
supervisor
supervisor
setuptools
setuptools
[template-base]
recipe = slapos.recipe.template
url = ${:_profile_base_location_}/${:filename}
output = ${buildout:parts-directory}/${:_buildout_section_name_}
mode = 0644
[python-language-server]
[python-language-server]
version = 0.19.0
version = 0.19.0
recipe = plone.recipe.command
recipe = plone.recipe.command
...
@@ -127,11 +134,7 @@ location = ${buildout:parts-directory}/${:_buildout_section_name_}
...
@@ -127,11 +134,7 @@ location = ${buildout:parts-directory}/${:_buildout_section_name_}
stop-on-error = true
stop-on-error = true
[python-language-server-requirements.txt]
[python-language-server-requirements.txt]
recipe = slapos.recipe.template
<= template-base
url = ${:_profile_base_location_}/${:filename}
output = ${buildout:parts-directory}/${:_buildout_section_name_}
mode = 0644
[theia]
[theia]
recipe = plone.recipe.command
recipe = plone.recipe.command
...
@@ -152,10 +155,13 @@ uses = ${yarn.lock:recipe}
...
@@ -152,10 +155,13 @@ uses = ${yarn.lock:recipe}
THEIA_DEFAULT_PLUGINS = ${:location}/plugins/
THEIA_DEFAULT_PLUGINS = ${:location}/plugins/
[yarn.lock]
[yarn.lock]
recipe = slapos.recipe.template
<= template-base
url = ${:_profile_base_location_}/${:filename}
output = ${buildout:parts-directory}/${:_buildout_section_name_}
[preloadTemplate.html]
mode = 0644
<= template-base
[slapos.css.in]
<= template-base
[package.json]
[package.json]
recipe = slapos.recipe.template:jinja2
recipe = slapos.recipe.template:jinja2
...
@@ -193,6 +199,11 @@ template =
...
@@ -193,6 +199,11 @@ template =
"java.home": "${java-jdk:location}"
"java.home": "${java-jdk:location}"
}
}
}
}
},
"generator": {
"config": {
"preloadTemplate": "${preloadTemplate.html:output}"
}
}
}
},
},
"dependencies": {
"dependencies": {
...
@@ -345,9 +356,7 @@ template =
...
@@ -345,9 +356,7 @@ template =
[instance]
[instance]
recipe = slapos.recipe.template
<= template-base
url = ${:_profile_base_location_}/${:filename}
mode = 0644
output = ${buildout:directory}/instance.cfg
output = ${buildout:directory}/instance.cfg
[versions]
[versions]
...
...
software/theia/test/test.py
View file @
4056fa7e
...
@@ -32,6 +32,7 @@ import logging
...
@@ -32,6 +32,7 @@ import logging
import
subprocess
import
subprocess
import
tempfile
import
tempfile
import
time
import
time
import
re
from
six.moves.urllib.parse
import
urlparse
,
urljoin
from
six.moves.urllib.parse
import
urlparse
,
urljoin
import
pexpect
import
pexpect
...
@@ -81,6 +82,16 @@ class TestTheia(SlapOSInstanceTestCase):
...
@@ -81,6 +82,16 @@ class TestTheia(SlapOSInstanceTestCase):
self
.
assertEqual
(
requests
.
codes
.
ok
,
resp
.
status_code
)
self
.
assertEqual
(
requests
.
codes
.
ok
,
resp
.
status_code
)
self
.
assertTrue
(
resp
.
raw
)
self
.
assertTrue
(
resp
.
raw
)
# there is a CSS referencing fonts
css_text
=
requests
.
get
(
urljoin
(
authenticated_url
,
'/css/slapos.css'
),
verify
=
False
).
text
css_urls
=
re
.
findall
(
r'url\
([
\'"]+([^
\
)]+)[
\
'"
]
+
\
)
', css_text)
self.assertTrue(css_urls)
# and fonts are served
for url in css_urls:
resp = requests.get(urljoin(authenticated_url, url), verify=False)
self.assertEqual(requests.codes.ok, resp.status_code)
self.assertTrue(resp.raw)
def test_theia_slapos(self):
def test_theia_slapos(self):
# Make sure we can use the shell and the integrated slapos command
# Make sure we can use the shell and the integrated slapos command
process = pexpect.spawnu(
process = pexpect.spawnu(
...
@@ -134,7 +145,7 @@ class TestTheia(SlapOSInstanceTestCase):
...
@@ -134,7 +145,7 @@ class TestTheia(SlapOSInstanceTestCase):
process
.
wait
()
process
.
wait
()
def
test_theia_shell_execute_tasks
(
self
):
def
test_theia_shell_execute_tasks
(
self
):
# shell needs to understand -c "com
am
nd" arguments for theia tasks feature
# shell needs to understand -c "com
ma
nd" arguments for theia tasks feature
test_file
=
'{}/test file'
.
format
(
self
.
computer_partition_root_path
)
test_file
=
'{}/test file'
.
format
(
self
.
computer_partition_root_path
)
subprocess
.
check_call
([
subprocess
.
check_call
([
'{}/bin/theia-shell'
.
format
(
self
.
computer_partition_root_path
),
'{}/bin/theia-shell'
.
format
(
self
.
computer_partition_root_path
),
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment