Brian Gough
f41f3aba8c
Merge pull request #204 from overleaf/bg-use-output-dir
...
use separate output dir for generated files
2021-01-25 14:10:09 +00:00
Brian Gough
90c0d931ad
Merge pull request #201 from overleaf/bg-more-cleanup
...
decaff cleanup of OutputFileManager
2021-01-25 14:09:46 +00:00
Brian Gough
b5346658b0
clear output directory when clearing project
2021-01-22 11:05:52 +00:00
Jakob Ackermann
49b764a308
[misc] CompileController: exact match for output.pdf
...
The previous regex could mistake user provided pdf files, like
`fake_output.pdf`, as the final output file.
The frontend expects to find a `output.pdf` file on success.
2020-12-28 13:16:31 +00:00
Brian Gough
4169f7fc73
use once for callback
2020-12-18 15:28:06 +00:00
Eric Mc Sween
14e1e02a68
Test anonymous volumes are removed with containers
2020-09-04 11:34:08 -04:00
Eric Mc Sween
1c13f6fe94
Mount /home/tex in an anonymous volume
...
When we mount the container's root filesystem as read-only, mount
an anonymous volume in /home/tex so that it's writable. Our TeX Live
images have cached content in /home/tex. This content will automatically
get copied by Docker into this anonymous volume.
2020-09-04 08:49:56 -04:00
Jakob Ackermann
1d1b9ebebc
[misc] bump the dev-env to 3.3.2
2020-08-10 17:01:11 +01:00
Jakob Ackermann
0f9d0d9790
Merge pull request #183 from overleaf/jpa-clsi-allowed-image-names
...
[misc] RequestParser: restrict imageName to an allow list and add tests
2020-07-15 10:58:36 +02:00
Jakob Ackermann
cd87d3018e
[misc] fix formatting
2020-07-03 11:47:53 +01:00
Jakob Ackermann
a5c3bad7f1
[ExampleDocumentTests] drop out in case of an error during compilation
...
Signed-off-by: Jakob Ackermann <das7pad@outlook.com>
2020-07-03 11:38:12 +01:00
Jakob Ackermann
aa02df7b81
[misc] apply review feedback
...
- move setting into clsi.docker namespace
- rename the variable for images to allowedImages / ALLOWED_IMAGES
- add an additional check for the image name into the DockerRunner
Co-Authored-By: Brian Gough <brian.gough@overleaf.com>
2020-06-30 12:01:21 +01:00
Jakob Ackermann
c857371fed
[misc] wordcount: restrict image to an allow list and add tests
2020-06-26 13:28:12 +01:00
Jakob Ackermann
8846efe7ce
[misc] RequestParser: restrict imageName to an allow list and add tests
2020-06-26 13:28:09 +01:00
Brian Gough
bdebef91eb
Merge branch 'master' into bg-add-compile-groups
2020-06-17 11:58:26 +01:00
Brian Gough
f6fddf2944
Merge pull request #179 from overleaf/bg-fix-synctex-error
...
fix synctex error
2020-06-16 08:57:54 +01:00
Brian Gough
f41b4daca2
Merge branch 'master' into bg-use-lodash
2020-06-16 08:35:17 +01:00
Brian Gough
2ce03f0554
add initial compileGroup support
2020-06-15 15:28:53 +01:00
Brian Gough
262ea01911
add acceptance test for synctex when project/file does not exist
2020-06-15 10:55:01 +01:00
Brian Gough
ede70b6f99
migrate from underscore to lodash
2020-06-15 09:52:21 +01:00
Brian Gough
f99023320d
use json parsing in request
2020-06-12 15:15:51 +01:00
Tim Alby
d3ff214b88
partially revert "[DockerRunner] fix metric incrementing and error logging"
...
This reverts commits:
- 2b2fcca39ce8dee0fdc0c342aa0d6c822592bcec
- 9e82ab0890c5cc8c7fb95362c3f7edbcaad0cf29
- e3da458b376871c3ce72d6984d14bf1ee668b04b
2020-06-11 12:51:26 +02:00
Brian Gough
ce1f2e2bd4
fix broken unit test
2020-06-02 11:12:57 +01:00
Brian Gough
aa44bae222
fix eslint errors
2020-06-02 09:51:34 +01:00
Brian Gough
0de2933812
fix unreachable code lint error
2020-06-02 09:28:04 +01:00
Brian Gough
a3d27b63f1
fix formatting with make format_fix
2020-06-02 09:18:38 +01:00
Brian Gough
d9265b779f
Merge pull request #170 from overleaf/jpa-import-141
...
[DockerRunner] destroyOldContainers: fix a race confition
2020-06-02 09:04:59 +01:00
Brian Gough
59cd14e160
Merge pull request #169 from overleaf/bg-record-latexmk-output
...
record latexmk output
2020-06-02 09:03:43 +01:00
Jakob Ackermann
563a973388
[DockerRunner] destroyOldContainers: normalize the container name
...
The docker api returns each name with a `/` prefix.
In order to not interfere with pending compiles, the deletion process
has to acquire an internal lock on the container. The LockManager uses
the plain container name without the slash: `project-xxx`.
Signed-off-by: Jakob Ackermann <das7pad@outlook.com>
2020-05-29 11:28:26 +01:00
Brian Gough
6d5dfb7758
clean up log file deletion and add unit test
2020-05-20 14:12:08 +01:00
Brian Gough
a684619bce
add unit tests
2020-05-20 11:52:53 +01:00
Henry Oswald
5c3da905ba
Merge pull request #162 from overleaf/ta-jpa-epipe-retry
...
[DockerRunner] retry container inspect on EPIPE
2020-05-19 11:15:25 +01:00
Jakob Ackermann
2a3c2dd3d5
[misc] simplify the smoke test and process shutdown
2020-05-19 10:30:59 +01:00
Henry Oswald
2547725f35
Merge pull request #164 from overleaf/bg-fix-buffer-deprecations
...
fix deprecated usage of Buffer constructor
2020-05-19 10:26:56 +01:00
Henry Oswald
e9c6f3b074
Merge pull request #163 from overleaf/bg-use-encoding-on-process-output
...
set encoding when reading from streams
2020-05-19 10:26:26 +01:00
Henry Oswald
457b7d6657
Merge pull request #165 from overleaf/ho-retry-url-downloads
...
add pipeUrlToFileWithRetry for file downloads
2020-05-19 10:25:19 +01:00
Henry Oswald
3925839c7f
add refreshExpiryTimeout function
...
on clsi all data lives inside of / dir
dynamically reduce size of EXPIRY_TIMEOUT if disk starts to get full
2020-05-18 15:17:19 +01:00
Henry Oswald
77e8ba74a7
add pipeUrlToFileWithRetry function to retry file downloads 3 times
2020-05-14 13:24:58 +01:00
Brian Gough
4947abe88b
fix deprecated usage of Buffer constructor
2020-05-07 10:42:05 +01:00
Brian Gough
8e86f02c43
set encoding when reading from streams
...
using .toString() works most of the time but can lead to utf8 characters being
broken across chunk boundaries.
https://nodejs.org/api/stream.html#stream_readable_setencoding_encoding
2020-05-07 10:30:14 +01:00
Tim Alby
e3b1472c7f
retry once on EPIPE errors
...
Co-Authored-By: Jakob Ackermann <jakob.ackermann@overleaf.com>
2020-04-10 12:28:11 +02:00
Tim Alby
66447211d0
fix arguments order
...
Co-Authored-By: Jakob Ackermann <jakob.ackermann@overleaf.com>
2020-04-10 12:27:15 +02:00
Jakob Ackermann
6a615d50d3
Merge remote-tracking branch 'origin/master' into jpa-entry-point-cleanup
2020-04-03 14:05:36 +02:00
Jakob Ackermann
c700a0ab9d
Merge pull request #159 from overleaf/jpa-fix-docker-modem-error-scheme
...
[misc] keep up with the error signature of dockerode/docker-modem
2020-04-03 14:04:06 +02:00
Jakob Ackermann
101c4ea4dc
[misc] use a directory in /tmp for temporary data
2020-04-03 12:36:32 +02:00
Jakob Ackermann
6777432569
[misc] add a metric for failing downloads
2020-04-03 12:35:40 +02:00
Jakob Ackermann
4a19f022fc
[misc] keep up with the error signature of dockerode/docker-modem
...
https://github.com/apocas/docker-modem/blob/v2.1.1/lib/modem.js#L296
2020-03-27 10:39:45 +01:00
mserranom
8641d0ef0f
updated sandboxed-module, chai and metrics-sharelatex
2020-03-16 17:14:04 +01:00
mserranom
7e7d234350
updated mocha and sinon, fixed tests
2020-03-12 10:35:11 +01:00
mserranom
cf6c8ab496
removed mkdirp dependency and replaced with fs.mkdir
2020-03-12 10:22:08 +01:00
mserranom
41533d8888
moved decaffeinated files to js folder
2020-02-25 17:15:31 +01:00
decaffeinate
252f4c704b
decaffeinate: Run post-processing cleanups on loadTest.coffee
2020-02-25 17:03:58 +01:00
decaffeinate
3901fe9cd2
decaffeinate: Convert loadTest.coffee to JS
2020-02-25 17:03:57 +01:00
decaffeinate
e20da38e09
decaffeinate: Rename loadTest.coffee from .coffee to .js
2020-02-25 17:03:57 +01:00
decaffeinate
2057a565ec
decaffeinate: Run post-processing cleanups on SmokeTests.coffee
2020-02-25 17:03:39 +01:00
decaffeinate
b6991f5ff9
decaffeinate: Convert SmokeTests.coffee to JS
2020-02-25 17:03:37 +01:00
decaffeinate
92ed86bb33
decaffeinate: Rename SmokeTests.coffee from .coffee to .js
2020-02-25 17:03:36 +01:00
mserranom
fa37ed865a
added container monitor cleanup to fix hanging tests
2020-02-20 17:24:28 +01:00
mserranom
4c0fd2b6f4
fixed test paths
2020-02-19 12:38:54 +01:00
mserranom
778f2a8420
prettier: convert test/acceptance decaffeinated files to Prettier format
2020-02-19 12:16:14 +01:00
mserranom
c5a6496b71
decaffeinate: rename test/acceptance/coffee to test/acceptance/js
2020-02-19 12:16:11 +01:00
decaffeinate
d1da978e39
decaffeinate: Run post-processing cleanups on BrokenLatexFileTests.coffee and 9 other files
2020-02-19 12:16:07 +01:00
decaffeinate
3d3861cb24
decaffeinate: Convert BrokenLatexFileTests.coffee and 9 other files to JS
2020-02-19 12:16:00 +01:00
decaffeinate
035786b204
decaffeinate: Rename BrokenLatexFileTests.coffee and 9 other files from .coffee to .js
2020-02-19 12:15:54 +01:00
mserranom
a62d8186e9
prettier: convert test/unit decaffeinated files to Prettier format
2020-02-19 12:15:37 +01:00
mserranom
89360bfe77
decaffeinate: rename test/unit/coffee to test/unit/js
2020-02-19 12:15:30 +01:00
decaffeinate
4c79f22389
decaffeinate: Run post-processing cleanups on CompileControllerTests.coffee and 17 other files
2020-02-19 12:15:25 +01:00
decaffeinate
37b4e96de4
decaffeinate: Convert CompileControllerTests.coffee and 17 other files to JS
2020-02-19 12:15:08 +01:00
decaffeinate
e57097afb4
decaffeinate: Rename CompileControllerTests.coffee and 17 other files from .coffee to .js
2020-02-19 12:14:56 +01:00
Eric Mc Sween
dab6e9aa8e
Send output files on timeout
...
The unconventional use of callbacks to return both an error and data
after compilation created a subtle bug where the output files were
dropped by the LockManager in case of an error such as a timeout.
This prevented the frontend to show error logs when a timeout occurs,
creating confusion among users.
We now attach the output files to the error so that they reach the
controller and are sent back to the web service.
2019-10-22 16:31:37 -04:00
Brian Gough
418bda28e1
Merge pull request #119 from overleaf/bg-increase-acceptance-test-timeout
...
increase timeout for long-running acceptance tests
2019-05-16 09:17:26 +01:00
Michael Mazour
1ddf9283f2
Add flags option to request JSON
...
Adds a `flags` parameter to the request JSON, appearing under the `compile.options` key (alongside such stalwarts as `compiler`, `timeout`, etc.).
This is primarily to support `-file-line-error` as an option, but could have other uses as well.
`flags` should be an array of strings, or absent. If supplied, the listed arguments are added to the base latexmk command.
2019-05-14 16:24:34 +01:00
Brian Gough
bc6e560448
increase timeout for long-running acceptance tests
2019-04-01 09:42:54 +01:00
Brian Gough
038c81f868
use explicit json content-type to avoid security issues with text/html
2019-02-12 16:54:59 +00:00
Christopher Hoskin
7a3f1c81bd
Switch to node 10
2019-01-16 15:11:49 +00:00
Henry Oswald
c67e88fcb3
have failed compiles warn rather than be an error
2018-11-23 15:10:35 +00:00
Brian Gough
34acce8bda
use TikzManager to create main file for pstool package
2018-10-10 16:13:20 +01:00
Brian Gough
74dd560979
extend caching for tikz, minted and markdown files
2018-10-04 16:56:48 +01:00
Brian Gough
9870683ae8
Merge pull request #96 from sharelatex/bg-cache-eps-to-pdf-converted-files
...
cache pdf files generated by epstopdf
2018-09-11 13:31:26 +01:00
Henry Oswald
3c12f60eeb
change timeout test latex code
2018-09-11 11:34:25 +01:00
Henry Oswald
3fc3cd11f4
fix unit tests
2018-09-11 10:21:37 +01:00
Henry Oswald
ce44fa3390
bump wordcount timeouts, taken from 82b996b145196711e439d7d7045f53498c1afa1a
2018-09-11 09:55:10 +01:00
Brian Gough
5a635e5465
cache pdf files generated by epstopdf
2018-09-11 09:44:22 +01:00
Henry Oswald
2aaadc6124
fix unit tests
2018-08-23 00:21:05 +01:00
Henry Oswald
6c0665bb49
change sync to async for lockfile debugging
2018-08-22 22:17:02 +01:00
Henry Oswald
e46b6563c0
change override to leave image name so it works for wl_texlive
2018-07-16 17:25:14 +01:00
Henry Oswald
846c2b1e28
move texliveImageNameOveride further down request so it works for
...
compile tests
2018-07-13 11:52:49 +01:00
Henry Oswald
4ec8a423cb
added texliveImageNameOveride
2018-07-13 10:37:22 +01:00
Henry Oswald
eb89ca1d3b
added filestoreDomainOveride
2018-07-03 16:41:34 +01:00
Brian Gough
b95317c8fe
increase timeout on wordcount
2018-06-25 14:06:18 +01:00
Henry Oswald
4c96abd6c5
grep works with command
...
updated build scripts
acceptence tests break, files are written as root when user is node
2018-03-29 17:07:22 +01:00
Henry Oswald
e4e30cf2e2
fixed commended tests
2018-03-14 15:44:58 +00:00
Henry Oswald
9a519f0d3d
added docker runner into core codebase
...
supports both local command runner and docker runner
added docker files for tex live
also fixed tests so they exit correctly & removed debug lines
2018-03-14 15:44:49 +00:00
Henry Oswald
729d29253d
fix url fetcher tests so they exit correctly
2018-03-05 10:39:46 +00:00
Henry Oswald
2168f20715
uncomment tests
2018-03-02 17:59:37 +00:00
Henry Oswald
f9b6b3dda8
make timeout latex more complex(slower)
2018-03-02 17:58:34 +00:00
Henry Oswald
f39d14bf1b
unit tests pass, acceptence fail
...
uncomment tests
2018-03-02 17:34:41 +00:00
Henry Oswald
3399f55153
wip, docker container is correctly created
2018-03-02 17:14:23 +00:00
Henry Oswald
fdac655cd4
acceptence tests pass inside docker container (apart from sync)
2018-03-02 17:14:23 +00:00
Henry Oswald
5cf3c904cb
mvp
...
needs hacked pacth in docker runner
wip
most tests pass
2018-03-02 17:14:20 +00:00
James Allen
df21b9de53
Provide hosts and siblings container as environment settings and add npm run start script
...
wip acceptence tests run, but don't all pass
wip
removed npm-debug from git
2018-03-02 17:14:18 +00:00
Joe Green
adaf742a7b
Add a 1 second delay to the smoke tests ( #81 )
...
* Add a 1 second delay to the smoke tests
Fixes a race condition where smoke tests exit before container can be attached to.
See here for more info: https://github.com/overleaf/sharelatex/issues/274
* give the smoke tests additional work to do
* escape slashes
2017-12-05 16:51:59 +00:00
Brian Gough
f1c59150b7
exit if mock server fails to start
2017-10-20 15:16:35 +01:00
Brian Gough
e209c48bd9
simplify tikzexternalize checks
2017-09-29 17:00:53 +01:00
Brian Gough
ce51cc673f
Merge branch 'bg-lock-compiles'
2017-09-28 13:16:29 +01:00
Joe Green
4ff6cd3006
Jg jenkinsfile cleanup ( #75 )
...
* Update Jenkinsfile
make sure we don't ship unneeded build files
* Update ExampleDocumentTests.coffee
* use node 6.11.2 in jenkins file
2017-09-28 11:50:33 +01:00
Brian Gough
2a23082c4e
remove stat test for missing files
2017-09-26 09:48:09 +01:00
Brian Gough
8685b774ee
fix unit tests for use of fs-extra
2017-09-25 15:28:31 +01:00
Brian Gough
7f0e6f3eec
lock compile directory
2017-09-22 16:19:33 +01:00
Brian Gough
b03271edee
unit tests for ResourceStateManager
2017-09-15 13:42:57 +01:00
Brian Gough
0d613a6480
Merge pull request #71 from sharelatex/bg-merge-state-and-resource-list-files
...
merge state and resource list files
2017-09-11 08:54:30 +01:00
Joe Green
41e442d403
Add jenkinsfile ( #72 )
...
* create Jenkinsfile
* allow textlive image to be set with env vars
* log error message in test
* use sandboxed compiles variables
* Add SANDBOXED_COMPILES_HOST_DIR var to test config
* add SIBLING_CONTAINER_USER env var
2017-09-08 14:06:04 +01:00
Brian Gough
0a242bac3c
rename saveProjectStateHash to saveProjectState
2017-09-08 13:56:40 +01:00
Brian Gough
66431fc2b8
log any missing files
2017-09-07 16:54:09 +01:00
Brian Gough
3d1c3a1d27
combine the resource state and resource list
...
to prevent them getting out of sync
2017-09-07 13:52:34 +01:00
Brian Gough
a84c884fc9
splice state management into ResourceStateManager
2017-08-18 10:22:17 +01:00
Brian Gough
d614af2860
finish unit test for incremental update
2017-08-18 09:41:43 +01:00
Brian Gough
d3da4e1d3f
ResourceWriter unit tests (wip)
2017-08-17 16:59:37 +01:00
Brian Gough
c7a9487216
test syncType in RequestParser
2017-08-17 15:57:05 +01:00
Brian Gough
8415ea2f71
store the resource list in a file
2017-08-17 14:53:35 +01:00
Brian Gough
c0ed71f65c
fix unit tests
2017-08-09 15:22:44 +01:00
Brian Gough
567a89350b
fix broken unit tests
2017-08-07 15:00:16 +01:00
Brian Gough
d43357e8c8
stub out unwanted dependency in unit tests
2017-07-18 11:30:22 +01:00
Brian Gough
fd5b557dde
fix exception for empty content in TikzManager
2017-07-18 11:29:59 +01:00
Brian Gough
4a4f3bb24c
update acceptance test images for texlive 2017
2017-07-13 13:15:51 +01:00
Brian Gough
0c7a89dfa5
update acceptance tests settings to 2017 image
2017-07-12 16:59:33 +01:00
Shane Kilkelly
65eaf0ad10
Mock out logger in tests
2017-06-20 08:25:50 +01:00
Brian Gough
42fa852b76
check file exists before running synctex
2017-05-24 10:09:43 +01:00
Brian Gough
f7c3565281
use pdfinfo on output to ensure pdfs are optimised
...
needed to check that qpdf runs correctly inside the docker container
2017-04-07 11:11:27 +01:00
Brian Gough
7e58bfd752
check if file is optimised before running qpdf
2017-04-04 16:50:06 +01:00
Brian Gough
4e34fa2fa6
Merge pull request #53 from sharelatex/bg-sanitise-paths
...
additional check for valid rootResource
2017-03-21 13:39:27 +00:00
Brian Gough
dd35c5d88b
check for \tikzexternalize directly
...
instead of \usepackage{tikz} and \usepackage{pgf}
2017-03-21 11:36:08 +00:00
Brian Gough
1273a05ad4
fix path match
2017-03-21 11:30:32 +00:00
Brian Gough
54bdc8fed0
create separate function for path checking
2017-03-21 11:29:37 +00:00
Brian Gough
3bd919b3eb
support for tikz externalize
...
make copy of main file as output.tex for tikz externalize
2017-03-20 10:55:28 +00:00
Brian Gough
4806da00a4
additional check for valid rootResource
2017-03-20 10:03:48 +00:00
Brian Gough
a602629406
update xelatex acceptance test pdf
2017-03-08 11:49:21 +00:00
Brian Gough
d09cbfaa8d
improve debugging of failed acceptance tests
...
use the example name in the output filename
2017-03-08 11:49:12 +00:00
Brian Gough
d123f8eb64
include otf extension in fontawesome test
2017-03-08 11:25:25 +00:00
Shane Kilkelly
533804c55b
Don't compile acceptance test files during test run
2017-03-06 14:43:14 +00:00
Brian Gough
1a4fca08eb
fix acceptance test config file for latex prefix
...
latex command prefix was in wrong scope
2017-02-21 09:37:05 +00:00
Brian Gough
61fb90c6aa
add fontawesome acceptance test for xelatex
2017-02-21 09:37:05 +00:00
Brian Gough
1a7d8477a3
update acceptance tests for reversion to dvipdf
2017-02-13 13:42:44 +00:00
Brian Gough
29d36399a2
fix #! in test script
2017-02-09 15:38:25 +00:00
Brian Gough
83dd366eb4
show debug info for acceptance tests
2017-02-09 14:17:38 +00:00
Brian Gough
11e4d01e1e
update acceptance test output for fontawesome
2017-02-07 11:51:21 +00:00
Brian Gough
42d20cede0
added fontawesome acceptance test
2017-02-07 10:00:41 +00:00
Brian Gough
58bb705555
fix lualatex require
2017-02-07 08:59:45 +00:00
Brian Gough
83a06b1fe1
add luatex85 package to tikz feynman test
2017-02-07 08:49:19 +00:00
Brian Gough
91fa3364f7
added acceptance test for tikz-feynman
2017-02-07 08:12:47 +00:00