Commit Graph
35 Commits
Author SHA1 Message Date
Michał Kowalczyk 09907126ed [LibOS] test/apps: Fix up apache and lighttpd tests 2019-08-16 02:33:34 +02:00
Don Porter e4793d6886 [Jenkins] Make sure the right kernel version is installed 2019-08-16 00:25:53 +02:00
Chia-Che Tsai dc8b63ce62 [Glibc] Update Glibc version to 2.23 and 2.27
Previously, Graphene supported Glibc version 2.19 only. This commit
adds support for Glibc v2.23 (default in Ubuntu 16.04) and Glibc
v2.27 (default in Ubuntu 18.04). The exact version can be chosen by
specifying GLIBC_VERSION during Graphene build. The default version
to be built is v2.27.

Note that for the best GDB experience it is advised to build Graphene
with the same Glibc version as installed on the host OS.
2019-08-15 13:30:53 -07:00
Simon Gaiser f8b60ced5c [Jenkins] Don't update LTP submodule twice
Jenkins already runs a recursive submodule update. So no need to do this
again manually.
2019-08-14 13:08:55 -07:00
Simon Gaiser 1ff85d10a3 [Makefile] Move building of tests to a separate target
Fixes #204.
2019-08-14 00:44:17 +02:00
Simon Gaiser 8c37290b6f [Jenkins] Use shell comment in Jenkins shell script
Fixes commit bdb5874 "[Jenkins] Test the build of graphene-ipc module"
2019-08-08 12:56:07 -07:00
Don Porter bdb58741ec [Jenkins] Test the build of graphene-ipc module
At least test the build of graphene-ipc module, even if we
don't currently use it or test it, to try to limit bitrot.
2019-08-01 01:02:32 -07:00
Dmitrii Kuvaiskii 2d576a4680 [Jenkins/Linux-SGX] Enable Apache regression test 2019-07-29 16:56:48 -07:00
Dmitrii Kuvaiskii 4b734addcd [LibOS] Turn on CPSTORE_DERANDOMIZATION to fix intermittent bugs on fork
Previously, a checkpoint on child's do_migration() was allocated at a
random address and could overlap with parent's VMAs, leading to
intermittent bugs on some apps (including Apache under SGX PAL). This
commit turns on CPSTORE_DERANDOMIZATION so that the child always maps
the checkpoint at the same address as the parent. Note that this is
a temporary solution because of memory fragmentation and security
issues. It also disallows the parent process to have less memory than
the child (relevant in SGX environment, e.g., to GCC regression test).
2019-07-29 16:56:17 -07:00
Wojtek Porczyk cfffd6ff0f [Jenkins] enable detailed test reports in Jenkins via junit 2019-07-29 19:40:00 +02:00
Wojtek Porczyk 01f3553a25 [LibOS, Pal] Reorganize unit tests
- Deduplicate much of setup code.
- Allow running non-sandbox and sandbox code in single run.
- Use pytest.
- Generate JUnit-XML file for Jenkins.
- Document running a subset of regression tests.
2019-07-29 19:38:14 +02:00
Chia-Che Tsai 9362b1317d [Jenkins] Tune the run time of LMBench 2019-07-25 18:17:35 -07:00
Chia-Che Tsai 8b1ae05125 [Jenkins] Tune the run time of Apache and Lighttpd tests 2019-07-24 19:46:04 -07:00
Chia-Che Tsai aa9743dbce [Regression] Update LTP tests to the upstream version 2019-07-23 18:31:37 -07:00
Don Porter 27ca6f0700 [Jenkins] Set up 18.04 CI jobs, fix one unit PAL unit test 2019-07-19 13:39:12 -04:00
Dmitrii Kuvaiskii 601f17724a [Jenkins-SGX] Increase timeout on LibOS tests to 15 minutes
Also increases timeout on LibOS's "udp" test to 50 seconds. It seems to
timeout frequently otherwise.
2019-07-19 01:03:41 -07:00
Dmitrii Kuvaiskii 84ec50a2aa [LibOS/regression] Add OpenMP simple for-loop test
Previously, OpenMP apps failed to run under Graphene-SGX because it did
not support raw system calls (used inside of OpenMP lib, in particular
the futex() syscall). Since recently, Graphene-SGX has support for raw
syscall execution. This commit adds a test showing that OpenMP works.
2019-06-30 23:37:21 +02:00
Don Porter abfd613f60 [Tests, LibOS] Add Apache test in Jenkins-Debug
Previously, there was a bug of a stale debugging memory region copied to
child as part of parent's checkpoint. This bug manifested in Apache test
segfaulting in debug build. This commit fixes the bug and adds Apache to
the Jenkins-Debug job.
2019-06-25 19:42:32 -07:00
Li Lei 0f1e315cb9 [Pal/Linux-SGX] Remove python-crypto package from dependencies 2019-06-25 18:16:02 -07:00
Don Porter a0c208f71e [Makefiles] Enable parallel make in Jenkins, fix parallel make for SGX 2019-06-20 19:16:10 -07:00
Simon Gaiser 79d6fb27ec [*/regression] Migrate to Python 3 2019-04-15 17:27:30 +02:00
Simon Gaiser 43b4ba3706 [Jenkins] Enable PAL regression tests on Linux-SGX 2019-04-11 14:09:15 +02:00
Don Porter d95c4f9da6 Put a timeout on the Python test. 2019-03-05 14:31:50 -05:00
Zhang Chen 977b5c711b [Jenkinsfiles] Optimize the dockerfile for Ubuntu
The dockerfile instruction RUN will create new layers
when it is executed, original codes will increase the size of
the final image and causes potential cache issues.
So we need to employ shell tricks to keep the layers as small as possible.
Like #307.

Signed-off-by: Zhang Chen <chen.zhang@intel.com>
2019-02-18 19:33:59 +01:00
Chia-Che Tsai cba6e3278a Add -Werror to CFLAGS with WERROR=1
Signed-off-by: Chia-Che Tsai <chiache@tamu.edu>
2019-02-12 20:09:43 -06:00
Michał Kowalczyk ce43853139 Fix mixed tabs and trailing blanks in Jenkinsfiles 2018-11-30 03:05:22 +01:00
Michał Kowalczyk 137b2c5ee1 Convert Windows newlines to Unix 2018-11-30 03:05:22 +01:00
Jaehyun Han 35fc8110de Fix manifests for Bash (#184)
* Fix Bash manifests on SGX

* Add regression test to Bash
2018-03-14 15:33:12 -04:00
Don Porter afc0b5a832 Also put a timeout on python, which is hanging in CI on a branch 2018-03-13 16:50:10 -04:00
Don Porter 96e1f889a3 Set a timeout on the shim unit tests; this is hanging in CI on an experimental branch. 2018-03-13 16:34:15 -04:00
Don Porter e8928fe3b6 New Jenkinsfile for SGX enabled Graphene (#154)
New Jenkinsfile for SGX enabled Graphene

Also disable some flaky LTP and lmbench tests for now, so that CI more reliably passes.
2018-01-20 15:26:09 -05:00
Don Porter c844d24199 CI Improvements (#141)
Run CI in a Docker image

* Wait a second for lighttp and apache to fully initialize the socket

* Try to add a timeout for lmbench, which is prone to hanging (vfork)

* Set a timeout on gcc; one of the PRs is causing gcc hello to hang.  Also, to avoid interference, run apache test on 8001 by default.

* Update lmbench to ignore bin dir

* Do the faster tests first; fail earlier

* Get the IP addr properly for web server tests

* Some notes on flaky LTP tests to debug later.  Move a few that tend to heisenbugs off of the required list for now 

* Try to detect vma list corruption during the debug dump, lest it be infinite.

* Temporarily disable the lmbench vfork test (Issue #142).

* Catch some failures faster.

* Catch failures in apachebench

* Take apache out of the Linux host/Debug build CI for now, as it hangs consistently.  Filed issue #144 to track.
2017-12-09 16:34:56 -08:00
Don Porter ce49dcb03d Migrate unit tests to jenkins (#122)
* Migrate running unit tests for Linux host to Jenkins.  Add a unit test for the Linux host, Debug build

* Ignore files generated as part of unit testsing.

* A quick and dirty fix for port collisions during CI tests.  Come back and do a better job if we continue having problems

* For some reason, the PAL Process regression tests fail using the default manifest under a debug build.  Go ahead and explicate a template for the Process test.
2017-12-03 14:04:39 +00:00
Neil Davis b6aec7acd1 Removed DEBUG=1 (#121)
* Removed DEBUG=1 from basic Jenkins build/test process.

* Removed the 'input' so that the Jenkinsfile finishes when necessary
2017-11-28 00:43:08 +00:00
Neil Davis 2f8b634afe Jenkins (#91)
* Added Jenkinsfile for testing

* Got rid of sudo

* Adding new Jenkinsfile for testing Jenkins

* Edit to Test stage for Python pipeline

* Fixed a name typo

* Added new line to check the directory in the new stage

* Add commands to return to directory to execute files

* Added sudo to execute manifest file

* Testing a modifier

* Fixed option from sudo to sh

* Got rid of sh options flag

* Rewrote commands to run the Python code

* Testing to see if ./python-manifest executes

* Testing to see if ./python-manifest executes

* Testing Jenkinsfile-Python

* Testing Jenkinsfile-Python

* Testing Jenkins-Python

* Testing Jenkins-Python

* Checking how sh commands work

* Initializing make

* Testing file

* Testing file

* Testing file

* Jenkinsfile for LMBench tests

* Jenkinsfile for GCC

* Jenkinsfile for GCC

* Jenkinsfile for GCC

* Jenkinsfile for GCC

* Got rid of ./gcc-huge.manifest

* First SGX file for Python

* Adding lines to support keys

* Adding lines to support keys

* Chanaged the ordering to make

* Chanaged the ordering to make

* Checking variables in Makefile

* Add a print statement

* Print out SAVED and BUILD Target variables

* Print out SAVED in a different part of the code in order to see output in a different context

* Change print location of SAVED_TARGET

* Change print location of SAVED_TARGET

* Change print location of SAVED_TARGET

* Edit Makefile to see if SAVED_TARGET is assigned when not running SGX=1 *this is only meant to run the build stage*

* Testing Jenkinsfile after installing Intel SGX

* Got rid of ifndef for SAVED_TARGET

* Adding an environmental variable

* Adding an environmental variable

* Removed environment variable

* Testing use of 'sh' commands

* Testing use of 'sh' commands

* Testing use of 'sh' commands

* Changed ordering of sh executions

* Add regression to make for Python files

* Add regression to make for all files

* Removed the 'regression' terms after make, running 'make regression' didn't work

* Initializing Apache Jenkinsfile

* Initializing Lighttpd Jenkinsfile

* Initializing Lighttpd Jenkinsfile

* Added regression

* Run regression

* Moved all Jenkinsfiles into their own directory

* Added LMBench into the code for testing

* Edited error in specifying directory for LMBench

* Added background process for the server

* Added 'make regression'

* Changed client execution file on line 18

* Added background process for Apache

* Output the host and port after bulding Lighttpd

* Removed specifying the IP and Port

* Added output of a manifest file

* Added output of a manifest file

* Added output of lighttpd-server.conf file

* Combined IP address and port on line 18

* Added tests for lighttpd and apache

* Removed unnecessary files and added files to ignore in .gitignore

* Modifications to Makefile

* Removed logging in Pal/src/Makefile

* Removed my Makefile

* Put Makefile back in

* Reinserted contents of Makefile from main repository

* Revert "Reinserted contents of Makefile from main repository"

This reverts commit d36508709ab38489ae1fc939859e7952b8d56cd9.

* Added new tests for non-SGX Jenkinsfile

* Added DEBUG=1 to make command

* Fixed Makefile spacing errors
2017-11-08 20:30:31 +00:00