Commit graph

256 commits

Author SHA1 Message Date
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