diff --git a/.gitmodules b/.gitmodules
index be5ca93d..1b0190ac 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,9 +1,6 @@
-[submodule "LibOS/shim/test/apps/gcc/test_files"]
- path = LibOS/shim/test/apps/gcc/test_files
- url = https://github.com/oscarlab/gcc_test_files.git
-[submodule "LibOS/shim/test/apps/lmbench/lmbench-2.5"]
- path = LibOS/shim/test/apps/lmbench/lmbench-2.5
- url = https://github.com/oscarlab/lmbench-2.5.git
[submodule "Pal/src/host/Linux-SGX/sgx-driver"]
path = Pal/src/host/Linux-SGX/sgx-driver
url = https://github.com/oscarlab/graphene-sgx-driver.git
+[submodule "LibOS/shim/test/apps"]
+ path = LibOS/shim/test/apps
+ url = https://github.com/oscarlab/graphene-tests.git
diff --git a/LibOS/shim/test/apps b/LibOS/shim/test/apps
new file mode 160000
index 00000000..31ad4a46
--- /dev/null
+++ b/LibOS/shim/test/apps
@@ -0,0 +1 @@
+Subproject commit 31ad4a46a902fb5a5c3c6a9bffab2786a469418c
diff --git a/LibOS/shim/test/apps/apache/.gitignore b/LibOS/shim/test/apps/apache/.gitignore
deleted file mode 100644
index ab772376..00000000
--- a/LibOS/shim/test/apps/apache/.gitignore
+++ /dev/null
@@ -1,11 +0,0 @@
-/httpd-2.4.3/*
-/result-*
-/obj/*
-/OUTPUT
-/.libs/*
-/apr-1.4.6/*
-/apr-util-1.5.1/*
-/php-5.6.6/*
-/mod_auth_basic_sandbox.la
-/mod_auth_basic_sandbox.lo
-/mod_auth_basic_sandbox.slo
diff --git a/LibOS/shim/test/apps/apache/Makefile b/LibOS/shim/test/apps/apache/Makefile
deleted file mode 100644
index 8f5fbeb4..00000000
--- a/LibOS/shim/test/apps/apache/Makefile
+++ /dev/null
@@ -1,154 +0,0 @@
-HOST ?= $(firstword $(shell ifconfig | grep 'inet addr:' | grep -v '127.0.0.1' -m 1 | cut -d: -f2))
-PORT ?= 8001
-
-NPROCS := 1
-OS := $(shell uname -s)
-ifeq ($(OS),Linux)
- NPROCS := $(shell grep -c ^processor /proc/cpuinfo)
-endif
-
-PREFORK_WORKERS := $(shell expr $(NPROCS) + 1)
-
-HTTPD_DIR = httpd-2.4.3
-APR_DIR = apr-1.4.6
-APRUTIL_DIR = apr-util-1.5.1
-PHP_DIR = php-5.6.6
-
-INSTALL_DIR = $(PWD)/obj
-SRC_DIRS = $(HTTPD_DIR) $(APR_DIR) $(APRUTIL_DIR) $(PHP_DIR)
-HTDOC=$(INSTALL_DIR)/htdocs
-
-exec_target = httpd.manifest
-
-target = build-apache build-modules build-conf test-data
-
-clean-extra = clean-apache
-
-extra_rules = -e 's:\$$(HOST):$(HOST):g' -e 's:\$$(PORT):$(PORT):g'
-
-level = ../../
-include ../../Makefile
-
-.PHONY: build-apache build-modules build-conf
-
-build-apache: $(INSTALL_DIR)/bin/httpd $(INSTALL_DIR)/modules/libphp5.so
-
-ifeq ($(DEBUG),1)
-MAKE_FLAGS = CC="gcc -g"
-APXS_FLAGS = -S CC="gcc -g"
-endif
-
-%: %.tar.gz
- tar -xmzf $<
-
-%: %.tar.bz2
- tar -xmjf $<
-
-$(INSTALL_DIR)/lib/libapr-1.so.0: $(APR_DIR)
- #cd $< && patch -p1 < ../disable-epoll.patch
- cd $< && ./configure --prefix=$(INSTALL_DIR)
- cd $< && $(MAKE) -j$(NPROCS) $(MAKE_FLAGS)
- cd $< && $(MAKE) install
-
-$(INSTALL_DIR)/lib/libaprutil-1.so.0: $(APRUTIL_DIR) $(INSTALL_DIR)/lib/libapr-1.so.0
- cd $< && ./configure --prefix=$(INSTALL_DIR) --with-apr=$(INSTALL_DIR)
- cd $< && $(MAKE) -j$(NPROCS) $(MAKE_FLAGS)
- cd $< && $(MAKE) install
-
-$(INSTALL_DIR)/bin/httpd $(INSTALL_DIR)/bin/apxs: $(INSTALL_DIR)/lib/libapr-1.so.0 $(INSTALL_DIR)/lib/libaprutil-1.so.0
- [ -d $(HTTPD_DIR) ] || tar -xzf $(HTTPD_DIR).tar.gz
- [ -f $(HTTPD_DIR)/Makefile ] || ( \
- cd $(HTTPD_DIR) && ./configure --prefix=$(INSTALL_DIR) --with-apr=$(INSTALL_DIR) \
- --with-apr-util=$(INSTALL_DIR) --with-mpm=prefork)
- cd $(HTTPD_DIR) && $(MAKE) -j$(NPROCS) $(MAKE_FLAGS)
- cd $(HTTPD_DIR) && $(MAKE) install
-
-$(INSTALL_DIR)/modules/libphp5.so: $(PHP_DIR) $(INSTALL_DIR)/bin/apxs
- cd $< && ./configure --prefix=$(INSTALL_DIR) --with-apxs2=$(INSTALL_DIR)/bin/apxs \
- --disable-cgi --disable-cli --disable-soap
- cd $< && $(MAKE) -j$(NPROCS) $(MAKE_FLAGS)
- cd $< && $(MAKE) install
-
-build-modules: $(INSTALL_DIR)/modules/mod_auth_basic_sandbox.so
-
-$(INSTALL_DIR)/modules/mod_auth_basic_sandbox.so: mod_auth_basic_sandbox.c $(INSTALL_DIR)/bin/apxs
- $(INSTALL_DIR)/bin/apxs $(APXS_FLAGS) \
- -S CFLAGS="-I$(SHIMDIR)/../include" \
- -S LDFLAGS="-L. -l:$(RUNTIME)/liblibos.so.1" -c -i -A $<
-
-build-conf:
- [ -f $(INSTALL_DIR)/conf/httpd.conf.old ] || \
- mv $(INSTALL_DIR)/conf/httpd.conf $(INSTALL_DIR)/conf/httpd.conf.old
- sed -e "s/Listen 80/#Listen 80/g" \
- -e "s/User daemon/#User root/g" \
- -e "s/Group daemon/#Group root/g" \
- -e "s/#EnableMMAP off/EnableMMAP off/g" \
- -e "s/#EnableSendfile on/EnableSendfile on/g" \
- -e "s/DirectoryIndex index.html/DirectoryIndex index.html index.php/g" \
- -e "s/^[ ]*CustomLog/#CustomLog/g" \
- $(INSTALL_DIR)/conf/httpd.conf.old > $(INSTALL_DIR)/conf/httpd.conf.new
- echo "\n\
-\n\
- StartServers $(PREFORK_WORKERS)\n\
- MinSpareServers 1\n\
- MaxSpareServers $(PREFORK_WORKERS)\n\
- MaxConnectionsPerChild 0\n\
-\n" >> $(INSTALL_DIR)/conf/httpd.conf.new
- echo "\n\
-\n\
- AddType application/x-httpd-php .php\n\
-\n" >> $(INSTALL_DIR)/conf/httpd.conf.new
- cd $(INSTALL_DIR)/conf && ln -sf httpd.conf.new httpd.conf
-
-clean-server:
- rm -f $(INSTALL_DIR)/logs/httpd-$(HOST)-$(PORT).pid
-
-start-native-server: clean-server
- @echo "Listen on $(HOST):$(PORT)"
- $(PREFIX) $(INSTALL_DIR)/bin/httpd -D FOREGROUND -C "ServerName $(HOST)" -C "Listen $(HOST):$(PORT)" -C "PidFile logs/httpd-$(HOST)-$(PORT).pid"
-
-start-graphene-server: clean-server
- @echo "Listen on $(HOST):$(PORT)"
- $(PREFIX) ./httpd.manifest -D FOREGROUND -C "ServerName $(HOST)" -C "Listen $(HOST):$(PORT)" -C "PidFile logs/httpd-$(HOST)-$(PORT).pid"
-
-random-data = $(foreach n,1 2 3 4 5 6 7 8 9 10,2K.$n.html) \
- $(foreach n,1 2 3 4 5,10K.$n.html) \
- $(foreach n,1 2 3 4 5,100K.$n.html) \
- $(foreach n,1 2 3,1M.$n.html) \
- $(foreach n,1 2 3,10M.$n.html) \
- $(foreach n,1 2 3,100.$n.html)
-
-test-data = $(HTDOC)/oscar-web $(HTDOC)/oscar-web-static \
- $(addprefix $(HTDOC)/random/,$(random-data)) \
- $(HTDOC)/auth/secret.html $(HTDOC)/auth/.htaccess
-
-$(HTDOC)/%: $(PWD)/../web-data/%.tar.gz
- [ -d "$@" ] || (mkdir -p $@ && cd $(HTDOC) && tar -xzf $^)
-
-$(HTDOC)/random/%.html:
- [ -d $(HTDOC)/random ] || mkdir -p $(HTDOC)/random
- dd if=/dev/urandom of=$@ count=1 bs=$(basename $(basename $(notdir $@)))
-
-$(HTDOC)/auth:
- mkdir -p $@
-
-$(HTDOC)/auth/secret.html: $(HTDOC)/auth
- echo "This is the secret" > $@
-
-$(HTDOC)/auth/.htpasswd: $(INSTALL_DIR)/bin/htpasswd $(HTDOC)/auth
- $< -b -c $@ test test
-
-$(HTDOC)/auth/.htaccess: $(HTDOC)/auth/.htpasswd
- echo "AuthName \"Login\"\n\
-AuthType Basic\n\
-AuthUserFile $(HTDOC)/auth/.htpasswd\n\
-AuthGroupFile /dev/null\n\
-require user test" > $@
-
-test-data: $(test-data)
-
-distclean: clean
- rm -rf $(INSTALL_DIR) $(SRC_DIRS)
-
-clean-apache:
- rm -rf $(test-data) $(addprefix mod_auth_basic_sandbox,.so .la .lo .o .slo)
diff --git a/LibOS/shim/test/apps/apache/apr-1.4.6.tar.gz b/LibOS/shim/test/apps/apache/apr-1.4.6.tar.gz
deleted file mode 100644
index 6133b373..00000000
Binary files a/LibOS/shim/test/apps/apache/apr-1.4.6.tar.gz and /dev/null differ
diff --git a/LibOS/shim/test/apps/apache/apr-util-1.5.1.tar.gz b/LibOS/shim/test/apps/apache/apr-util-1.5.1.tar.gz
deleted file mode 100644
index 13f68411..00000000
Binary files a/LibOS/shim/test/apps/apache/apr-util-1.5.1.tar.gz and /dev/null differ
diff --git a/LibOS/shim/test/apps/apache/benchmark-ab.sh b/LibOS/shim/test/apps/apache/benchmark-ab.sh
deleted file mode 100755
index d7231e18..00000000
--- a/LibOS/shim/test/apps/apache/benchmark-ab.sh
+++ /dev/null
@@ -1,42 +0,0 @@
-#!/usr/bin/env bash
-
-PROTOCOL=${PROTOCOL:=http}
-declare -A THROUGHPUTS
-declare -A LATENCIES
-LOOP=5
-DOWNLOAD_HOST=$1
-DOWNLOAD_FILE=random/10K.1.html
-REQUESTS=10000
-CONCURRENCY_LIST="1 2 4 8 16 32 64 128 256"
-RESULT=result-$(date +%y%m%d-%H%M%S)
-URL="$PROTOCOL://$DOWNLOAD_HOST/$DOWNLOAD_FILE"
-
-touch $RESULT
-
-RUN=0
-while [ $RUN -lt $LOOP ]
-do
- for CONCURRENCY in $CONCURRENCY_LIST
- do
- rm -f OUTPUT
- echo "ab -n $REQUESTS -c $CONCURRENCY $URL"
- ab -n $REQUESTS -c $CONCURRENCY $URL >> OUTPUT
- sleep 5
-
- THROUGHPUT=$(grep -m1 "Requests per second:" OUTPUT | awk '{ print $4 }')
- LATENCY=$(grep -m1 "Time per request:" OUTPUT | awk '{ print $4 }')
- THROUGHPUTS[$CONCURRENCY]="${THROUGHPUTS[$CONCURRENCY]} $THROUGHPUT"
- LATENCIES[$CONCURRENCY]="${LATENCIES[$CONCURRENCY]} $LATENCY"
- echo "concurrency=$CONCURRENCY, throughput=$THROUGHPUT, latency=$LATENCY"
- done
- RUN=$(expr $RUN + 1)
-done
-
-for CONCURRENCY in $CONCURRENCY_LIST
-do
- THROUGHPUT=$(echo ${THROUGHPUTS[$CONCURRENCY]} | tr " " "\n" | sort -n | awk '{a[NR]=$0}END{if(NR%2==1)print a[int(NR/2)+1];else print(a[NR/2-1]+a[NR/2])/2}')
- LATENCY=$(echo ${LATENCIES[$CONCURRENCY]} | tr " " "\n" | sort -n | awk '{a[NR]=$0}END{if(NR%2==1)print a[int(NR/2)+1];else print(a[NR/2-1]+a[NR/2])/2}')
- echo "$THROUGHPUT,$LATENCY" >> $RESULT
-done
-
-echo "Result file: $RESULT"
diff --git a/LibOS/shim/test/apps/apache/benchmark-http.sh b/LibOS/shim/test/apps/apache/benchmark-http.sh
deleted file mode 120000
index 43269f9e..00000000
--- a/LibOS/shim/test/apps/apache/benchmark-http.sh
+++ /dev/null
@@ -1 +0,0 @@
-../lighttpd/benchmark-http.sh
\ No newline at end of file
diff --git a/LibOS/shim/test/apps/apache/disable-epoll.patch b/LibOS/shim/test/apps/apache/disable-epoll.patch
deleted file mode 100644
index 5da5a688..00000000
--- a/LibOS/shim/test/apps/apache/disable-epoll.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-diff -ruNp apr-1.4.6/configure apr-1.4.6.new/configure
---- apr-1.4.6/configure 2012-02-07 18:17:57.000000000 -0500
-+++ apr-1.4.6.new/configure 2013-10-09 19:41:16.603262382 -0400
-@@ -20307,6 +20307,8 @@ _ACEOF
- fi
- done
-
-+# disable epoll support
-+if [ yes = no ]; then
-
- # Check for the Linux epoll interface; epoll* may be available in libc
- # but return ENOSYS on a pre-2.6 kernel, so do a run-time check.
-@@ -20387,6 +20389,8 @@ $as_echo "#define HAVE_EPOLL_CREATE1 1"
-
- fi
-
-+fi
-+
- # test for dup3
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dup3 support" >&5
- $as_echo_n "checking for dup3 support... " >&6; }
diff --git a/LibOS/shim/test/apps/apache/httpd-2.4.3.tar.gz b/LibOS/shim/test/apps/apache/httpd-2.4.3.tar.gz
deleted file mode 100644
index c0266b0b..00000000
Binary files a/LibOS/shim/test/apps/apache/httpd-2.4.3.tar.gz and /dev/null differ
diff --git a/LibOS/shim/test/apps/apache/httpd.manifest.template b/LibOS/shim/test/apps/apache/httpd.manifest.template
deleted file mode 100644
index 4d5fec71..00000000
--- a/LibOS/shim/test/apps/apache/httpd.manifest.template
+++ /dev/null
@@ -1,55 +0,0 @@
-#!$(PAL)
-
-loader.preload = file:$(SHIMPATH)
-loader.exec = file:obj/bin/httpd
-loader.execname = httpd
-loader.env.LD_LIBRARY_PATH = /lib:/lib/x86_64-linux-gnu:/usr/lib:/usr/lib/x86_64-linux-gnu
-loader.debug_type = none
-
-fs.mount.lib1.type = chroot
-fs.mount.lib1.path = /lib
-fs.mount.lib1.uri = file:$(LIBCDIR)
-
-fs.mount.lib2.type = chroot
-fs.mount.lib2.path = /lib/x86_64-linux-gnu
-fs.mount.lib2.uri = file:/lib/x86_64-linux-gnu
-
-fs.mount.usr.type = chroot
-fs.mount.usr.path = /usr
-fs.mount.usr.uri = file:/usr
-
-fs.mount.cwd.type = chroot
-fs.mount.cwd.path = $(PWD)
-fs.mount.cwd.uri = file:
-
-# allow to bind on port for listening
-net.allow_bind.1 = $(HOST):$(PORT)
-
-sgx.trusted_files.ld = file:$(LIBCDIR)/ld-linux-x86-64.so.2
-sgx.trusted_files.libc = file:$(LIBCDIR)/libc.so.6
-sgx.trusted_files.libdl = file:$(LIBCDIR)/libdl.so.2
-sgx.trusted_files.libm = file:$(LIBCDIR)/libm.so.6
-sgx.trusted_files.libpthread = file:$(LIBCDIR)/libpthread.so.0
-sgx.trusted_files.libresolv = file:$(LIBCDIR)/libresolv.so.2
-sgx.trusted_files.libnssdns = file:/lib/x86_64-linux-gnu/libnss_dns.so.2
-sgx.trusted_files.libnssfiles = file:/lib/x86_64-linux-gnu/libnss_files.so.2
-sgx.trusted_files.libnsscompact = file:/lib/x86_64-linux-gnu/libnss_compat.so.2
-sgx.trusted_files.libnssnis = file:/lib/x86_64-linux-gnu/libnss_nis.so.2
-sgx.trusted_files.libpcre = file:/lib/x86_64-linux-gnu/libpcre.so.3
-sgx.trusted_files.libapr = file:obj/lib/libapr-1.so.0
-sgx.trusted_files.libaprutil = file:obj/lib/libaprutil-1.so.0
-sgx.trusted_files.libexpat = file:/lib/x86_64-linux-gnu/libexpat.so.1
-sgx.trusted_files.libcrypt = file:/lib/x86_64-linux-gnu/libcrypt.so.1
-sgx.trusted_files.libxml2 = file:/usr/lib/x86_64-linux-gnu/libxml2.so.2
-sgx.trusted_files.libz = file:/lib/x86_64-linux-gnu/libz.so.1
-sgx.trusted_files.liblzma = file:/lib/x86_64-linux-gnu/liblzma.so.5
-sgx.trusted_files.libnsl = file:/lib/x86_64-linux-gnu/libnsl.so.1
-sgx.trusted_files.libicuuc = file:/usr/lib/x86_64-linux-gnu/libicuuc.so.55
-sgx.trusted_files.libicudata = file:/usr/lib/x86_64-linux-gnu/libicudata.so.55
-sgx.trusted_files.libstdcpp = file:/usr/lib/x86_64-linux-gnu/libstdc++.so.6
-sgx.trusted_files.libgcc_c = file:/lib/x86_64-linux-gnu/libgcc_s.so.1
-
-sgx.allowed_files.modules = file:obj/modules
-sgx.allowed_files.conf = file:obj/conf
-sgx.allowed_files.htdocs = file:obj/htdocs
-sgx.allowed_files.logs = file:obj/logs
diff --git a/LibOS/shim/test/apps/apache/mod_auth_basic_sandbox.c b/LibOS/shim/test/apps/apache/mod_auth_basic_sandbox.c
deleted file mode 100644
index 02d8b18c..00000000
--- a/LibOS/shim/test/apps/apache/mod_auth_basic_sandbox.c
+++ /dev/null
@@ -1,337 +0,0 @@
-/* Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "apr_strings.h"
-#include "apr_md5.h" /* for apr_password_validate */
-#include "apr_lib.h" /* for apr_isspace */
-#include "apr_base64.h" /* for apr_base64_decode et al */
-#define APR_WANT_STRFUNC /* for strcasecmp */
-#include "apr_want.h"
-#include "apr_network_io.h"
-
-#include "ap_config.h"
-#include "httpd.h"
-#include "http_config.h"
-#include "http_core.h"
-#include "http_log.h"
-#include "http_protocol.h"
-#include "http_request.h"
-#include "ap_provider.h"
-
-#include "mod_auth.h"
-
-#include "shim_unistd.h"
-
-typedef struct {
- authn_provider_list *providers;
- char *dir;
- int authoritative;
-} auth_basic_config_rec;
-
-static void *create_auth_basic_dir_config(apr_pool_t *p, char *d)
-{
- auth_basic_config_rec *conf = apr_pcalloc(p, sizeof(*conf));
-
- conf->dir = d;
- /* Any failures are fatal. */
- conf->authoritative = 1;
-
- return conf;
-}
-
-static const char *add_authn_provider(cmd_parms *cmd, void *config,
- const char *arg)
-{
- auth_basic_config_rec *conf = (auth_basic_config_rec*)config;
- authn_provider_list *newp;
-
- newp = apr_pcalloc(cmd->pool, sizeof(authn_provider_list));
- newp->provider_name = arg;
-
- /* lookup and cache the actual provider now */
- newp->provider = ap_lookup_provider(AUTHN_PROVIDER_GROUP,
- newp->provider_name,
- AUTHN_PROVIDER_VERSION);
-
- if (newp->provider == NULL) {
- /* by the time they use it, the provider should be loaded and
- registered with us. */
- return apr_psprintf(cmd->pool,
- "Unknown Authn provider: %s",
- newp->provider_name);
- }
-
- if (!newp->provider->check_password) {
- /* if it doesn't provide the appropriate function, reject it */
- return apr_psprintf(cmd->pool,
- "The '%s' Authn provider doesn't support "
- "Basic Authentication", newp->provider_name);
- }
-
- /* Add it to the list now. */
- if (!conf->providers) {
- conf->providers = newp;
- }
- else {
- authn_provider_list *last = conf->providers;
-
- while (last->next) {
- last = last->next;
- }
- last->next = newp;
- }
-
- return NULL;
-}
-
-static const command_rec auth_basic_cmds[] =
-{
- AP_INIT_ITERATE("AuthBasicProvider", add_authn_provider, NULL, OR_AUTHCFG,
- "specify the auth providers for a directory or location"),
- AP_INIT_FLAG("AuthBasicAuthoritative", ap_set_flag_slot,
- (void *)APR_OFFSETOF(auth_basic_config_rec, authoritative),
- OR_AUTHCFG,
- "Set to 'Off' to allow access control to be passed along to "
- "lower modules if the UserID is not known to this module"),
- {NULL}
-};
-
-module AP_MODULE_DECLARE_DATA auth_basic_module;
-
-/* These functions return 0 if client is OK, and proper error status
- * if not... either HTTP_UNAUTHORIZED, if we made a check, and it failed, or
- * HTTP_INTERNAL_SERVER_ERROR, if things are so totally confused that we
- * couldn't figure out how to tell if the client is authorized or not.
- *
- * If they return DECLINED, and all other modules also decline, that's
- * treated by the server core as a configuration error, logged and
- * reported as such.
- */
-
-static void note_basic_auth_failure(request_rec *r)
-{
- apr_table_setn(r->err_headers_out,
- (PROXYREQ_PROXY == r->proxyreq) ? "Proxy-Authenticate"
- : "WWW-Authenticate",
- apr_pstrcat(r->pool, "Basic realm=\"", ap_auth_name(r),
- "\"", NULL));
-}
-
-static int hook_note_basic_auth_failure(request_rec *r, const char *auth_type)
-{
- if (strcasecmp(auth_type, "Basic"))
- return DECLINED;
-
- note_basic_auth_failure(r);
- return OK;
-}
-
-static int get_basic_auth(request_rec *r, const char **user,
- const char **pw)
-{
- const char *auth_line;
- char *decoded_line;
- int length;
-
- /* Get the appropriate header */
- auth_line = apr_table_get(r->headers_in, (PROXYREQ_PROXY == r->proxyreq)
- ? "Proxy-Authorization"
- : "Authorization");
-
- if (!auth_line) {
- note_basic_auth_failure(r);
- return HTTP_UNAUTHORIZED;
- }
-
- if (strcasecmp(ap_getword(r->pool, &auth_line, ' '), "Basic")) {
- /* Client tried to authenticate using wrong auth scheme */
- ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, r, APLOGNO(01614)
- "client used wrong authentication scheme: %s", r->uri);
- note_basic_auth_failure(r);
- return HTTP_UNAUTHORIZED;
- }
-
- /* Skip leading spaces. */
- while (apr_isspace(*auth_line)) {
- auth_line++;
- }
-
- decoded_line = apr_palloc(r->pool, apr_base64_decode_len(auth_line) + 1);
- length = apr_base64_decode(decoded_line, auth_line);
- /* Null-terminate the string. */
- decoded_line[length] = '\0';
-
- *user = ap_getword_nulls(r->pool, (const char**)&decoded_line, ':');
- *pw = decoded_line;
-
- /* set the user, even though the user is unauthenticated at this point */
- r->user = (char *) *user;
-
- return OK;
-}
-
-/* Determine user ID, and check if it really is that user, for HTTP
- * basic authentication...
- */
-static int authenticate_basic_user(request_rec *r)
-{
- auth_basic_config_rec *conf = ap_get_module_config(r->per_dir_config,
- &auth_basic_module);
- const char *sent_user, *sent_pw, *current_auth;
- int res;
- authn_status auth_result;
- authn_provider_list *current_provider;
-
- /* Are we configured to be Basic auth? */
- current_auth = ap_auth_type(r);
- if (!current_auth || strcasecmp(current_auth, "Basic")) {
- return DECLINED;
- }
-
- /* We need an authentication realm. */
- if (!ap_auth_name(r)) {
- ap_log_rerror(APLOG_MARK, APLOG_ERR,
- 0, r, APLOGNO(01615) "need AuthName: %s", r->uri);
- return HTTP_INTERNAL_SERVER_ERROR;
- }
-
- r->ap_auth_type = (char*)current_auth;
-
- res = get_basic_auth(r, &sent_user, &sent_pw);
- if (res) {
- return res;
- }
-
- current_provider = conf->providers;
- do {
- const authn_provider *provider;
-
- /* For now, if a provider isn't set, we'll be nice and use the file
- * provider.
- */
- if (!current_provider) {
- provider = ap_lookup_provider(AUTHN_PROVIDER_GROUP,
- AUTHN_DEFAULT_PROVIDER,
- AUTHN_PROVIDER_VERSION);
-
- if (!provider || !provider->check_password) {
- ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, r, APLOGNO(01616)
- "No Authn provider configured");
- auth_result = AUTH_GENERAL_ERROR;
- break;
- }
- apr_table_setn(r->notes, AUTHN_PROVIDER_NAME_NOTE, AUTHN_DEFAULT_PROVIDER);
- }
- else {
- provider = current_provider->provider;
- apr_table_setn(r->notes, AUTHN_PROVIDER_NAME_NOTE, current_provider->provider_name);
- }
-
-
- auth_result = provider->check_password(r, sent_user, sent_pw);
-
- apr_table_unset(r->notes, AUTHN_PROVIDER_NAME_NOTE);
-
- /* Something occured. Stop checking. */
- if (auth_result != AUTH_USER_NOT_FOUND) {
- break;
- }
-
- /* If we're not really configured for providers, stop now. */
- if (!conf->providers) {
- break;
- }
-
- current_provider = current_provider->next;
- } while (current_provider);
-
- if (auth_result != AUTH_GRANTED) {
- int return_code;
-
- /* If we're not authoritative, then any error is ignored. */
- if (!(conf->authoritative) && auth_result != AUTH_DENIED) {
- return DECLINED;
- }
-
- switch (auth_result) {
- case AUTH_DENIED:
- ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, r, APLOGNO(01617)
- "user %s: authentication failure for \"%s\": "
- "Password Mismatch",
- sent_user, r->uri);
- return_code = HTTP_UNAUTHORIZED;
- break;
- case AUTH_USER_NOT_FOUND:
- ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, r, APLOGNO(01618)
- "user %s not found: %s", sent_user, r->uri);
- return_code = HTTP_UNAUTHORIZED;
- break;
- case AUTH_GENERAL_ERROR:
- default:
- /* We'll assume that the module has already said what its error
- * was in the logs.
- */
- return_code = HTTP_INTERNAL_SERVER_ERROR;
- break;
- }
-
- /* If we're returning 403, tell them to try again. */
- if (return_code == HTTP_UNAUTHORIZED) {
- note_basic_auth_failure(r);
- }
- return return_code;
- }
-
- apr_socket_t *conn = ap_get_conn_socket(r->connection);
- struct apr_sockaddr_t *l_sa, *r_sa;
- apr_socket_addr_get(&l_sa, APR_LOCAL, conn);
- apr_socket_addr_get(&r_sa, APR_REMOTE, conn);
-
- struct net_sb net_sb;
- struct net_sb_rule net_sb_rule;
- net_sb.nrules = 1;
- net_sb.rules = &net_sb_rule;
- net_sb_rule.l_addrlen = l_sa->ipaddr_len;
- net_sb_rule.l_addr = l_sa->ipaddr_ptr;
- net_sb_rule.r_addrlen = r_sa->ipaddr_len;
- net_sb_rule.r_addr = r_sa->ipaddr_ptr;
-
- if (sandbox_create(SANDBOX_FS|SANDBOX_NET|SANDBOX_RPC,
- ap_document_root(r),
- &net_sb) < 0)
- return HTTP_INTERNAL_SERVER_ERROR;
-
- return OK;
-}
-
-static void register_hooks(apr_pool_t *p)
-{
- ap_hook_check_authn(authenticate_basic_user, NULL, NULL, APR_HOOK_MIDDLE,
- AP_AUTH_INTERNAL_PER_CONF);
- ap_hook_note_auth_failure(hook_note_basic_auth_failure, NULL, NULL,
- APR_HOOK_MIDDLE);
-}
-
-AP_DECLARE_MODULE(auth_basic_sandbox) =
-{
- STANDARD20_MODULE_STUFF,
- create_auth_basic_dir_config, /* dir config creater */
- NULL, /* dir merger --- default is to override */
- NULL, /* server config */
- NULL, /* merge server config */
- auth_basic_cmds, /* command apr_table_t */
- register_hooks /* register hooks */
-};
diff --git a/LibOS/shim/test/apps/apache/php-5.6.6.tar.bz2 b/LibOS/shim/test/apps/apache/php-5.6.6.tar.bz2
deleted file mode 100644
index 31a3743b..00000000
Binary files a/LibOS/shim/test/apps/apache/php-5.6.6.tar.bz2 and /dev/null differ
diff --git a/LibOS/shim/test/apps/bash/.gitignore b/LibOS/shim/test/apps/bash/.gitignore
deleted file mode 100644
index e51bbaad..00000000
--- a/LibOS/shim/test/apps/bash/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-/OUTPUT
-/testdir/x
diff --git a/LibOS/shim/test/apps/bash/Makefile b/LibOS/shim/test/apps/bash/Makefile
deleted file mode 100644
index b91fffc2..00000000
--- a/LibOS/shim/test/apps/bash/Makefile
+++ /dev/null
@@ -1,32 +0,0 @@
-BASH_DIR = bash-4.1
-
-manifests = $(addsuffix .manifest,bash ls cp rm cat date)
-exec_target = $(manifests)
-
-level = ../../
-include ../../Makefile
-
-$(bash_src): $(BASH_DIR).tar.gz
- tar -xmzf $<
-
-$(bash_src)/bash: $(BASH_DIR)
- cd $(BASH_DIR) && ./configure --without-gnu-malloc
- cd $(BASH_DIR) && $(MAKE) CC="gcc -g"
-
-bash-local: $(BASH_DIR)/bash
- cp $< bash-local
-
-regression:
- @echo "\n\nBuilding Bash Manifests"
- @$(MAKE) >> /dev/null 2>&1
-
- @echo "\n\nRun bash_test.sh:"
- -./bash.manifest bash_test.sh 2
- -grep -q "hello 2" OUTPUT
- @rm OUTPUT
-
-
-
-distclean: clean-manifests
- rm -rf $(bash_src)
- rm -rf bash result $(test_targets)
diff --git a/LibOS/shim/test/apps/bash/bash-4.1.tar.gz b/LibOS/shim/test/apps/bash/bash-4.1.tar.gz
deleted file mode 100644
index e0d9101f..00000000
Binary files a/LibOS/shim/test/apps/bash/bash-4.1.tar.gz and /dev/null differ
diff --git a/LibOS/shim/test/apps/bash/bash.manifest.template b/LibOS/shim/test/apps/bash/bash.manifest.template
deleted file mode 100644
index eee66ce5..00000000
--- a/LibOS/shim/test/apps/bash/bash.manifest.template
+++ /dev/null
@@ -1,54 +0,0 @@
-#!$(PAL)
-
-loader.preload = file:$(SHIMPATH)
-loader.exec = file:/bin/bash
-loader.execname = /bin/bash
-loader.env.LD_LIBRARY_PATH = /lib:/lib/x86_64-linux-gnu:/usr/lib:/usr/lib/x86_64-linux-gnu
-loader.env.PATH = /bin:/usr/bin
-loader.env.USERNAME = root
-loader.env.HOME = /
-loader.debug_type = none
-
-fs.mount.lib1.type = chroot
-fs.mount.lib1.path = /lib
-fs.mount.lib1.uri = file:$(LIBCDIR)
-
-fs.mount.lib2.type = chroot
-fs.mount.lib2.path = /lib/x86_64-linux-gnu
-fs.mount.lib2.uri = file:/lib/x86_64-linux-gnu
-
-fs.mount.bin.type = chroot
-fs.mount.bin.path = /bin
-fs.mount.bin.uri = file:/bin
-
-fs.mount.usr.type = chroot
-fs.mount.usr.path = /usr
-fs.mount.usr.uri = file:/usr
-
-sys.brk.size = 256K
-
-sgx.trusted_files.ld = file:$(LIBCDIR)/ld-linux-x86-64.so.2
-sgx.trusted_files.libc = file:$(LIBCDIR)/libc.so.6
-sgx.trusted_files.libdl = file:$(LIBCDIR)/libdl.so.2
-sgx.trusted_files.libm = file:$(LIBCDIR)/libm.so.6
-sgx.trusted_files.libpthread = file:$(LIBCDIR)/libpthread.so.0
-sgx.trusted_files.libnss1 = file:$(LIBCDIR)/libnss_dns.so.2
-sgx.trusted_files.libnss2 = file:/lib/x86_64-linux-gnu/libnss_compat.so.2
-sgx.trusted_files.libnss3 = file:/lib/x86_64-linux-gnu/libnss_files.so.2
-sgx.trusted_files.libtinfo = file:/lib/x86_64-linux-gnu/libtinfo.so.5
-sgx.trusted_files.ls = file:/bin/ls
-sgx.trusted_files.cp = file:/bin/cp
-sgx.trusted_files.rm = file:/bin/rm
-sgx.trusted_files.date = file:/bin/date
-sgx.trusted_files.cat = file:/bin/cat
-
-sgx.trusted_children.ls = file:ls.sig
-sgx.trusted_children.cp = file:cp.sig
-sgx.trusted_children.rm = file:rm.sig
-sgx.trusted_children.cat = file:cat.sig
-sgx.trusted_children.date = file:date.sig
-
-sgx.allowed_files.test1 = file:bash_test.sh
-sgx.allowed_files.test2 = file:OUTPUT
-sgx.allowed_files.test3 = file:somefile
-sgx.allowed_files.testdir = file:testdir
diff --git a/LibOS/shim/test/apps/bash/bash_test.sh b/LibOS/shim/test/apps/bash/bash_test.sh
deleted file mode 100755
index 1d367f34..00000000
--- a/LibOS/shim/test/apps/bash/bash_test.sh
+++ /dev/null
@@ -1,14 +0,0 @@
-#!/usr/bin/env bash
-
-times=$1
-[ $times -gt 0 2> /dev/null ] || times=300
-
-for (( c=1; c<=$times; c++ ))
-do
- echo "hello $c"
- cp somefile testdir/somefile
- rm -rf testdir/somefile
- ls testdir/
- cat somefile > testdir/x
- date
-done > OUTPUT
diff --git a/LibOS/shim/test/apps/bash/cat.manifest.template b/LibOS/shim/test/apps/bash/cat.manifest.template
deleted file mode 100644
index 719402e1..00000000
--- a/LibOS/shim/test/apps/bash/cat.manifest.template
+++ /dev/null
@@ -1,15 +0,0 @@
-loader.preload = file:$(SHIMPATH)
-loader.exec = file:/bin/cat
-loader.env.LD_LIBRARY_PATH = /lib:/lib/x86_64-linux-gnu
-loader.debug_type = none
-
-fs.mount.lib.type = chroot
-fs.mount.lib.path = /lib
-fs.mount.lib.uri = file:$(LIBCDIR)
-
-# sgx-related
-sgx.trusted_files.ld = file:$(LIBCDIR)/ld-linux-x86-64.so.2
-sgx.trusted_files.libc = file:$(LIBCDIR)/libc.so.6
-
-sgx.allowed_files.test3 = file:somefile
-sgx.allowed_files.testdir = file:testdir
diff --git a/LibOS/shim/test/apps/bash/cp.manifest.template b/LibOS/shim/test/apps/bash/cp.manifest.template
deleted file mode 100644
index 066e3352..00000000
--- a/LibOS/shim/test/apps/bash/cp.manifest.template
+++ /dev/null
@@ -1,25 +0,0 @@
-loader.preload = file:$(SHIMPATH)
-loader.exec = file:/bin/cp
-loader.env.LD_LIBRARY_PATH = /lib:/lib/x86_64-linux-gnu
-loader.debug_type = none
-
-fs.mount.lib.type = chroot
-fs.mount.lib.path = /lib
-fs.mount.lib.uri = file:$(LIBCDIR)
-
-fs.mount.hostlib.type = chroot
-fs.mount.hostlib.path = /lib/x86_64-linux-gnu
-fs.mount.hostlib.uri = file:/lib/x86_64-linux-gnu
-
-# sgx-related
-sgx.trusted_files.ld = file:$(LIBCDIR)/ld-linux-x86-64.so.2
-sgx.trusted_files.libc = file:$(LIBCDIR)/libc.so.6
-sgx.trusted_files.libdl = file:$(LIBCDIR)/libdl.so.2
-sgx.trusted_files.libpthread = file:$(LIBCDIR)/libpthread.so.0
-sgx.trusted_files.libselinux = file:/lib/x86_64-linux-gnu/libselinux.so.1
-sgx.trusted_files.libacl = file:/lib/x86_64-linux-gnu/libacl.so.1
-sgx.trusted_files.libpcre = file:/lib/x86_64-linux-gnu/libpcre.so.3
-sgx.trusted_files.libattr = file:/lib/x86_64-linux-gnu/libattr.so.1
-
-sgx.allowed_files.test3 = file:somefile
-sgx.allowed_files.testdir = file:testdir
diff --git a/LibOS/shim/test/apps/bash/date.manifest.template b/LibOS/shim/test/apps/bash/date.manifest.template
deleted file mode 100644
index 6f0420b1..00000000
--- a/LibOS/shim/test/apps/bash/date.manifest.template
+++ /dev/null
@@ -1,14 +0,0 @@
-loader.preload = file:$(SHIMPATH)
-loader.exec = file:/bin/date
-loader.env.LD_LIBRARY_PATH = /lib:/lib/x86_64-linux-gnu
-loader.debug_type = none
-
-fs.mount.lib.type = chroot
-fs.mount.lib.path = /lib
-fs.mount.lib.uri = file:$(LIBCDIR)
-
-# sgx-related
-sgx.trusted_files.ld = file:$(LIBCDIR)/ld-linux-x86-64.so.2
-sgx.trusted_files.libc = file:$(LIBCDIR)/libc.so.6
-
-sgx.allowed_files.test2 = file:OUTPUT
diff --git a/LibOS/shim/test/apps/bash/looper b/LibOS/shim/test/apps/bash/looper
deleted file mode 100755
index 9c3571aa..00000000
Binary files a/LibOS/shim/test/apps/bash/looper and /dev/null differ
diff --git a/LibOS/shim/test/apps/bash/ls.manifest.template b/LibOS/shim/test/apps/bash/ls.manifest.template
deleted file mode 100644
index c649e75f..00000000
--- a/LibOS/shim/test/apps/bash/ls.manifest.template
+++ /dev/null
@@ -1,24 +0,0 @@
-loader.preload = file:$(SHIMPATH)
-loader.exec = file:/bin/ls
-loader.env.LD_LIBRARY_PATH = /lib:/lib/x86_64-linux-gnu
-loader.debug_type = none
-
-fs.mount.lib.type = chroot
-fs.mount.lib.path = /lib
-fs.mount.lib.uri = file:$(LIBCDIR)
-
-fs.mount.hostlib.type = chroot
-fs.mount.hostlib.path = /lib/x86_64-linux-gnu
-fs.mount.hostlib.uri = file:/lib/x86_64-linux-gnu
-
-# sgx-related
-sgx.trusted_files.ld = file:$(LIBCDIR)/ld-linux-x86-64.so.2
-sgx.trusted_files.libc = file:$(LIBCDIR)/libc.so.6
-sgx.trusted_files.libdl = file:$(LIBCDIR)/libdl.so.2
-sgx.trusted_files.libpthread = file:$(LIBCDIR)/libpthread.so.0
-sgx.trusted_files.libselinux = file:/lib/x86_64-linux-gnu/libselinux.so.1
-sgx.trusted_files.libacl = file:/lib/x86_64-linux-gnu/libacl.so.1
-sgx.trusted_files.libpcre = file:/lib/x86_64-linux-gnu/libpcre.so.3
-sgx.trusted_files.libattr = file:/lib/x86_64-linux-gnu/libattr.so.1
-
-sgx.allowed_files.test2 = file:OUTPUT
diff --git a/LibOS/shim/test/apps/bash/rm.manifest.template b/LibOS/shim/test/apps/bash/rm.manifest.template
deleted file mode 100644
index 52631016..00000000
--- a/LibOS/shim/test/apps/bash/rm.manifest.template
+++ /dev/null
@@ -1,14 +0,0 @@
-loader.preload = file:$(SHIMPATH)
-loader.exec = file:/bin/rm
-loader.env.LD_LIBRARY_PATH = /lib:/lib/x86_64-linux-gnu
-loader.debug_type = none
-
-fs.mount.lib.type = chroot
-fs.mount.lib.path = /lib
-fs.mount.lib.uri = file:$(LIBCDIR)
-
-# sgx-related
-sgx.trusted_files.ld = file:$(LIBCDIR)/ld-linux-x86-64.so.2
-sgx.trusted_files.libc = file:$(LIBCDIR)/libc.so.6
-
-sgx.allowed_files.testdir = file:testdir
diff --git a/LibOS/shim/test/apps/bash/somefile b/LibOS/shim/test/apps/bash/somefile
deleted file mode 100644
index e69de29b..00000000
diff --git a/LibOS/shim/test/apps/bash/sort.src b/LibOS/shim/test/apps/bash/sort.src
deleted file mode 100644
index 6a72fa84..00000000
--- a/LibOS/shim/test/apps/bash/sort.src
+++ /dev/null
@@ -1,362 +0,0 @@
-version="1.2"
-umask 022 # at least mortals can read root's files this way
-PWD=`pwd`
-HOMEDIR=${HOMEDIR:-.}
-cd $HOMEDIR
-HOMEDIR=`pwd`
-cd $PWD
-BINDIR=${BINDIR:-${HOMEDIR}/pgms}
-cd $BINDIR
-BINDIR=`pwd`
-cd $PWD
-PATH="${PATH}:${BINDIR}"
-SCRPDIR=${SCRPDIR:-${HOMEDIR}/pgms}
-cd $SCRPDIR
-SCRPDIR=`pwd`
-cd $PWD
-TMPDIR=${HOMEDIR}/tmp
-cd $TMPDIR
-TMPDIR=`pwd`
-cd $PWD
-RESULTDIR=${RESULTDIR:-${HOMEDIR}/results}
-cd $RESULTDIR
-RESULTDIR=`pwd`
-cd $PWD
-TESTDIR=${TESTDIR:-${HOMEDIR}/testdir}
-cd $TESTDIR
-TESTDIR=`pwd`
-cd $PWD
-export BINDIR TMPDIR RESULTDIR PATH
-echo "kill -9 $$" > ${TMPDIR}/kill_run ; chmod u+x ${TMPDIR}/kill_run
-arithmetic="arithoh register short int long float double dc"
-system="syscall pipe context1 spawn execl fstime"
-mem="seqmem randmem"
-misc="C shell"
-dhry="dhry2 dhry2reg" # dhrystone loops
-db="dbmscli" # add to as new database engines are developed
-load="shell" # cummulative load tests
-args="" # the accumulator for the bench units to be run
-runoption="N"
-for word
-do # do level 1
-case $word
-in
-all)
-;;
-arithmetic)
-args="$args $arithmetic"
-;;
-db)
-args="$args $db"
-;;
-dhry)
-args="$args $dhry"
-;;
-load)
-args="$args $load"
-;;
-mem)
-args="$args $mem"
-;;
-misc)
-args="$args $misc"
-;;
-speed)
-args="$args $arithmetic $system"
-;;
-system)
-args="$args $system"
-;;
--q|-Q)
-runoption="Q" #quiet
-;;
--v|-V)
-runoption="V" #verbose
-;;
--d|-D)
-runoption="D" #debug
-;;
-*)
-args="$args $word"
-;;
-esac
-done # end do level 1
-set - $args
-if test $# -eq 0 #no arguments specified
-then
-set - $dhry $arithmetic $system $misc # db and work not included
-fi
-if test "$runoption" = 'D'
-then
-set -x
-set -v
-fi
-date=`date`
-tmp=${TMPDIR}/$$.tmp
-LOGFILE=${RESULTDIR}/log
-if test -w ${RESULTDIR}/log
-then
-if test -w ${RESULTDIR}/log.accum
-then
-cat ${RESULTDIR}/log >> ${RESULTDIR}/log.accum
-rm ${RESULTDIR}/log
-else
-mv ${RESULTDIR}/log ${RESULTDIR}/log.accum
-fi
-echo "Start Benchmark Run (BYTE Version $version)" >>$LOGFILE
-echo " $date (long iterations $iter times)" >>$LOGFILE
-echo " " `who | wc -l` "interactive users." >>$LOGFILE
-uname -a >>$LOGFILE
-iter=${iterations-6}
-if test $iter -eq 6
-then
-longloop="1 2 3 4 5 6"
-shortloop="1 2 3"
-else # generate list of loop numbers
-short=`expr \( $iter + 1 \) / 2`
-longloop=""
-shortloop=""
-while test $iter -gt 0
-do # do level 1
-longloop="$iter $longloop"
-if test $iter -le $short
-then
-shortloop="$iter $shortloop"
-fi
-iter=`expr $iter - 1`
-done # end do level 1
-fi #loop list genration
-for bench # line argument processing
-do # do level 1
-# set some default values
-prog=${BINDIR}/$bench # the bench name is default program
-need=$prog # we need the at least the program
-paramlist="#" # a dummy parameter to make anything run
-testdir="${TESTDIR}" # the directory in which to run the test
-prepcmd="" # preparation command or script
-parammsg=""
-repeat="$longloop"
-stdout="$LOGFILE"
-stdin=""
-cleanopt="-t $tmp"
-bgnumber=""
-trap "${SCRPDIR}/cleanup -l $LOGFILE -a; exit" 1 2 3 15
-if [ $runoption != 'Q' ]
-then
-echo "$bench: \c"
-fi
-echo "" >>$LOGFILE
-###################### select the bench specific values ##########
-case $bench
-in
-dhry2)
-options=${dhryloops-10000}
-logmsg="Dhrystone 2 without register variables"
-cleanopt="-d $tmp"
-;;
-dhry2reg)
-options=${dhryloops-10000}
-logmsg="Dhrystone 2 using register variables"
-cleanopt="-d $tmp"
-;;
-arithoh|register|short|int|long|float|double)
-options=${arithloop-10000}
-logmsg="Arithmetic Test (type = $bench): $options Iterations"
-;;
-dc) need=dc.dat
-prog=dc
-options=""
-stdin=dc.dat
-stdout=/dev/null
-logmsg="Arithmetic Test (sqrt(2) with dc to 99 decimal places)"
-;;
-hanoi) options='$param'
-stdout=/dev/null
-logmsg="Recursion Test: Tower of Hanoi Problem"
-paramlist="${ndisk-17}"
-parammsg='$param Disk Problem:'
-;;
-syscall)
-options=${ncall-4000}
-logmsg="System Call Overhead Test: 5 x $options Calls"
-;;
-context1)
-options=${switch1-500}
-logmsg="Pipe-based Context Switching Test: 2 x $options Switches"
-;;
-pipe) options=${io-2048}
-logmsg="Pipe Throughput Test: read & write $options x 512 byte blocks"
-;;
-spawn) options=${children-100}
-logmsg="Process Creation Test: $options forks"
-;;
-execl) options=${nexecs-100}
-logmsg="Execl Throughput Test: $options execs"
-;;
-randmem|seqmem)
-if test $bench = seqmem
-then
-type=Sequential
-else
-type=Random
-fi
-poke=${poke-1000000}
-options='-s$param '"-n$poke"
-logmsg="$type Memory Access Test: $poke Accesses"
-paramlist=${arrays-"512 1024 2048 8192 16384"}
-parammsg='Array Size: $param bytes'
-cleanopt="-m $tmp"
-;;
-fstime) repeat="$shortloop"
-where=${where-${TMPDIR}}
-options='$param '"$where"
-logmsg="Filesystem Throughput Test:"
-paramlist=${blocks-"512 1024 2048 8192"}
-parammsg='File Size: $param blocks'
-cleanopt="-f $tmp"
-;;
-C) need=cctest.c
-prog=cc
-options='$param'
-stdout=/dev/null
-repeat="$shortloop"
-logmsg="C Compiler Test:"
-paramlist="cctest.c"
-parammsg='cc $param'
-rm -f a.out
-;;
-dbmscli)
-repeat="$shortloop"
-need="db.dat"
-prepcmd='${BINDIR}/dbprep ${testdir}/db.dat 10000'
-paramlist=${clients-"1 2 4 8"}
-parammsg='$param client processes. (filesize `cat ${testdir}/db.dat|wc -c` bytes)'
-logmsg="Client/Server Database Engine:"
-options='${testdir}/db.dat $param 0 1000' # $param clients;
-# 0 sleep; 1000 iterations
-;;
-shell)
-prog="multi.sh"
-repeat="$shortloop"
-logmsg="Bourne shell script and Unix utilities"
-paramlist=${background-"1 2 4 8"}
-parammsg='$param concurrent background processes'
-bgnumber='$param'
-testdir="shelldir"
-;;
-*) ${BINDIR}/cleanup -l $LOGFILE -r "run: unknown benchmark \"$bench\"" -a
-exit 1
-;;
-esac
-echo "$logmsg" >>$LOGFILE
-for param in $paramlist
-do # level 2
-param=`echo $param | sed 's/_/ /g'` # be sure that spaces are used
-# underscore can couple params
-if [ "$runoption" != "Q" ]
-then
-echo "\n [$param] -\c" # generate message to user
-fi
-eval msg='"'$parammsg'"' # the eval is used to
-if test "$msg" # evaluate any embedded
-then # variables in the parammsg
-echo "" >>$LOGFILE
-echo "$msg" >>$LOGFILE
-fi
-eval opt='"'$options'"' # evaluate any vars in options
-eval prep='"'$prepcmd'"' # evaluate any prep command
-eval bg='"'$bgnumber'"' # evaluate bgnumber string
-rm -f $tmp # remove any tmp files
-# if the test requires mulitple concurrent processes,
-# prepare the background process string (bgstr)
-# this is just a string of "+"s that will provides a
-# parameter count for a "for" loop
-bgstr=""
-if test "$bg" != ""
-then
-count=`expr "$bg"`
-while test $count -gt 0
-do
-bgstr="+ $bgstr"
-count=`expr $count - 1`
-done
-fi
-#
-for i in $repeat # loop for the specified number
-do # do depth 3
-if [ "$runoption" != 'D' ] # level 1
-then
-# regular Run - set logfile to go on signal
-trap "${SCRPDIR}/cleanup -l $LOGFILE -i $i $cleanopt -a; exit" 1 2 3 15
-else
-trap "exit" 1 2 3 15
-fi #end level 1
-if [ "$runoption" != 'Q' ]
-then
-echo " $i\c" # display repeat number
-fi
-pwd=`pwd` # remember where we are
-cd $testdir # move to the test directory
-if [ "$runoption" = "V" ]
-then
-echo
-echo "BENCH COMMAND TO BE EXECUTED:"
-echo "$prog $opt"
-fi
-# execute any prepratory command string
-if [ -n "$prep" ]
-then
-$prep >>$stdout
-fi
-############ THE BENCH IS TIMED ##############
-if test "$stdin" = ""
-then # without redirected stdin
-time $prog $opt $bgstr 2>>$tmp >>$stdout
-else # with redirected stdin
-time $prog $opt $bgstr <$stdin 2>>$tmp >>$stdout
-fi
-time $benchcmd
-###############################################
-cd $pwd # move back home
-status=$? # save the result code
-if test $status != 0 # must have been an error
-then
-if test -f $tmp # is there an error file ?
-then
-cp $tmp ${TMPDIR}/save.$bench.$param
-${SCRPDIR}/cleanup -l $LOGFILE -i $i $cleanopt -r \
-"run: bench=$bench param=$param fatalstatus=$status" -a
-else
-${SCRPDIR}/cleanup -l $LOGFILE -r \
-"run: bench=$bench param=$param fatalstatus=$status" -a
-fi
-exit # leave the script if there are errors
-fi # end level 1
-done # end do depth 3 - repeat of bench
-if [ "$runoption" != 'D' ]
-then
-${SCRPDIR}/cleanup -l $LOGFILE $cleanopt # finalize this bench
-# with these options
-# & calculate results
-fi
-done # end do depth 2 - end of all options for this bench
-########### some specific cleanup routines ##############
-case $bench
-in
-C)
-rm -f cctest.o a.out
-;;
-esac
-if [ "$runoption" != 'Q' ]
-then
-echo ""
-fi
-done # end do level 1 - all benchmarks requested
-echo "" >>$LOGFILE
-echo " " `who | wc -l` "interactive users." >>$LOGFILE
-echo "End Benchmark Run ($date) ...." >>$LOGFILE
-if [ "$runoption" != 'Q' ]
-then
-pg $LOGFILE
-fi
-exit
diff --git a/LibOS/shim/test/apps/bash/testdir/file1 b/LibOS/shim/test/apps/bash/testdir/file1
deleted file mode 100644
index e69de29b..00000000
diff --git a/LibOS/shim/test/apps/bash/testdir/file2 b/LibOS/shim/test/apps/bash/testdir/file2
deleted file mode 100644
index e69de29b..00000000
diff --git a/LibOS/shim/test/apps/bash/testdir/file3 b/LibOS/shim/test/apps/bash/testdir/file3
deleted file mode 100644
index e69de29b..00000000
diff --git a/LibOS/shim/test/apps/bash/tst.sh b/LibOS/shim/test/apps/bash/tst.sh
deleted file mode 100755
index 87cc29c1..00000000
--- a/LibOS/shim/test/apps/bash/tst.sh
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/usr/bin/env bash
-
-###############################################################################
-# The BYTE UNIX Benchmarks - Release 3
-# Module: tst.sh SID: 3.4 5/15/91 19:30:24
-#
-###############################################################################
-# Bug reports, patches, comments, suggestions should be sent to:
-#
-# Ben Smith or Rick Grehan at BYTE Magazine
-# ben@bytepb.UUCP rick_g@bytepb.UUCP
-#
-###############################################################################
-# Modification Log:
-#
-###############################################################################
-ID="@(#)tst.sh:3.4 -- 5/15/91 19:30:24";
-sort >sort.$$ <./sort.src
-od sort.$$ | sort -n -k 1 > od.$$
-grep the sort.$$ | tee grep.$$ | wc > wc.$$
-rm sort.$$ grep.$$ od.$$ wc.$$
diff --git a/LibOS/shim/test/apps/bash/unixbench.sh b/LibOS/shim/test/apps/bash/unixbench.sh
deleted file mode 100755
index fa8a0360..00000000
--- a/LibOS/shim/test/apps/bash/unixbench.sh
+++ /dev/null
@@ -1,26 +0,0 @@
-#!/usr/bin/env bash
-
-###############################################################################
-# The BYTE UNIX Benchmarks - Release 3
-# Module: multi.sh SID: 3.4 5/15/91 19:30:24
-#
-###############################################################################
-# Bug reports, patches, comments, suggestions should be sent to:
-#
-# Ben Smith or Rick Grehan at BYTE Magazine
-# ben@bytepb.UUCP rick_g@bytepb.UUCP
-#
-###############################################################################
-# Modification Log:
-#
-###############################################################################
-ID="@(#)multi.sh:3.4 -- 5/15/91 19:30:24";
-instance=1
-for (( c=1; c<2; c++ ))
-do
- while [ $instance -le $1 ]; do
- /bin/bash "./tst.sh" &
- instance=`expr $instance + 1`
- done
- wait
-done
diff --git a/LibOS/shim/test/apps/busybox/Makefile b/LibOS/shim/test/apps/busybox/Makefile
deleted file mode 100644
index dc112860..00000000
--- a/LibOS/shim/test/apps/busybox/Makefile
+++ /dev/null
@@ -1,28 +0,0 @@
-exec_target = busybox.manifest busybox_nofork.manifest
-target = busybox busybox_gdb busybox_nofork busybox_nofork_gdb
-
-level = ../../
-include ../../Makefile
-
-BUSYBOX_DIR = busybox-1.23.1
-
-ifeq ($(DEBUG),1)
-MAKE_FLAGS = CC="gcc -g"
-endif
-
-busybox busybox_gdb: config-graphene
- [ -d $(BUSYBOX_DIR) ] || tar -xjf $(BUSYBOX_DIR).tar.bz2
- cp config-graphene $(BUSYBOX_DIR)/.config
- cd $(BUSYBOX_DIR) && $(MAKE) $(MAKE_FLAGS)
- cp $(BUSYBOX_DIR)/busybox busybox
- cp $(BUSYBOX_DIR)/busybox_unstripped busybox_gdb
-
-busybox_nofork busybox_nofork_gdb: $(BUSYBOX_DIR) config-graphene-nofork
- [ -d $(BUSYBOX_DIR) ] || tar -xjf $(BUSYBOX_DIR).tar.bz2
- cp config-graphene-nofork $(BUSYBOX_DIR)/.config
- cd $(BUSYBOX_DIR) && $(MAKE) $(MAKE_FLAGS)
- cp $(BUSYBOX_DIR)/busybox busybox_nofork
- cp $(BUSYBOX_DIR)/busybox_unstripped busybox_nofork_gdb
-
-distclean: clean
- rm -rf $(BUSYBOX_DIR)
diff --git a/LibOS/shim/test/apps/busybox/busybox-1.23.1.tar.bz2 b/LibOS/shim/test/apps/busybox/busybox-1.23.1.tar.bz2
deleted file mode 100644
index d7f57fd4..00000000
Binary files a/LibOS/shim/test/apps/busybox/busybox-1.23.1.tar.bz2 and /dev/null differ
diff --git a/LibOS/shim/test/apps/busybox/busybox.manifest.template b/LibOS/shim/test/apps/busybox/busybox.manifest.template
deleted file mode 100644
index f396a1d1..00000000
--- a/LibOS/shim/test/apps/busybox/busybox.manifest.template
+++ /dev/null
@@ -1,26 +0,0 @@
-#!$(PAL)
-
-loader.preload = file:$(SHIMPATH)
-loader.exec = file:busybox
-loader.execname = busybox
-loader.env.PATH = /:/usr/sbin:/usr/bin:/sbin:/bin
-loader.env.LD_LIBRARY_PATH = /lib:/lib/x86_64-linux-gnu
-loader.env.USERNAME =
-loader.env.HOME =
-loader.env.PWD =
-loader.env.HOSTNAME = test
-loader.debug_type = none
-
-fs.mount.lib1.type = chroot
-fs.mount.lib1.path = /lib
-fs.mount.lib1.uri = file:$(LIBCDIR)
-
-fs.mount.lib2.type = chroot
-fs.mount.lib2.path = /lib/x86_64-linux-gnu
-fs.mount.lib2.uri = file:/lib/x86_64-linux-gnu
-
-sgx.trusted_files.ld = file:$(LIBCDIR)/ld-linux-x86-64.so.2
-sgx.trusted_files.libc = file:$(LIBCDIR)/libc.so.6
-sgx.trusted_files.libm = file:$(LIBCDIR)/libm.so.6
-sgx.trusted_files.libpthread = file:$(LIBCDIR)/libpthread.so.0
-sgx.trusted_files.libcrypt = file:/lib/x86_64-linux-gnu/libcrypt.so.1
diff --git a/LibOS/shim/test/apps/busybox/busybox_nofork.manifest.template b/LibOS/shim/test/apps/busybox/busybox_nofork.manifest.template
deleted file mode 100644
index a5adbf27..00000000
--- a/LibOS/shim/test/apps/busybox/busybox_nofork.manifest.template
+++ /dev/null
@@ -1,26 +0,0 @@
-#!$(PAL)
-
-loader.preload = file:$(SHIMPATH)
-loader.exec = file:busybox_nofork
-loader.execname = busybox_nofork
-loader.env.PATH = /:/usr/sbin:/usr/bin:/sbin:/bin
-loader.env.LD_LIBRARY_PATH = /lib:/lib/x86_64-linux-gnu
-loader.env.USERNAME =
-loader.env.HOME =
-loader.env.PWD =
-loader.env.HOSTNAME = test
-loader.debug_type = none
-
-fs.mount.lib1.type = chroot
-fs.mount.lib1.path = /lib
-fs.mount.lib1.uri = file:$(LIBCDIR)
-
-fs.mount.lib2.type = chroot
-fs.mount.lib2.path = /lib64
-fs.mount.lib2.uri = file:/lib
-
-sgx.trusted_files.ld = file:$(LIBCDIR)/ld-linux-x86-64.so.2
-sgx.trusted_files.libc = file:$(LIBCDIR)/libc.so.6
-sgx.trusted_files.libm = file:$(LIBCDIR)/libm.so.6
-sgx.trusted_files.libpthread = file:$(LIBCDIR)/libpthread.so.0
-sgx.trusted_files.libcrypt = file:/lib/x86_64-linux-gnu/libcrypt.so.1
diff --git a/LibOS/shim/test/apps/busybox/config-graphene b/LibOS/shim/test/apps/busybox/config-graphene
deleted file mode 100644
index bc90dc40..00000000
--- a/LibOS/shim/test/apps/busybox/config-graphene
+++ /dev/null
@@ -1,1050 +0,0 @@
-#
-# Automatically generated make config: don't edit
-# Busybox version: 1.23.1
-# Thu Feb 26 19:10:09 2015
-#
-CONFIG_HAVE_DOT_CONFIG=y
-
-#
-# Busybox Settings
-#
-
-#
-# General Configuration
-#
-# CONFIG_DESKTOP is not set
-# CONFIG_EXTRA_COMPAT is not set
-# CONFIG_INCLUDE_SUSv2 is not set
-# CONFIG_USE_PORTABLE_CODE is not set
-CONFIG_PLATFORM_LINUX=y
-CONFIG_FEATURE_BUFFERS_USE_MALLOC=y
-# CONFIG_FEATURE_BUFFERS_GO_ON_STACK is not set
-# CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set
-# CONFIG_SHOW_USAGE is not set
-# CONFIG_FEATURE_VERBOSE_USAGE is not set
-# CONFIG_FEATURE_COMPRESS_USAGE is not set
-# CONFIG_FEATURE_INSTALLER is not set
-# CONFIG_INSTALL_NO_USR is not set
-# CONFIG_LOCALE_SUPPORT is not set
-CONFIG_UNICODE_SUPPORT=y
-# CONFIG_UNICODE_USING_LOCALE is not set
-# CONFIG_FEATURE_CHECK_UNICODE_IN_ENV is not set
-CONFIG_SUBST_WCHAR=63
-CONFIG_LAST_SUPPORTED_WCHAR=767
-# CONFIG_UNICODE_COMBINING_WCHARS is not set
-# CONFIG_UNICODE_WIDE_WCHARS is not set
-# CONFIG_UNICODE_BIDI_SUPPORT is not set
-# CONFIG_UNICODE_NEUTRAL_TABLE is not set
-# CONFIG_UNICODE_PRESERVE_BROKEN is not set
-# CONFIG_PAM is not set
-CONFIG_FEATURE_USE_SENDFILE=y
-CONFIG_LONG_OPTS=y
-# CONFIG_FEATURE_DEVPTS is not set
-# CONFIG_FEATURE_CLEAN_UP is not set
-# CONFIG_FEATURE_UTMP is not set
-# CONFIG_FEATURE_WTMP is not set
-# CONFIG_FEATURE_PIDFILE is not set
-CONFIG_PID_FILE_PATH=""
-# CONFIG_FEATURE_SUID is not set
-# CONFIG_FEATURE_SUID_CONFIG is not set
-# CONFIG_FEATURE_SUID_CONFIG_QUIET is not set
-# CONFIG_SELINUX is not set
-CONFIG_FEATURE_PREFER_APPLETS=y
-CONFIG_BUSYBOX_EXEC_PATH="/proc/self/exe"
-CONFIG_FEATURE_SYSLOG=y
-CONFIG_FEATURE_HAVE_RPC=y
-
-#
-# Build Options
-#
-# CONFIG_STATIC is not set
-# CONFIG_PIE is not set
-# CONFIG_NOMMU is not set
-# CONFIG_BUILD_LIBBUSYBOX is not set
-# CONFIG_FEATURE_INDIVIDUAL is not set
-# CONFIG_FEATURE_SHARED_BUSYBOX is not set
-# CONFIG_LFS is not set
-CONFIG_CROSS_COMPILER_PREFIX=""
-CONFIG_SYSROOT=""
-CONFIG_EXTRA_CFLAGS="-g -lc"
-CONFIG_EXTRA_LDFLAGS=""
-CONFIG_EXTRA_LDLIBS=""
-
-#
-# Debugging Options
-#
-# CONFIG_DEBUG is not set
-# CONFIG_DEBUG_PESSIMIZE is not set
-# CONFIG_UNIT_TEST is not set
-# CONFIG_WERROR is not set
-CONFIG_NO_DEBUG_LIB=y
-# CONFIG_DMALLOC is not set
-# CONFIG_EFENCE is not set
-
-#
-# Installation Options ("make install" behavior)
-#
-CONFIG_INSTALL_APPLET_SYMLINKS=y
-# CONFIG_INSTALL_APPLET_HARDLINKS is not set
-# CONFIG_INSTALL_APPLET_SCRIPT_WRAPPERS is not set
-# CONFIG_INSTALL_APPLET_DONT is not set
-# CONFIG_INSTALL_SH_APPLET_SYMLINK is not set
-# CONFIG_INSTALL_SH_APPLET_HARDLINK is not set
-# CONFIG_INSTALL_SH_APPLET_SCRIPT_WRAPPER is not set
-CONFIG_PREFIX="./_install"
-
-#
-# Busybox Library Tuning
-#
-# CONFIG_FEATURE_SYSTEMD is not set
-# CONFIG_FEATURE_RTMINMAX is not set
-CONFIG_PASSWORD_MINLEN=6
-CONFIG_MD5_SMALL=1
-CONFIG_SHA3_SMALL=1
-# CONFIG_FEATURE_FAST_TOP is not set
-# CONFIG_FEATURE_ETC_NETWORKS is not set
-# CONFIG_FEATURE_USE_TERMIOS is not set
-CONFIG_FEATURE_EDITING=y
-CONFIG_FEATURE_EDITING_MAX_LEN=1024
-# CONFIG_FEATURE_EDITING_VI is not set
-CONFIG_FEATURE_EDITING_HISTORY=255
-CONFIG_FEATURE_EDITING_SAVEHISTORY=y
-# CONFIG_FEATURE_EDITING_SAVE_ON_EXIT is not set
-CONFIG_FEATURE_REVERSE_SEARCH=y
-CONFIG_FEATURE_TAB_COMPLETION=y
-# CONFIG_FEATURE_USERNAME_COMPLETION is not set
-CONFIG_FEATURE_EDITING_FANCY_PROMPT=y
-# CONFIG_FEATURE_EDITING_ASK_TERMINAL is not set
-# CONFIG_FEATURE_NON_POSIX_CP is not set
-# CONFIG_FEATURE_VERBOSE_CP_MESSAGE is not set
-CONFIG_FEATURE_COPYBUF_KB=4
-# CONFIG_FEATURE_SKIP_ROOTFS is not set
-# CONFIG_MONOTONIC_SYSCALL is not set
-# CONFIG_IOCTL_HEX2STR_ERROR is not set
-# CONFIG_FEATURE_HWIB is not set
-
-#
-# Applets
-#
-
-#
-# Archival Utilities
-#
-# CONFIG_FEATURE_SEAMLESS_XZ is not set
-# CONFIG_FEATURE_SEAMLESS_LZMA is not set
-# CONFIG_FEATURE_SEAMLESS_BZ2 is not set
-# CONFIG_FEATURE_SEAMLESS_GZ is not set
-# CONFIG_FEATURE_SEAMLESS_Z is not set
-# CONFIG_AR is not set
-# CONFIG_FEATURE_AR_LONG_FILENAMES is not set
-# CONFIG_FEATURE_AR_CREATE is not set
-# CONFIG_UNCOMPRESS is not set
-# CONFIG_GUNZIP is not set
-# CONFIG_BUNZIP2 is not set
-# CONFIG_UNLZMA is not set
-# CONFIG_FEATURE_LZMA_FAST is not set
-# CONFIG_LZMA is not set
-# CONFIG_UNXZ is not set
-# CONFIG_XZ is not set
-CONFIG_BZIP2=y
-# CONFIG_CPIO is not set
-# CONFIG_FEATURE_CPIO_O is not set
-# CONFIG_FEATURE_CPIO_P is not set
-# CONFIG_DPKG is not set
-# CONFIG_DPKG_DEB is not set
-# CONFIG_FEATURE_DPKG_DEB_EXTRACT_ONLY is not set
-CONFIG_GZIP=y
-# CONFIG_FEATURE_GZIP_LONG_OPTIONS is not set
-CONFIG_GZIP_FAST=0
-# CONFIG_LZOP is not set
-# CONFIG_LZOP_COMPR_HIGH is not set
-# CONFIG_RPM is not set
-# CONFIG_RPM2CPIO is not set
-CONFIG_TAR=y
-# CONFIG_FEATURE_TAR_CREATE is not set
-# CONFIG_FEATURE_TAR_AUTODETECT is not set
-# CONFIG_FEATURE_TAR_FROM is not set
-# CONFIG_FEATURE_TAR_OLDGNU_COMPATIBILITY is not set
-# CONFIG_FEATURE_TAR_OLDSUN_COMPATIBILITY is not set
-# CONFIG_FEATURE_TAR_GNU_EXTENSIONS is not set
-# CONFIG_FEATURE_TAR_LONG_OPTIONS is not set
-# CONFIG_FEATURE_TAR_TO_COMMAND is not set
-# CONFIG_FEATURE_TAR_UNAME_GNAME is not set
-# CONFIG_FEATURE_TAR_NOPRESERVE_TIME is not set
-# CONFIG_FEATURE_TAR_SELINUX is not set
-# CONFIG_UNZIP is not set
-
-#
-# Coreutils
-#
-CONFIG_BASENAME=y
-CONFIG_CAT=y
-CONFIG_DATE=y
-CONFIG_FEATURE_DATE_ISOFMT=y
-# CONFIG_FEATURE_DATE_NANO is not set
-CONFIG_FEATURE_DATE_COMPAT=y
-CONFIG_HOSTID=y
-CONFIG_ID=y
-CONFIG_GROUPS=y
-CONFIG_SHUF=y
-CONFIG_TEST=y
-CONFIG_FEATURE_TEST_64=y
-CONFIG_TOUCH=y
-CONFIG_FEATURE_TOUCH_NODEREF=y
-CONFIG_FEATURE_TOUCH_SUSV3=y
-CONFIG_TR=y
-CONFIG_FEATURE_TR_CLASSES=y
-CONFIG_FEATURE_TR_EQUIV=y
-CONFIG_UNLINK=y
-CONFIG_BASE64=y
-# CONFIG_WHO is not set
-# CONFIG_USERS is not set
-CONFIG_CAL=y
-CONFIG_CATV=y
-CONFIG_CHGRP=y
-CONFIG_CHMOD=y
-CONFIG_CHOWN=y
-CONFIG_FEATURE_CHOWN_LONG_OPTIONS=y
-CONFIG_CHROOT=y
-CONFIG_CKSUM=y
-CONFIG_COMM=y
-CONFIG_CP=y
-CONFIG_FEATURE_CP_LONG_OPTIONS=y
-CONFIG_CUT=y
-CONFIG_DD=y
-CONFIG_FEATURE_DD_SIGNAL_HANDLING=y
-CONFIG_FEATURE_DD_THIRD_STATUS_LINE=y
-CONFIG_FEATURE_DD_IBS_OBS=y
-CONFIG_DF=y
-CONFIG_FEATURE_DF_FANCY=y
-CONFIG_DIRNAME=y
-CONFIG_DOS2UNIX=y
-CONFIG_UNIX2DOS=y
-CONFIG_DU=y
-CONFIG_FEATURE_DU_DEFAULT_BLOCKSIZE_1K=y
-CONFIG_ECHO=y
-CONFIG_FEATURE_FANCY_ECHO=y
-CONFIG_ENV=y
-CONFIG_FEATURE_ENV_LONG_OPTIONS=y
-CONFIG_EXPAND=y
-CONFIG_FEATURE_EXPAND_LONG_OPTIONS=y
-CONFIG_EXPR=y
-CONFIG_EXPR_MATH_SUPPORT_64=y
-CONFIG_FALSE=y
-CONFIG_FOLD=y
-CONFIG_FSYNC=y
-CONFIG_HEAD=y
-CONFIG_FEATURE_FANCY_HEAD=y
-CONFIG_INSTALL=y
-CONFIG_FEATURE_INSTALL_LONG_OPTIONS=y
-CONFIG_LN=y
-CONFIG_LOGNAME=y
-CONFIG_LS=y
-CONFIG_FEATURE_LS_FILETYPES=y
-CONFIG_FEATURE_LS_FOLLOWLINKS=y
-CONFIG_FEATURE_LS_RECURSIVE=y
-CONFIG_FEATURE_LS_SORTFILES=y
-CONFIG_FEATURE_LS_TIMESTAMPS=y
-CONFIG_FEATURE_LS_USERNAME=y
-CONFIG_FEATURE_LS_COLOR=y
-CONFIG_FEATURE_LS_COLOR_IS_DEFAULT=y
-CONFIG_MD5SUM=y
-CONFIG_MKDIR=y
-CONFIG_FEATURE_MKDIR_LONG_OPTIONS=y
-CONFIG_MKFIFO=y
-CONFIG_MKNOD=y
-CONFIG_MV=y
-CONFIG_FEATURE_MV_LONG_OPTIONS=y
-CONFIG_NICE=y
-CONFIG_NOHUP=y
-CONFIG_OD=y
-CONFIG_PRINTENV=y
-CONFIG_PRINTF=y
-CONFIG_PWD=y
-CONFIG_READLINK=y
-CONFIG_FEATURE_READLINK_FOLLOW=y
-CONFIG_REALPATH=y
-CONFIG_RM=y
-CONFIG_RMDIR=y
-CONFIG_FEATURE_RMDIR_LONG_OPTIONS=y
-CONFIG_SEQ=y
-CONFIG_SHA1SUM=y
-CONFIG_SHA256SUM=y
-CONFIG_SHA512SUM=y
-CONFIG_SHA3SUM=y
-CONFIG_SLEEP=y
-CONFIG_FEATURE_FANCY_SLEEP=y
-CONFIG_FEATURE_FLOAT_SLEEP=y
-CONFIG_SORT=y
-CONFIG_FEATURE_SORT_BIG=y
-CONFIG_SPLIT=y
-CONFIG_FEATURE_SPLIT_FANCY=y
-CONFIG_STAT=y
-CONFIG_FEATURE_STAT_FORMAT=y
-CONFIG_STTY=y
-CONFIG_SUM=y
-CONFIG_SYNC=y
-CONFIG_TAC=y
-CONFIG_TAIL=y
-CONFIG_FEATURE_FANCY_TAIL=y
-CONFIG_TEE=y
-CONFIG_FEATURE_TEE_USE_BLOCK_IO=y
-CONFIG_TRUE=y
-CONFIG_TTY=y
-CONFIG_UNAME=y
-CONFIG_UNEXPAND=y
-CONFIG_FEATURE_UNEXPAND_LONG_OPTIONS=y
-CONFIG_UNIQ=y
-CONFIG_USLEEP=y
-CONFIG_UUDECODE=y
-CONFIG_UUENCODE=y
-CONFIG_WC=y
-CONFIG_FEATURE_WC_LARGE=y
-CONFIG_WHOAMI=y
-CONFIG_YES=y
-
-#
-# Common options
-#
-CONFIG_FEATURE_VERBOSE=y
-
-#
-# Common options for cp and mv
-#
-CONFIG_FEATURE_PRESERVE_HARDLINKS=y
-
-#
-# Common options for ls, more and telnet
-#
-CONFIG_FEATURE_AUTOWIDTH=y
-
-#
-# Common options for df, du, ls
-#
-CONFIG_FEATURE_HUMAN_READABLE=y
-
-#
-# Common options for md5sum, sha1sum, sha256sum, sha512sum, sha3sum
-#
-CONFIG_FEATURE_MD5_SHA1_SUM_CHECK=y
-
-#
-# Console Utilities
-#
-CONFIG_CHVT=y
-CONFIG_FGCONSOLE=y
-CONFIG_CLEAR=y
-CONFIG_DEALLOCVT=y
-CONFIG_DUMPKMAP=y
-CONFIG_KBD_MODE=y
-CONFIG_LOADFONT=y
-CONFIG_LOADKMAP=y
-CONFIG_OPENVT=y
-CONFIG_RESET=y
-CONFIG_RESIZE=y
-CONFIG_FEATURE_RESIZE_PRINT=y
-CONFIG_SETCONSOLE=y
-CONFIG_FEATURE_SETCONSOLE_LONG_OPTIONS=y
-CONFIG_SETFONT=y
-CONFIG_FEATURE_SETFONT_TEXTUAL_MAP=y
-CONFIG_DEFAULT_SETFONT_DIR=""
-CONFIG_SETKEYCODES=y
-CONFIG_SETLOGCONS=y
-CONFIG_SHOWKEY=y
-
-#
-# Common options for loadfont and setfont
-#
-CONFIG_FEATURE_LOADFONT_PSF2=y
-CONFIG_FEATURE_LOADFONT_RAW=y
-
-#
-# Debian Utilities
-#
-CONFIG_MKTEMP=y
-CONFIG_PIPE_PROGRESS=y
-CONFIG_RUN_PARTS=y
-CONFIG_FEATURE_RUN_PARTS_LONG_OPTIONS=y
-CONFIG_FEATURE_RUN_PARTS_FANCY=y
-CONFIG_START_STOP_DAEMON=y
-CONFIG_FEATURE_START_STOP_DAEMON_FANCY=y
-CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS=y
-CONFIG_WHICH=y
-
-#
-# Editors
-#
-# CONFIG_AWK is not set
-# CONFIG_FEATURE_AWK_LIBM is not set
-# CONFIG_FEATURE_AWK_GNU_EXTENSIONS is not set
-# CONFIG_CMP is not set
-# CONFIG_DIFF is not set
-# CONFIG_FEATURE_DIFF_LONG_OPTIONS is not set
-# CONFIG_FEATURE_DIFF_DIR is not set
-# CONFIG_ED is not set
-# CONFIG_PATCH is not set
-# CONFIG_SED is not set
-# CONFIG_VI is not set
-CONFIG_FEATURE_VI_MAX_LEN=0
-# CONFIG_FEATURE_VI_8BIT is not set
-# CONFIG_FEATURE_VI_COLON is not set
-# CONFIG_FEATURE_VI_YANKMARK is not set
-# CONFIG_FEATURE_VI_SEARCH is not set
-# CONFIG_FEATURE_VI_REGEX_SEARCH is not set
-# CONFIG_FEATURE_VI_USE_SIGNALS is not set
-# CONFIG_FEATURE_VI_DOT_CMD is not set
-# CONFIG_FEATURE_VI_READONLY is not set
-# CONFIG_FEATURE_VI_SETOPTS is not set
-# CONFIG_FEATURE_VI_SET is not set
-# CONFIG_FEATURE_VI_WIN_RESIZE is not set
-# CONFIG_FEATURE_VI_ASK_TERMINAL is not set
-# CONFIG_FEATURE_VI_UNDO is not set
-# CONFIG_FEATURE_VI_UNDO_QUEUE is not set
-CONFIG_FEATURE_VI_UNDO_QUEUE_MAX=0
-# CONFIG_FEATURE_ALLOW_EXEC is not set
-
-#
-# Finding Utilities
-#
-CONFIG_FIND=y
-CONFIG_FEATURE_FIND_PRINT0=y
-CONFIG_FEATURE_FIND_MTIME=y
-CONFIG_FEATURE_FIND_MMIN=y
-CONFIG_FEATURE_FIND_PERM=y
-CONFIG_FEATURE_FIND_TYPE=y
-CONFIG_FEATURE_FIND_XDEV=y
-CONFIG_FEATURE_FIND_MAXDEPTH=y
-CONFIG_FEATURE_FIND_NEWER=y
-CONFIG_FEATURE_FIND_INUM=y
-CONFIG_FEATURE_FIND_EXEC=y
-CONFIG_FEATURE_FIND_EXEC_PLUS=y
-CONFIG_FEATURE_FIND_USER=y
-CONFIG_FEATURE_FIND_GROUP=y
-CONFIG_FEATURE_FIND_NOT=y
-CONFIG_FEATURE_FIND_DEPTH=y
-CONFIG_FEATURE_FIND_PAREN=y
-CONFIG_FEATURE_FIND_SIZE=y
-CONFIG_FEATURE_FIND_PRUNE=y
-CONFIG_FEATURE_FIND_DELETE=y
-CONFIG_FEATURE_FIND_PATH=y
-CONFIG_FEATURE_FIND_REGEX=y
-# CONFIG_FEATURE_FIND_CONTEXT is not set
-CONFIG_FEATURE_FIND_LINKS=y
-CONFIG_GREP=y
-CONFIG_FEATURE_GREP_EGREP_ALIAS=y
-CONFIG_FEATURE_GREP_FGREP_ALIAS=y
-CONFIG_FEATURE_GREP_CONTEXT=y
-CONFIG_XARGS=y
-CONFIG_FEATURE_XARGS_SUPPORT_CONFIRMATION=y
-CONFIG_FEATURE_XARGS_SUPPORT_QUOTES=y
-CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT=y
-CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM=y
-CONFIG_FEATURE_XARGS_SUPPORT_REPL_STR=y
-
-#
-# Init Utilities
-#
-# CONFIG_BOOTCHARTD is not set
-# CONFIG_FEATURE_BOOTCHARTD_BLOATED_HEADER is not set
-# CONFIG_FEATURE_BOOTCHARTD_CONFIG_FILE is not set
-# CONFIG_HALT is not set
-# CONFIG_FEATURE_CALL_TELINIT is not set
-CONFIG_TELINIT_PATH=""
-# CONFIG_INIT is not set
-# CONFIG_FEATURE_USE_INITTAB is not set
-# CONFIG_FEATURE_KILL_REMOVED is not set
-CONFIG_FEATURE_KILL_DELAY=0
-# CONFIG_FEATURE_INIT_SCTTY is not set
-# CONFIG_FEATURE_INIT_SYSLOG is not set
-# CONFIG_FEATURE_EXTRA_QUIET is not set
-# CONFIG_FEATURE_INIT_COREDUMPS is not set
-# CONFIG_FEATURE_INITRD is not set
-CONFIG_INIT_TERMINAL_TYPE=""
-# CONFIG_MESG is not set
-# CONFIG_FEATURE_MESG_ENABLE_ONLY_GROUP is not set
-
-#
-# Login/Password Management Utilities
-#
-CONFIG_ADD_SHELL=y
-# CONFIG_REMOVE_SHELL is not set
-# CONFIG_FEATURE_SHADOWPASSWDS is not set
-# CONFIG_USE_BB_PWD_GRP is not set
-# CONFIG_USE_BB_SHADOW is not set
-# CONFIG_USE_BB_CRYPT is not set
-# CONFIG_USE_BB_CRYPT_SHA is not set
-# CONFIG_ADDUSER is not set
-# CONFIG_FEATURE_ADDUSER_LONG_OPTIONS is not set
-# CONFIG_FEATURE_CHECK_NAMES is not set
-CONFIG_LAST_ID=0
-CONFIG_FIRST_SYSTEM_ID=0
-CONFIG_LAST_SYSTEM_ID=0
-# CONFIG_ADDGROUP is not set
-# CONFIG_FEATURE_ADDGROUP_LONG_OPTIONS is not set
-# CONFIG_FEATURE_ADDUSER_TO_GROUP is not set
-# CONFIG_DELUSER is not set
-# CONFIG_DELGROUP is not set
-# CONFIG_FEATURE_DEL_USER_FROM_GROUP is not set
-# CONFIG_GETTY is not set
-# CONFIG_LOGIN is not set
-# CONFIG_LOGIN_SESSION_AS_CHILD is not set
-# CONFIG_LOGIN_SCRIPTS is not set
-# CONFIG_FEATURE_NOLOGIN is not set
-# CONFIG_FEATURE_SECURETTY is not set
-# CONFIG_PASSWD is not set
-# CONFIG_FEATURE_PASSWD_WEAK_CHECK is not set
-# CONFIG_CRYPTPW is not set
-# CONFIG_CHPASSWD is not set
-CONFIG_FEATURE_DEFAULT_PASSWD_ALGO=""
-# CONFIG_SU is not set
-# CONFIG_FEATURE_SU_SYSLOG is not set
-# CONFIG_FEATURE_SU_CHECKS_SHELLS is not set
-# CONFIG_SULOGIN is not set
-# CONFIG_VLOCK is not set
-
-#
-# Linux Ext2 FS Progs
-#
-# CONFIG_CHATTR is not set
-# CONFIG_FSCK is not set
-# CONFIG_LSATTR is not set
-# CONFIG_TUNE2FS is not set
-
-#
-# Linux Module Utilities
-#
-# CONFIG_MODINFO is not set
-# CONFIG_MODPROBE_SMALL is not set
-# CONFIG_FEATURE_MODPROBE_SMALL_OPTIONS_ON_CMDLINE is not set
-# CONFIG_FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED is not set
-# CONFIG_INSMOD is not set
-# CONFIG_RMMOD is not set
-# CONFIG_LSMOD is not set
-# CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT is not set
-# CONFIG_MODPROBE is not set
-# CONFIG_FEATURE_MODPROBE_BLACKLIST is not set
-# CONFIG_DEPMOD is not set
-
-#
-# Options common to multiple modutils
-#
-# CONFIG_FEATURE_2_4_MODULES is not set
-# CONFIG_FEATURE_INSMOD_TRY_MMAP is not set
-# CONFIG_FEATURE_INSMOD_VERSION_CHECKING is not set
-# CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS is not set
-# CONFIG_FEATURE_INSMOD_LOADINKMEM is not set
-# CONFIG_FEATURE_INSMOD_LOAD_MAP is not set
-# CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL is not set
-# CONFIG_FEATURE_CHECK_TAINTED_MODULE is not set
-# CONFIG_FEATURE_MODUTILS_ALIAS is not set
-# CONFIG_FEATURE_MODUTILS_SYMBOLS is not set
-CONFIG_DEFAULT_MODULES_DIR=""
-CONFIG_DEFAULT_DEPMOD_FILE=""
-
-#
-# Linux System Utilities
-#
-# CONFIG_BLOCKDEV is not set
-CONFIG_FATATTR=y
-CONFIG_FSTRIM=y
-# CONFIG_MDEV is not set
-# CONFIG_FEATURE_MDEV_CONF is not set
-# CONFIG_FEATURE_MDEV_RENAME is not set
-# CONFIG_FEATURE_MDEV_RENAME_REGEXP is not set
-# CONFIG_FEATURE_MDEV_EXEC is not set
-# CONFIG_FEATURE_MDEV_LOAD_FIRMWARE is not set
-# CONFIG_REV is not set
-# CONFIG_ACPID is not set
-# CONFIG_FEATURE_ACPID_COMPAT is not set
-# CONFIG_BLKID is not set
-# CONFIG_FEATURE_BLKID_TYPE is not set
-# CONFIG_DMESG is not set
-# CONFIG_FEATURE_DMESG_PRETTY is not set
-# CONFIG_FBSET is not set
-# CONFIG_FEATURE_FBSET_FANCY is not set
-# CONFIG_FEATURE_FBSET_READMODE is not set
-# CONFIG_FDFLUSH is not set
-# CONFIG_FDFORMAT is not set
-# CONFIG_FDISK is not set
-# CONFIG_FDISK_SUPPORT_LARGE_DISKS is not set
-# CONFIG_FEATURE_FDISK_WRITABLE is not set
-# CONFIG_FEATURE_AIX_LABEL is not set
-# CONFIG_FEATURE_SGI_LABEL is not set
-# CONFIG_FEATURE_SUN_LABEL is not set
-# CONFIG_FEATURE_OSF_LABEL is not set
-# CONFIG_FEATURE_GPT_LABEL is not set
-# CONFIG_FEATURE_FDISK_ADVANCED is not set
-# CONFIG_FINDFS is not set
-# CONFIG_FLOCK is not set
-# CONFIG_FREERAMDISK is not set
-# CONFIG_FSCK_MINIX is not set
-# CONFIG_MKFS_EXT2 is not set
-# CONFIG_MKFS_MINIX is not set
-# CONFIG_FEATURE_MINIX2 is not set
-# CONFIG_MKFS_REISER is not set
-# CONFIG_MKFS_VFAT is not set
-# CONFIG_GETOPT is not set
-# CONFIG_FEATURE_GETOPT_LONG is not set
-# CONFIG_HEXDUMP is not set
-# CONFIG_FEATURE_HEXDUMP_REVERSE is not set
-# CONFIG_HD is not set
-# CONFIG_HWCLOCK is not set
-# CONFIG_FEATURE_HWCLOCK_LONG_OPTIONS is not set
-# CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS is not set
-# CONFIG_IPCRM is not set
-# CONFIG_IPCS is not set
-# CONFIG_LOSETUP is not set
-# CONFIG_LSPCI is not set
-# CONFIG_LSUSB is not set
-# CONFIG_MKSWAP is not set
-# CONFIG_FEATURE_MKSWAP_UUID is not set
-# CONFIG_MORE is not set
-# CONFIG_MOUNT is not set
-# CONFIG_FEATURE_MOUNT_FAKE is not set
-# CONFIG_FEATURE_MOUNT_VERBOSE is not set
-# CONFIG_FEATURE_MOUNT_HELPERS is not set
-# CONFIG_FEATURE_MOUNT_LABEL is not set
-# CONFIG_FEATURE_MOUNT_NFS is not set
-# CONFIG_FEATURE_MOUNT_CIFS is not set
-# CONFIG_FEATURE_MOUNT_FLAGS is not set
-# CONFIG_FEATURE_MOUNT_FSTAB is not set
-# CONFIG_PIVOT_ROOT is not set
-# CONFIG_RDATE is not set
-# CONFIG_RDEV is not set
-# CONFIG_READPROFILE is not set
-# CONFIG_RTCWAKE is not set
-# CONFIG_SCRIPT is not set
-# CONFIG_SCRIPTREPLAY is not set
-# CONFIG_SETARCH is not set
-# CONFIG_SWAPONOFF is not set
-# CONFIG_FEATURE_SWAPON_DISCARD is not set
-# CONFIG_FEATURE_SWAPON_PRI is not set
-# CONFIG_SWITCH_ROOT is not set
-# CONFIG_UMOUNT is not set
-# CONFIG_FEATURE_UMOUNT_ALL is not set
-# CONFIG_FEATURE_MOUNT_LOOP is not set
-# CONFIG_FEATURE_MOUNT_LOOP_CREATE is not set
-# CONFIG_FEATURE_MTAB_SUPPORT is not set
-# CONFIG_VOLUMEID is not set
-# CONFIG_FEATURE_VOLUMEID_BTRFS is not set
-# CONFIG_FEATURE_VOLUMEID_CRAMFS is not set
-# CONFIG_FEATURE_VOLUMEID_EXFAT is not set
-# CONFIG_FEATURE_VOLUMEID_EXT is not set
-# CONFIG_FEATURE_VOLUMEID_F2FS is not set
-# CONFIG_FEATURE_VOLUMEID_FAT is not set
-# CONFIG_FEATURE_VOLUMEID_HFS is not set
-# CONFIG_FEATURE_VOLUMEID_ISO9660 is not set
-# CONFIG_FEATURE_VOLUMEID_JFS is not set
-# CONFIG_FEATURE_VOLUMEID_LINUXRAID is not set
-# CONFIG_FEATURE_VOLUMEID_LINUXSWAP is not set
-# CONFIG_FEATURE_VOLUMEID_LUKS is not set
-# CONFIG_FEATURE_VOLUMEID_NILFS is not set
-# CONFIG_FEATURE_VOLUMEID_NTFS is not set
-# CONFIG_FEATURE_VOLUMEID_OCFS2 is not set
-# CONFIG_FEATURE_VOLUMEID_REISERFS is not set
-# CONFIG_FEATURE_VOLUMEID_ROMFS is not set
-# CONFIG_FEATURE_VOLUMEID_SQUASHFS is not set
-# CONFIG_FEATURE_VOLUMEID_SYSV is not set
-# CONFIG_FEATURE_VOLUMEID_UDF is not set
-# CONFIG_FEATURE_VOLUMEID_XFS is not set
-
-#
-# Miscellaneous Utilities
-#
-# CONFIG_CONSPY is not set
-CONFIG_CROND=y
-CONFIG_FEATURE_CROND_D=y
-CONFIG_FEATURE_CROND_CALL_SENDMAIL=y
-CONFIG_FEATURE_CROND_DIR="/var/spool/cron"
-CONFIG_LESS=y
-CONFIG_FEATURE_LESS_MAXLINES=9999999
-CONFIG_FEATURE_LESS_BRACKETS=y
-CONFIG_FEATURE_LESS_FLAGS=y
-CONFIG_FEATURE_LESS_MARKS=y
-CONFIG_FEATURE_LESS_REGEXP=y
-CONFIG_FEATURE_LESS_WINCH=y
-CONFIG_FEATURE_LESS_ASK_TERMINAL=y
-CONFIG_FEATURE_LESS_DASHCMD=y
-CONFIG_FEATURE_LESS_LINENUMS=y
-# CONFIG_NANDWRITE is not set
-# CONFIG_NANDDUMP is not set
-# CONFIG_RFKILL is not set
-CONFIG_SETSERIAL=y
-# CONFIG_TASKSET is not set
-# CONFIG_FEATURE_TASKSET_FANCY is not set
-CONFIG_UBIATTACH=y
-CONFIG_UBIDETACH=y
-CONFIG_UBIMKVOL=y
-CONFIG_UBIRMVOL=y
-CONFIG_UBIRSVOL=y
-CONFIG_UBIUPDATEVOL=y
-# CONFIG_WALL is not set
-CONFIG_ADJTIMEX=y
-# CONFIG_BBCONFIG is not set
-# CONFIG_FEATURE_COMPRESS_BBCONFIG is not set
-CONFIG_BEEP=y
-CONFIG_FEATURE_BEEP_FREQ=4000
-CONFIG_FEATURE_BEEP_LENGTH_MS=30
-CONFIG_CHAT=y
-CONFIG_FEATURE_CHAT_NOFAIL=y
-# CONFIG_FEATURE_CHAT_TTY_HIFI is not set
-CONFIG_FEATURE_CHAT_IMPLICIT_CR=y
-CONFIG_FEATURE_CHAT_SWALLOW_OPTS=y
-CONFIG_FEATURE_CHAT_SEND_ESCAPES=y
-CONFIG_FEATURE_CHAT_VAR_ABORT_LEN=y
-CONFIG_FEATURE_CHAT_CLR_ABORT=y
-CONFIG_CHRT=y
-CONFIG_CRONTAB=y
-CONFIG_DC=y
-CONFIG_FEATURE_DC_LIBM=y
-# CONFIG_DEVFSD is not set
-# CONFIG_DEVFSD_MODLOAD is not set
-# CONFIG_DEVFSD_FG_NP is not set
-# CONFIG_DEVFSD_VERBOSE is not set
-# CONFIG_FEATURE_DEVFS is not set
-CONFIG_DEVMEM=y
-CONFIG_EJECT=y
-CONFIG_FEATURE_EJECT_SCSI=y
-CONFIG_FBSPLASH=y
-# CONFIG_FLASHCP is not set
-# CONFIG_FLASH_LOCK is not set
-# CONFIG_FLASH_UNLOCK is not set
-# CONFIG_FLASH_ERASEALL is not set
-CONFIG_IONICE=y
-# CONFIG_INOTIFYD is not set
-# CONFIG_LAST is not set
-# CONFIG_FEATURE_LAST_SMALL is not set
-# CONFIG_FEATURE_LAST_FANCY is not set
-CONFIG_HDPARM=y
-CONFIG_FEATURE_HDPARM_GET_IDENTITY=y
-CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF=y
-CONFIG_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF=y
-CONFIG_FEATURE_HDPARM_HDIO_DRIVE_RESET=y
-CONFIG_FEATURE_HDPARM_HDIO_TRISTATE_HWIF=y
-CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA=y
-CONFIG_MAKEDEVS=y
-# CONFIG_FEATURE_MAKEDEVS_LEAF is not set
-CONFIG_FEATURE_MAKEDEVS_TABLE=y
-CONFIG_MAN=y
-CONFIG_MICROCOM=y
-CONFIG_MOUNTPOINT=y
-CONFIG_MT=y
-CONFIG_RAIDAUTORUN=y
-# CONFIG_READAHEAD is not set
-# CONFIG_RUNLEVEL is not set
-CONFIG_RX=y
-CONFIG_SETSID=y
-CONFIG_STRINGS=y
-CONFIG_TIME=y
-CONFIG_TIMEOUT=y
-CONFIG_TTYSIZE=y
-CONFIG_VOLNAME=y
-CONFIG_WATCHDOG=y
-
-#
-# Networking Utilities
-#
-CONFIG_NAMEIF=y
-CONFIG_FEATURE_NAMEIF_EXTENDED=y
-CONFIG_NBDCLIENT=y
-CONFIG_NC=y
-CONFIG_NC_SERVER=y
-CONFIG_NC_EXTRA=y
-# CONFIG_NC_110_COMPAT is not set
-CONFIG_PING=y
-CONFIG_PING6=y
-CONFIG_FEATURE_FANCY_PING=y
-CONFIG_WHOIS=y
-CONFIG_FEATURE_IPV6=y
-# CONFIG_FEATURE_UNIX_LOCAL is not set
-CONFIG_FEATURE_PREFER_IPV4_ADDRESS=y
-# CONFIG_VERBOSE_RESOLUTION_ERRORS is not set
-CONFIG_ARP=y
-CONFIG_ARPING=y
-CONFIG_BRCTL=y
-CONFIG_FEATURE_BRCTL_FANCY=y
-CONFIG_FEATURE_BRCTL_SHOW=y
-CONFIG_DNSD=y
-CONFIG_ETHER_WAKE=y
-CONFIG_FAKEIDENTD=y
-CONFIG_FTPD=y
-CONFIG_FEATURE_FTP_WRITE=y
-CONFIG_FEATURE_FTPD_ACCEPT_BROKEN_LIST=y
-CONFIG_FEATURE_FTP_AUTHENTICATION=y
-CONFIG_FTPGET=y
-CONFIG_FTPPUT=y
-CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS=y
-CONFIG_HOSTNAME=y
-CONFIG_HTTPD=y
-CONFIG_FEATURE_HTTPD_RANGES=y
-CONFIG_FEATURE_HTTPD_SETUID=y
-CONFIG_FEATURE_HTTPD_BASIC_AUTH=y
-CONFIG_FEATURE_HTTPD_AUTH_MD5=y
-CONFIG_FEATURE_HTTPD_CGI=y
-CONFIG_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR=y
-CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV=y
-CONFIG_FEATURE_HTTPD_ENCODE_URL_STR=y
-CONFIG_FEATURE_HTTPD_ERROR_PAGES=y
-CONFIG_FEATURE_HTTPD_PROXY=y
-CONFIG_FEATURE_HTTPD_GZIP=y
-CONFIG_IFCONFIG=y
-CONFIG_FEATURE_IFCONFIG_STATUS=y
-CONFIG_FEATURE_IFCONFIG_SLIP=y
-CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ=y
-CONFIG_FEATURE_IFCONFIG_HW=y
-CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS=y
-CONFIG_IFENSLAVE=y
-CONFIG_IFPLUGD=y
-CONFIG_IFUPDOWN=y
-CONFIG_IFUPDOWN_IFSTATE_PATH="/var/run/ifstate"
-CONFIG_FEATURE_IFUPDOWN_IP=y
-CONFIG_FEATURE_IFUPDOWN_IP_BUILTIN=y
-# CONFIG_FEATURE_IFUPDOWN_IFCONFIG_BUILTIN is not set
-CONFIG_FEATURE_IFUPDOWN_IPV4=y
-CONFIG_FEATURE_IFUPDOWN_IPV6=y
-CONFIG_FEATURE_IFUPDOWN_MAPPING=y
-# CONFIG_FEATURE_IFUPDOWN_EXTERNAL_DHCP is not set
-CONFIG_INETD=y
-CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_ECHO=y
-CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DISCARD=y
-CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_TIME=y
-CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME=y
-CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN=y
-CONFIG_FEATURE_INETD_RPC=y
-CONFIG_IP=y
-CONFIG_FEATURE_IP_ADDRESS=y
-CONFIG_FEATURE_IP_LINK=y
-CONFIG_FEATURE_IP_ROUTE=y
-CONFIG_FEATURE_IP_TUNNEL=y
-CONFIG_FEATURE_IP_RULE=y
-CONFIG_FEATURE_IP_SHORT_FORMS=y
-# CONFIG_FEATURE_IP_RARE_PROTOCOLS is not set
-CONFIG_IPADDR=y
-CONFIG_IPLINK=y
-CONFIG_IPROUTE=y
-CONFIG_IPTUNNEL=y
-CONFIG_IPRULE=y
-CONFIG_IPCALC=y
-CONFIG_FEATURE_IPCALC_FANCY=y
-CONFIG_FEATURE_IPCALC_LONG_OPTIONS=y
-CONFIG_NETSTAT=y
-CONFIG_FEATURE_NETSTAT_WIDE=y
-CONFIG_FEATURE_NETSTAT_PRG=y
-CONFIG_NSLOOKUP=y
-CONFIG_NTPD=y
-CONFIG_FEATURE_NTPD_SERVER=y
-CONFIG_FEATURE_NTPD_CONF=y
-CONFIG_PSCAN=y
-CONFIG_ROUTE=y
-CONFIG_SLATTACH=y
-CONFIG_TCPSVD=y
-CONFIG_TELNET=y
-CONFIG_FEATURE_TELNET_TTYPE=y
-CONFIG_FEATURE_TELNET_AUTOLOGIN=y
-CONFIG_TELNETD=y
-CONFIG_FEATURE_TELNETD_STANDALONE=y
-CONFIG_FEATURE_TELNETD_INETD_WAIT=y
-CONFIG_TFTP=y
-CONFIG_TFTPD=y
-
-#
-# Common options for tftp/tftpd
-#
-CONFIG_FEATURE_TFTP_GET=y
-CONFIG_FEATURE_TFTP_PUT=y
-CONFIG_FEATURE_TFTP_BLOCKSIZE=y
-CONFIG_FEATURE_TFTP_PROGRESS_BAR=y
-# CONFIG_TFTP_DEBUG is not set
-CONFIG_TRACEROUTE=y
-CONFIG_TRACEROUTE6=y
-CONFIG_FEATURE_TRACEROUTE_VERBOSE=y
-# CONFIG_FEATURE_TRACEROUTE_SOURCE_ROUTE is not set
-# CONFIG_FEATURE_TRACEROUTE_USE_ICMP is not set
-CONFIG_TUNCTL=y
-CONFIG_FEATURE_TUNCTL_UG=y
-# CONFIG_UDHCPC6 is not set
-CONFIG_UDHCPD=y
-CONFIG_DHCPRELAY=y
-CONFIG_DUMPLEASES=y
-CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY=y
-# CONFIG_FEATURE_UDHCPD_BASE_IP_ON_MAC is not set
-CONFIG_DHCPD_LEASES_FILE="/var/lib/misc/udhcpd.leases"
-CONFIG_UDHCPC=y
-CONFIG_FEATURE_UDHCPC_ARPING=y
-CONFIG_FEATURE_UDHCPC_SANITIZEOPT=y
-# CONFIG_FEATURE_UDHCP_PORT is not set
-CONFIG_UDHCP_DEBUG=9
-CONFIG_FEATURE_UDHCP_RFC3397=y
-CONFIG_FEATURE_UDHCP_8021Q=y
-CONFIG_UDHCPC_DEFAULT_SCRIPT="/usr/share/udhcpc/default.script"
-CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=80
-CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS="-R -n"
-CONFIG_UDPSVD=y
-CONFIG_VCONFIG=y
-CONFIG_WGET=y
-CONFIG_FEATURE_WGET_STATUSBAR=y
-CONFIG_FEATURE_WGET_AUTHENTICATION=y
-CONFIG_FEATURE_WGET_LONG_OPTIONS=y
-CONFIG_FEATURE_WGET_TIMEOUT=y
-CONFIG_ZCIP=y
-
-#
-# Print Utilities
-#
-CONFIG_LPD=y
-CONFIG_LPR=y
-CONFIG_LPQ=y
-
-#
-# Mail Utilities
-#
-CONFIG_MAKEMIME=y
-CONFIG_FEATURE_MIME_CHARSET="us-ascii"
-CONFIG_POPMAILDIR=y
-CONFIG_FEATURE_POPMAILDIR_DELIVERY=y
-CONFIG_REFORMIME=y
-CONFIG_FEATURE_REFORMIME_COMPAT=y
-CONFIG_SENDMAIL=y
-
-#
-# Process Utilities
-#
-CONFIG_IOSTAT=y
-CONFIG_LSOF=y
-CONFIG_MPSTAT=y
-CONFIG_NMETER=y
-CONFIG_PMAP=y
-CONFIG_POWERTOP=y
-CONFIG_PSTREE=y
-CONFIG_PWDX=y
-CONFIG_SMEMCAP=y
-CONFIG_TOP=y
-CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE=y
-CONFIG_FEATURE_TOP_CPU_GLOBAL_PERCENTS=y
-CONFIG_FEATURE_TOP_SMP_CPU=y
-CONFIG_FEATURE_TOP_DECIMALS=y
-CONFIG_FEATURE_TOP_SMP_PROCESS=y
-CONFIG_FEATURE_TOPMEM=y
-CONFIG_UPTIME=y
-# CONFIG_FEATURE_UPTIME_UTMP_SUPPORT is not set
-CONFIG_FREE=y
-CONFIG_FUSER=y
-CONFIG_KILL=y
-CONFIG_KILLALL=y
-CONFIG_KILLALL5=y
-CONFIG_PGREP=y
-CONFIG_PIDOF=y
-CONFIG_FEATURE_PIDOF_SINGLE=y
-CONFIG_FEATURE_PIDOF_OMIT=y
-CONFIG_PKILL=y
-CONFIG_PS=y
-CONFIG_FEATURE_PS_WIDE=y
-CONFIG_FEATURE_PS_LONG=y
-# CONFIG_FEATURE_PS_TIME is not set
-# CONFIG_FEATURE_PS_ADDITIONAL_COLUMNS is not set
-# CONFIG_FEATURE_PS_UNUSUAL_SYSTEMS is not set
-CONFIG_RENICE=y
-CONFIG_BB_SYSCTL=y
-CONFIG_FEATURE_SHOW_THREADS=y
-CONFIG_WATCH=y
-
-#
-# Runit Utilities
-#
-CONFIG_RUNSV=y
-CONFIG_RUNSVDIR=y
-# CONFIG_FEATURE_RUNSVDIR_LOG is not set
-CONFIG_SV=y
-CONFIG_SV_DEFAULT_SERVICE_DIR="/var/service"
-CONFIG_SVLOGD=y
-CONFIG_CHPST=y
-CONFIG_SETUIDGID=y
-CONFIG_ENVUIDGID=y
-CONFIG_ENVDIR=y
-CONFIG_SOFTLIMIT=y
-# CONFIG_CHCON is not set
-# CONFIG_FEATURE_CHCON_LONG_OPTIONS is not set
-# CONFIG_GETENFORCE is not set
-# CONFIG_GETSEBOOL is not set
-# CONFIG_LOAD_POLICY is not set
-# CONFIG_MATCHPATHCON is not set
-# CONFIG_RESTORECON is not set
-# CONFIG_RUNCON is not set
-# CONFIG_FEATURE_RUNCON_LONG_OPTIONS is not set
-# CONFIG_SELINUXENABLED is not set
-# CONFIG_SETENFORCE is not set
-# CONFIG_SETFILES is not set
-# CONFIG_FEATURE_SETFILES_CHECK_OPTION is not set
-# CONFIG_SETSEBOOL is not set
-# CONFIG_SESTATUS is not set
-
-#
-# Shells
-#
-CONFIG_ASH=y
-CONFIG_ASH_BASH_COMPAT=y
-# CONFIG_ASH_IDLE_TIMEOUT is not set
-CONFIG_ASH_JOB_CONTROL=y
-CONFIG_ASH_ALIAS=y
-CONFIG_ASH_GETOPTS=y
-CONFIG_ASH_BUILTIN_ECHO=y
-CONFIG_ASH_BUILTIN_PRINTF=y
-CONFIG_ASH_BUILTIN_TEST=y
-CONFIG_ASH_HELP=y
-CONFIG_ASH_CMDCMD=y
-# CONFIG_ASH_MAIL is not set
-CONFIG_ASH_OPTIMIZE_FOR_SIZE=y
-CONFIG_ASH_RANDOM_SUPPORT=y
-CONFIG_ASH_EXPAND_PRMT=y
-CONFIG_CTTYHACK=y
-CONFIG_HUSH=y
-CONFIG_HUSH_BASH_COMPAT=y
-CONFIG_HUSH_BRACE_EXPANSION=y
-CONFIG_HUSH_HELP=y
-CONFIG_HUSH_INTERACTIVE=y
-CONFIG_HUSH_SAVEHISTORY=y
-CONFIG_HUSH_JOB=y
-CONFIG_HUSH_TICK=y
-CONFIG_HUSH_IF=y
-CONFIG_HUSH_LOOPS=y
-CONFIG_HUSH_CASE=y
-CONFIG_HUSH_FUNCTIONS=y
-CONFIG_HUSH_LOCAL=y
-CONFIG_HUSH_RANDOM_SUPPORT=y
-CONFIG_HUSH_EXPORT_N=y
-CONFIG_HUSH_MODE_X=y
-# CONFIG_MSH is not set
-# CONFIG_FEATURE_SH_IS_ASH is not set
-CONFIG_FEATURE_SH_IS_HUSH=y
-# CONFIG_FEATURE_SH_IS_NONE is not set
-# CONFIG_FEATURE_BASH_IS_ASH is not set
-# CONFIG_FEATURE_BASH_IS_HUSH is not set
-CONFIG_FEATURE_BASH_IS_NONE=y
-CONFIG_SH_MATH_SUPPORT=y
-CONFIG_SH_MATH_SUPPORT_64=y
-CONFIG_FEATURE_SH_EXTRA_QUIET=y
-CONFIG_FEATURE_SH_STANDALONE=y
-# CONFIG_FEATURE_SH_NOFORK is not set
-CONFIG_FEATURE_SH_HISTFILESIZE=y
-
-#
-# System Logging Utilities
-#
-CONFIG_SYSLOGD=y
-CONFIG_FEATURE_ROTATE_LOGFILE=y
-CONFIG_FEATURE_REMOTE_LOG=y
-CONFIG_FEATURE_SYSLOGD_DUP=y
-CONFIG_FEATURE_SYSLOGD_CFG=y
-CONFIG_FEATURE_SYSLOGD_READ_BUFFER_SIZE=256
-CONFIG_FEATURE_IPC_SYSLOG=y
-CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=16
-CONFIG_LOGREAD=y
-CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING=y
-CONFIG_FEATURE_KMSG_SYSLOG=y
-CONFIG_KLOGD=y
-
-#
-# klogd should not be used together with syslog to kernel printk buffer
-#
-CONFIG_FEATURE_KLOGD_KLOGCTL=y
-CONFIG_LOGGER=y
diff --git a/LibOS/shim/test/apps/busybox/config-graphene-nofork b/LibOS/shim/test/apps/busybox/config-graphene-nofork
deleted file mode 100644
index 872a230c..00000000
--- a/LibOS/shim/test/apps/busybox/config-graphene-nofork
+++ /dev/null
@@ -1,1050 +0,0 @@
-#
-# Automatically generated make config: don't edit
-# Busybox version: 1.23.1
-# Thu Feb 26 19:10:35 2015
-#
-CONFIG_HAVE_DOT_CONFIG=y
-
-#
-# Busybox Settings
-#
-
-#
-# General Configuration
-#
-# CONFIG_DESKTOP is not set
-# CONFIG_EXTRA_COMPAT is not set
-# CONFIG_INCLUDE_SUSv2 is not set
-# CONFIG_USE_PORTABLE_CODE is not set
-CONFIG_PLATFORM_LINUX=y
-CONFIG_FEATURE_BUFFERS_USE_MALLOC=y
-# CONFIG_FEATURE_BUFFERS_GO_ON_STACK is not set
-# CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set
-# CONFIG_SHOW_USAGE is not set
-# CONFIG_FEATURE_VERBOSE_USAGE is not set
-# CONFIG_FEATURE_COMPRESS_USAGE is not set
-# CONFIG_FEATURE_INSTALLER is not set
-# CONFIG_INSTALL_NO_USR is not set
-# CONFIG_LOCALE_SUPPORT is not set
-CONFIG_UNICODE_SUPPORT=y
-# CONFIG_UNICODE_USING_LOCALE is not set
-# CONFIG_FEATURE_CHECK_UNICODE_IN_ENV is not set
-CONFIG_SUBST_WCHAR=63
-CONFIG_LAST_SUPPORTED_WCHAR=767
-# CONFIG_UNICODE_COMBINING_WCHARS is not set
-# CONFIG_UNICODE_WIDE_WCHARS is not set
-# CONFIG_UNICODE_BIDI_SUPPORT is not set
-# CONFIG_UNICODE_NEUTRAL_TABLE is not set
-# CONFIG_UNICODE_PRESERVE_BROKEN is not set
-# CONFIG_PAM is not set
-CONFIG_FEATURE_USE_SENDFILE=y
-CONFIG_LONG_OPTS=y
-# CONFIG_FEATURE_DEVPTS is not set
-# CONFIG_FEATURE_CLEAN_UP is not set
-# CONFIG_FEATURE_UTMP is not set
-# CONFIG_FEATURE_WTMP is not set
-# CONFIG_FEATURE_PIDFILE is not set
-CONFIG_PID_FILE_PATH=""
-# CONFIG_FEATURE_SUID is not set
-# CONFIG_FEATURE_SUID_CONFIG is not set
-# CONFIG_FEATURE_SUID_CONFIG_QUIET is not set
-# CONFIG_SELINUX is not set
-CONFIG_FEATURE_PREFER_APPLETS=y
-CONFIG_BUSYBOX_EXEC_PATH="/proc/self/exe"
-CONFIG_FEATURE_SYSLOG=y
-CONFIG_FEATURE_HAVE_RPC=y
-
-#
-# Build Options
-#
-# CONFIG_STATIC is not set
-# CONFIG_PIE is not set
-# CONFIG_NOMMU is not set
-# CONFIG_BUILD_LIBBUSYBOX is not set
-# CONFIG_FEATURE_INDIVIDUAL is not set
-# CONFIG_FEATURE_SHARED_BUSYBOX is not set
-# CONFIG_LFS is not set
-CONFIG_CROSS_COMPILER_PREFIX=""
-CONFIG_SYSROOT=""
-CONFIG_EXTRA_CFLAGS="-g -lc"
-CONFIG_EXTRA_LDFLAGS=""
-CONFIG_EXTRA_LDLIBS=""
-
-#
-# Debugging Options
-#
-# CONFIG_DEBUG is not set
-# CONFIG_DEBUG_PESSIMIZE is not set
-# CONFIG_UNIT_TEST is not set
-# CONFIG_WERROR is not set
-CONFIG_NO_DEBUG_LIB=y
-# CONFIG_DMALLOC is not set
-# CONFIG_EFENCE is not set
-
-#
-# Installation Options ("make install" behavior)
-#
-CONFIG_INSTALL_APPLET_SYMLINKS=y
-# CONFIG_INSTALL_APPLET_HARDLINKS is not set
-# CONFIG_INSTALL_APPLET_SCRIPT_WRAPPERS is not set
-# CONFIG_INSTALL_APPLET_DONT is not set
-# CONFIG_INSTALL_SH_APPLET_SYMLINK is not set
-# CONFIG_INSTALL_SH_APPLET_HARDLINK is not set
-# CONFIG_INSTALL_SH_APPLET_SCRIPT_WRAPPER is not set
-CONFIG_PREFIX="./_install"
-
-#
-# Busybox Library Tuning
-#
-# CONFIG_FEATURE_SYSTEMD is not set
-# CONFIG_FEATURE_RTMINMAX is not set
-CONFIG_PASSWORD_MINLEN=6
-CONFIG_MD5_SMALL=1
-CONFIG_SHA3_SMALL=1
-# CONFIG_FEATURE_FAST_TOP is not set
-# CONFIG_FEATURE_ETC_NETWORKS is not set
-# CONFIG_FEATURE_USE_TERMIOS is not set
-CONFIG_FEATURE_EDITING=y
-CONFIG_FEATURE_EDITING_MAX_LEN=1024
-# CONFIG_FEATURE_EDITING_VI is not set
-CONFIG_FEATURE_EDITING_HISTORY=255
-CONFIG_FEATURE_EDITING_SAVEHISTORY=y
-# CONFIG_FEATURE_EDITING_SAVE_ON_EXIT is not set
-CONFIG_FEATURE_REVERSE_SEARCH=y
-CONFIG_FEATURE_TAB_COMPLETION=y
-# CONFIG_FEATURE_USERNAME_COMPLETION is not set
-CONFIG_FEATURE_EDITING_FANCY_PROMPT=y
-# CONFIG_FEATURE_EDITING_ASK_TERMINAL is not set
-# CONFIG_FEATURE_NON_POSIX_CP is not set
-# CONFIG_FEATURE_VERBOSE_CP_MESSAGE is not set
-CONFIG_FEATURE_COPYBUF_KB=4
-# CONFIG_FEATURE_SKIP_ROOTFS is not set
-# CONFIG_MONOTONIC_SYSCALL is not set
-# CONFIG_IOCTL_HEX2STR_ERROR is not set
-# CONFIG_FEATURE_HWIB is not set
-
-#
-# Applets
-#
-
-#
-# Archival Utilities
-#
-# CONFIG_FEATURE_SEAMLESS_XZ is not set
-# CONFIG_FEATURE_SEAMLESS_LZMA is not set
-# CONFIG_FEATURE_SEAMLESS_BZ2 is not set
-# CONFIG_FEATURE_SEAMLESS_GZ is not set
-# CONFIG_FEATURE_SEAMLESS_Z is not set
-# CONFIG_AR is not set
-# CONFIG_FEATURE_AR_LONG_FILENAMES is not set
-# CONFIG_FEATURE_AR_CREATE is not set
-# CONFIG_UNCOMPRESS is not set
-# CONFIG_GUNZIP is not set
-# CONFIG_BUNZIP2 is not set
-# CONFIG_UNLZMA is not set
-# CONFIG_FEATURE_LZMA_FAST is not set
-# CONFIG_LZMA is not set
-# CONFIG_UNXZ is not set
-# CONFIG_XZ is not set
-CONFIG_BZIP2=y
-# CONFIG_CPIO is not set
-# CONFIG_FEATURE_CPIO_O is not set
-# CONFIG_FEATURE_CPIO_P is not set
-# CONFIG_DPKG is not set
-# CONFIG_DPKG_DEB is not set
-# CONFIG_FEATURE_DPKG_DEB_EXTRACT_ONLY is not set
-CONFIG_GZIP=y
-# CONFIG_FEATURE_GZIP_LONG_OPTIONS is not set
-CONFIG_GZIP_FAST=0
-# CONFIG_LZOP is not set
-# CONFIG_LZOP_COMPR_HIGH is not set
-# CONFIG_RPM is not set
-# CONFIG_RPM2CPIO is not set
-CONFIG_TAR=y
-# CONFIG_FEATURE_TAR_CREATE is not set
-# CONFIG_FEATURE_TAR_AUTODETECT is not set
-# CONFIG_FEATURE_TAR_FROM is not set
-# CONFIG_FEATURE_TAR_OLDGNU_COMPATIBILITY is not set
-# CONFIG_FEATURE_TAR_OLDSUN_COMPATIBILITY is not set
-# CONFIG_FEATURE_TAR_GNU_EXTENSIONS is not set
-# CONFIG_FEATURE_TAR_LONG_OPTIONS is not set
-# CONFIG_FEATURE_TAR_TO_COMMAND is not set
-# CONFIG_FEATURE_TAR_UNAME_GNAME is not set
-# CONFIG_FEATURE_TAR_NOPRESERVE_TIME is not set
-# CONFIG_FEATURE_TAR_SELINUX is not set
-# CONFIG_UNZIP is not set
-
-#
-# Coreutils
-#
-CONFIG_BASENAME=y
-CONFIG_CAT=y
-CONFIG_DATE=y
-CONFIG_FEATURE_DATE_ISOFMT=y
-# CONFIG_FEATURE_DATE_NANO is not set
-CONFIG_FEATURE_DATE_COMPAT=y
-CONFIG_HOSTID=y
-CONFIG_ID=y
-CONFIG_GROUPS=y
-CONFIG_SHUF=y
-CONFIG_TEST=y
-CONFIG_FEATURE_TEST_64=y
-CONFIG_TOUCH=y
-CONFIG_FEATURE_TOUCH_NODEREF=y
-CONFIG_FEATURE_TOUCH_SUSV3=y
-CONFIG_TR=y
-CONFIG_FEATURE_TR_CLASSES=y
-CONFIG_FEATURE_TR_EQUIV=y
-CONFIG_UNLINK=y
-CONFIG_BASE64=y
-# CONFIG_WHO is not set
-# CONFIG_USERS is not set
-CONFIG_CAL=y
-CONFIG_CATV=y
-CONFIG_CHGRP=y
-CONFIG_CHMOD=y
-CONFIG_CHOWN=y
-CONFIG_FEATURE_CHOWN_LONG_OPTIONS=y
-CONFIG_CHROOT=y
-CONFIG_CKSUM=y
-CONFIG_COMM=y
-CONFIG_CP=y
-CONFIG_FEATURE_CP_LONG_OPTIONS=y
-CONFIG_CUT=y
-CONFIG_DD=y
-CONFIG_FEATURE_DD_SIGNAL_HANDLING=y
-CONFIG_FEATURE_DD_THIRD_STATUS_LINE=y
-CONFIG_FEATURE_DD_IBS_OBS=y
-CONFIG_DF=y
-CONFIG_FEATURE_DF_FANCY=y
-CONFIG_DIRNAME=y
-CONFIG_DOS2UNIX=y
-CONFIG_UNIX2DOS=y
-CONFIG_DU=y
-CONFIG_FEATURE_DU_DEFAULT_BLOCKSIZE_1K=y
-CONFIG_ECHO=y
-CONFIG_FEATURE_FANCY_ECHO=y
-CONFIG_ENV=y
-CONFIG_FEATURE_ENV_LONG_OPTIONS=y
-CONFIG_EXPAND=y
-CONFIG_FEATURE_EXPAND_LONG_OPTIONS=y
-CONFIG_EXPR=y
-CONFIG_EXPR_MATH_SUPPORT_64=y
-CONFIG_FALSE=y
-CONFIG_FOLD=y
-CONFIG_FSYNC=y
-CONFIG_HEAD=y
-CONFIG_FEATURE_FANCY_HEAD=y
-CONFIG_INSTALL=y
-CONFIG_FEATURE_INSTALL_LONG_OPTIONS=y
-CONFIG_LN=y
-CONFIG_LOGNAME=y
-CONFIG_LS=y
-CONFIG_FEATURE_LS_FILETYPES=y
-CONFIG_FEATURE_LS_FOLLOWLINKS=y
-CONFIG_FEATURE_LS_RECURSIVE=y
-CONFIG_FEATURE_LS_SORTFILES=y
-CONFIG_FEATURE_LS_TIMESTAMPS=y
-CONFIG_FEATURE_LS_USERNAME=y
-CONFIG_FEATURE_LS_COLOR=y
-CONFIG_FEATURE_LS_COLOR_IS_DEFAULT=y
-CONFIG_MD5SUM=y
-CONFIG_MKDIR=y
-CONFIG_FEATURE_MKDIR_LONG_OPTIONS=y
-CONFIG_MKFIFO=y
-CONFIG_MKNOD=y
-CONFIG_MV=y
-CONFIG_FEATURE_MV_LONG_OPTIONS=y
-CONFIG_NICE=y
-CONFIG_NOHUP=y
-CONFIG_OD=y
-CONFIG_PRINTENV=y
-CONFIG_PRINTF=y
-CONFIG_PWD=y
-CONFIG_READLINK=y
-CONFIG_FEATURE_READLINK_FOLLOW=y
-CONFIG_REALPATH=y
-CONFIG_RM=y
-CONFIG_RMDIR=y
-CONFIG_FEATURE_RMDIR_LONG_OPTIONS=y
-CONFIG_SEQ=y
-CONFIG_SHA1SUM=y
-CONFIG_SHA256SUM=y
-CONFIG_SHA512SUM=y
-CONFIG_SHA3SUM=y
-CONFIG_SLEEP=y
-CONFIG_FEATURE_FANCY_SLEEP=y
-CONFIG_FEATURE_FLOAT_SLEEP=y
-CONFIG_SORT=y
-CONFIG_FEATURE_SORT_BIG=y
-CONFIG_SPLIT=y
-CONFIG_FEATURE_SPLIT_FANCY=y
-CONFIG_STAT=y
-CONFIG_FEATURE_STAT_FORMAT=y
-CONFIG_STTY=y
-CONFIG_SUM=y
-CONFIG_SYNC=y
-CONFIG_TAC=y
-CONFIG_TAIL=y
-CONFIG_FEATURE_FANCY_TAIL=y
-CONFIG_TEE=y
-CONFIG_FEATURE_TEE_USE_BLOCK_IO=y
-CONFIG_TRUE=y
-CONFIG_TTY=y
-CONFIG_UNAME=y
-CONFIG_UNEXPAND=y
-CONFIG_FEATURE_UNEXPAND_LONG_OPTIONS=y
-CONFIG_UNIQ=y
-CONFIG_USLEEP=y
-CONFIG_UUDECODE=y
-CONFIG_UUENCODE=y
-CONFIG_WC=y
-CONFIG_FEATURE_WC_LARGE=y
-CONFIG_WHOAMI=y
-CONFIG_YES=y
-
-#
-# Common options
-#
-CONFIG_FEATURE_VERBOSE=y
-
-#
-# Common options for cp and mv
-#
-CONFIG_FEATURE_PRESERVE_HARDLINKS=y
-
-#
-# Common options for ls, more and telnet
-#
-CONFIG_FEATURE_AUTOWIDTH=y
-
-#
-# Common options for df, du, ls
-#
-CONFIG_FEATURE_HUMAN_READABLE=y
-
-#
-# Common options for md5sum, sha1sum, sha256sum, sha512sum, sha3sum
-#
-CONFIG_FEATURE_MD5_SHA1_SUM_CHECK=y
-
-#
-# Console Utilities
-#
-CONFIG_CHVT=y
-CONFIG_FGCONSOLE=y
-CONFIG_CLEAR=y
-CONFIG_DEALLOCVT=y
-CONFIG_DUMPKMAP=y
-CONFIG_KBD_MODE=y
-CONFIG_LOADFONT=y
-CONFIG_LOADKMAP=y
-CONFIG_OPENVT=y
-CONFIG_RESET=y
-CONFIG_RESIZE=y
-CONFIG_FEATURE_RESIZE_PRINT=y
-CONFIG_SETCONSOLE=y
-CONFIG_FEATURE_SETCONSOLE_LONG_OPTIONS=y
-CONFIG_SETFONT=y
-CONFIG_FEATURE_SETFONT_TEXTUAL_MAP=y
-CONFIG_DEFAULT_SETFONT_DIR=""
-CONFIG_SETKEYCODES=y
-CONFIG_SETLOGCONS=y
-CONFIG_SHOWKEY=y
-
-#
-# Common options for loadfont and setfont
-#
-CONFIG_FEATURE_LOADFONT_PSF2=y
-CONFIG_FEATURE_LOADFONT_RAW=y
-
-#
-# Debian Utilities
-#
-CONFIG_MKTEMP=y
-CONFIG_PIPE_PROGRESS=y
-CONFIG_RUN_PARTS=y
-CONFIG_FEATURE_RUN_PARTS_LONG_OPTIONS=y
-CONFIG_FEATURE_RUN_PARTS_FANCY=y
-CONFIG_START_STOP_DAEMON=y
-CONFIG_FEATURE_START_STOP_DAEMON_FANCY=y
-CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS=y
-CONFIG_WHICH=y
-
-#
-# Editors
-#
-# CONFIG_AWK is not set
-# CONFIG_FEATURE_AWK_LIBM is not set
-# CONFIG_FEATURE_AWK_GNU_EXTENSIONS is not set
-# CONFIG_CMP is not set
-# CONFIG_DIFF is not set
-# CONFIG_FEATURE_DIFF_LONG_OPTIONS is not set
-# CONFIG_FEATURE_DIFF_DIR is not set
-# CONFIG_ED is not set
-# CONFIG_PATCH is not set
-# CONFIG_SED is not set
-# CONFIG_VI is not set
-CONFIG_FEATURE_VI_MAX_LEN=0
-# CONFIG_FEATURE_VI_8BIT is not set
-# CONFIG_FEATURE_VI_COLON is not set
-# CONFIG_FEATURE_VI_YANKMARK is not set
-# CONFIG_FEATURE_VI_SEARCH is not set
-# CONFIG_FEATURE_VI_REGEX_SEARCH is not set
-# CONFIG_FEATURE_VI_USE_SIGNALS is not set
-# CONFIG_FEATURE_VI_DOT_CMD is not set
-# CONFIG_FEATURE_VI_READONLY is not set
-# CONFIG_FEATURE_VI_SETOPTS is not set
-# CONFIG_FEATURE_VI_SET is not set
-# CONFIG_FEATURE_VI_WIN_RESIZE is not set
-# CONFIG_FEATURE_VI_ASK_TERMINAL is not set
-# CONFIG_FEATURE_VI_UNDO is not set
-# CONFIG_FEATURE_VI_UNDO_QUEUE is not set
-CONFIG_FEATURE_VI_UNDO_QUEUE_MAX=0
-# CONFIG_FEATURE_ALLOW_EXEC is not set
-
-#
-# Finding Utilities
-#
-CONFIG_FIND=y
-CONFIG_FEATURE_FIND_PRINT0=y
-CONFIG_FEATURE_FIND_MTIME=y
-CONFIG_FEATURE_FIND_MMIN=y
-CONFIG_FEATURE_FIND_PERM=y
-CONFIG_FEATURE_FIND_TYPE=y
-CONFIG_FEATURE_FIND_XDEV=y
-CONFIG_FEATURE_FIND_MAXDEPTH=y
-CONFIG_FEATURE_FIND_NEWER=y
-CONFIG_FEATURE_FIND_INUM=y
-CONFIG_FEATURE_FIND_EXEC=y
-CONFIG_FEATURE_FIND_EXEC_PLUS=y
-CONFIG_FEATURE_FIND_USER=y
-CONFIG_FEATURE_FIND_GROUP=y
-CONFIG_FEATURE_FIND_NOT=y
-CONFIG_FEATURE_FIND_DEPTH=y
-CONFIG_FEATURE_FIND_PAREN=y
-CONFIG_FEATURE_FIND_SIZE=y
-CONFIG_FEATURE_FIND_PRUNE=y
-CONFIG_FEATURE_FIND_DELETE=y
-CONFIG_FEATURE_FIND_PATH=y
-CONFIG_FEATURE_FIND_REGEX=y
-# CONFIG_FEATURE_FIND_CONTEXT is not set
-CONFIG_FEATURE_FIND_LINKS=y
-CONFIG_GREP=y
-CONFIG_FEATURE_GREP_EGREP_ALIAS=y
-CONFIG_FEATURE_GREP_FGREP_ALIAS=y
-CONFIG_FEATURE_GREP_CONTEXT=y
-CONFIG_XARGS=y
-CONFIG_FEATURE_XARGS_SUPPORT_CONFIRMATION=y
-CONFIG_FEATURE_XARGS_SUPPORT_QUOTES=y
-CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT=y
-CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM=y
-CONFIG_FEATURE_XARGS_SUPPORT_REPL_STR=y
-
-#
-# Init Utilities
-#
-# CONFIG_BOOTCHARTD is not set
-# CONFIG_FEATURE_BOOTCHARTD_BLOATED_HEADER is not set
-# CONFIG_FEATURE_BOOTCHARTD_CONFIG_FILE is not set
-# CONFIG_HALT is not set
-# CONFIG_FEATURE_CALL_TELINIT is not set
-CONFIG_TELINIT_PATH=""
-# CONFIG_INIT is not set
-# CONFIG_FEATURE_USE_INITTAB is not set
-# CONFIG_FEATURE_KILL_REMOVED is not set
-CONFIG_FEATURE_KILL_DELAY=0
-# CONFIG_FEATURE_INIT_SCTTY is not set
-# CONFIG_FEATURE_INIT_SYSLOG is not set
-# CONFIG_FEATURE_EXTRA_QUIET is not set
-# CONFIG_FEATURE_INIT_COREDUMPS is not set
-# CONFIG_FEATURE_INITRD is not set
-CONFIG_INIT_TERMINAL_TYPE=""
-# CONFIG_MESG is not set
-# CONFIG_FEATURE_MESG_ENABLE_ONLY_GROUP is not set
-
-#
-# Login/Password Management Utilities
-#
-CONFIG_ADD_SHELL=y
-# CONFIG_REMOVE_SHELL is not set
-# CONFIG_FEATURE_SHADOWPASSWDS is not set
-# CONFIG_USE_BB_PWD_GRP is not set
-# CONFIG_USE_BB_SHADOW is not set
-# CONFIG_USE_BB_CRYPT is not set
-# CONFIG_USE_BB_CRYPT_SHA is not set
-# CONFIG_ADDUSER is not set
-# CONFIG_FEATURE_ADDUSER_LONG_OPTIONS is not set
-# CONFIG_FEATURE_CHECK_NAMES is not set
-CONFIG_LAST_ID=0
-CONFIG_FIRST_SYSTEM_ID=0
-CONFIG_LAST_SYSTEM_ID=0
-# CONFIG_ADDGROUP is not set
-# CONFIG_FEATURE_ADDGROUP_LONG_OPTIONS is not set
-# CONFIG_FEATURE_ADDUSER_TO_GROUP is not set
-# CONFIG_DELUSER is not set
-# CONFIG_DELGROUP is not set
-# CONFIG_FEATURE_DEL_USER_FROM_GROUP is not set
-# CONFIG_GETTY is not set
-# CONFIG_LOGIN is not set
-# CONFIG_LOGIN_SESSION_AS_CHILD is not set
-# CONFIG_LOGIN_SCRIPTS is not set
-# CONFIG_FEATURE_NOLOGIN is not set
-# CONFIG_FEATURE_SECURETTY is not set
-# CONFIG_PASSWD is not set
-# CONFIG_FEATURE_PASSWD_WEAK_CHECK is not set
-# CONFIG_CRYPTPW is not set
-# CONFIG_CHPASSWD is not set
-CONFIG_FEATURE_DEFAULT_PASSWD_ALGO=""
-# CONFIG_SU is not set
-# CONFIG_FEATURE_SU_SYSLOG is not set
-# CONFIG_FEATURE_SU_CHECKS_SHELLS is not set
-# CONFIG_SULOGIN is not set
-# CONFIG_VLOCK is not set
-
-#
-# Linux Ext2 FS Progs
-#
-# CONFIG_CHATTR is not set
-# CONFIG_FSCK is not set
-# CONFIG_LSATTR is not set
-# CONFIG_TUNE2FS is not set
-
-#
-# Linux Module Utilities
-#
-# CONFIG_MODINFO is not set
-# CONFIG_MODPROBE_SMALL is not set
-# CONFIG_FEATURE_MODPROBE_SMALL_OPTIONS_ON_CMDLINE is not set
-# CONFIG_FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED is not set
-# CONFIG_INSMOD is not set
-# CONFIG_RMMOD is not set
-# CONFIG_LSMOD is not set
-# CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT is not set
-# CONFIG_MODPROBE is not set
-# CONFIG_FEATURE_MODPROBE_BLACKLIST is not set
-# CONFIG_DEPMOD is not set
-
-#
-# Options common to multiple modutils
-#
-# CONFIG_FEATURE_2_4_MODULES is not set
-# CONFIG_FEATURE_INSMOD_TRY_MMAP is not set
-# CONFIG_FEATURE_INSMOD_VERSION_CHECKING is not set
-# CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS is not set
-# CONFIG_FEATURE_INSMOD_LOADINKMEM is not set
-# CONFIG_FEATURE_INSMOD_LOAD_MAP is not set
-# CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL is not set
-# CONFIG_FEATURE_CHECK_TAINTED_MODULE is not set
-# CONFIG_FEATURE_MODUTILS_ALIAS is not set
-# CONFIG_FEATURE_MODUTILS_SYMBOLS is not set
-CONFIG_DEFAULT_MODULES_DIR=""
-CONFIG_DEFAULT_DEPMOD_FILE=""
-
-#
-# Linux System Utilities
-#
-# CONFIG_BLOCKDEV is not set
-CONFIG_FATATTR=y
-CONFIG_FSTRIM=y
-# CONFIG_MDEV is not set
-# CONFIG_FEATURE_MDEV_CONF is not set
-# CONFIG_FEATURE_MDEV_RENAME is not set
-# CONFIG_FEATURE_MDEV_RENAME_REGEXP is not set
-# CONFIG_FEATURE_MDEV_EXEC is not set
-# CONFIG_FEATURE_MDEV_LOAD_FIRMWARE is not set
-# CONFIG_REV is not set
-# CONFIG_ACPID is not set
-# CONFIG_FEATURE_ACPID_COMPAT is not set
-# CONFIG_BLKID is not set
-# CONFIG_FEATURE_BLKID_TYPE is not set
-# CONFIG_DMESG is not set
-# CONFIG_FEATURE_DMESG_PRETTY is not set
-# CONFIG_FBSET is not set
-# CONFIG_FEATURE_FBSET_FANCY is not set
-# CONFIG_FEATURE_FBSET_READMODE is not set
-# CONFIG_FDFLUSH is not set
-# CONFIG_FDFORMAT is not set
-# CONFIG_FDISK is not set
-# CONFIG_FDISK_SUPPORT_LARGE_DISKS is not set
-# CONFIG_FEATURE_FDISK_WRITABLE is not set
-# CONFIG_FEATURE_AIX_LABEL is not set
-# CONFIG_FEATURE_SGI_LABEL is not set
-# CONFIG_FEATURE_SUN_LABEL is not set
-# CONFIG_FEATURE_OSF_LABEL is not set
-# CONFIG_FEATURE_GPT_LABEL is not set
-# CONFIG_FEATURE_FDISK_ADVANCED is not set
-# CONFIG_FINDFS is not set
-# CONFIG_FLOCK is not set
-# CONFIG_FREERAMDISK is not set
-# CONFIG_FSCK_MINIX is not set
-# CONFIG_MKFS_EXT2 is not set
-# CONFIG_MKFS_MINIX is not set
-# CONFIG_FEATURE_MINIX2 is not set
-# CONFIG_MKFS_REISER is not set
-# CONFIG_MKFS_VFAT is not set
-# CONFIG_GETOPT is not set
-# CONFIG_FEATURE_GETOPT_LONG is not set
-# CONFIG_HEXDUMP is not set
-# CONFIG_FEATURE_HEXDUMP_REVERSE is not set
-# CONFIG_HD is not set
-# CONFIG_HWCLOCK is not set
-# CONFIG_FEATURE_HWCLOCK_LONG_OPTIONS is not set
-# CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS is not set
-# CONFIG_IPCRM is not set
-# CONFIG_IPCS is not set
-# CONFIG_LOSETUP is not set
-# CONFIG_LSPCI is not set
-# CONFIG_LSUSB is not set
-# CONFIG_MKSWAP is not set
-# CONFIG_FEATURE_MKSWAP_UUID is not set
-# CONFIG_MORE is not set
-# CONFIG_MOUNT is not set
-# CONFIG_FEATURE_MOUNT_FAKE is not set
-# CONFIG_FEATURE_MOUNT_VERBOSE is not set
-# CONFIG_FEATURE_MOUNT_HELPERS is not set
-# CONFIG_FEATURE_MOUNT_LABEL is not set
-# CONFIG_FEATURE_MOUNT_NFS is not set
-# CONFIG_FEATURE_MOUNT_CIFS is not set
-# CONFIG_FEATURE_MOUNT_FLAGS is not set
-# CONFIG_FEATURE_MOUNT_FSTAB is not set
-# CONFIG_PIVOT_ROOT is not set
-# CONFIG_RDATE is not set
-# CONFIG_RDEV is not set
-# CONFIG_READPROFILE is not set
-# CONFIG_RTCWAKE is not set
-# CONFIG_SCRIPT is not set
-# CONFIG_SCRIPTREPLAY is not set
-# CONFIG_SETARCH is not set
-# CONFIG_SWAPONOFF is not set
-# CONFIG_FEATURE_SWAPON_DISCARD is not set
-# CONFIG_FEATURE_SWAPON_PRI is not set
-# CONFIG_SWITCH_ROOT is not set
-# CONFIG_UMOUNT is not set
-# CONFIG_FEATURE_UMOUNT_ALL is not set
-# CONFIG_FEATURE_MOUNT_LOOP is not set
-# CONFIG_FEATURE_MOUNT_LOOP_CREATE is not set
-# CONFIG_FEATURE_MTAB_SUPPORT is not set
-# CONFIG_VOLUMEID is not set
-# CONFIG_FEATURE_VOLUMEID_BTRFS is not set
-# CONFIG_FEATURE_VOLUMEID_CRAMFS is not set
-# CONFIG_FEATURE_VOLUMEID_EXFAT is not set
-# CONFIG_FEATURE_VOLUMEID_EXT is not set
-# CONFIG_FEATURE_VOLUMEID_F2FS is not set
-# CONFIG_FEATURE_VOLUMEID_FAT is not set
-# CONFIG_FEATURE_VOLUMEID_HFS is not set
-# CONFIG_FEATURE_VOLUMEID_ISO9660 is not set
-# CONFIG_FEATURE_VOLUMEID_JFS is not set
-# CONFIG_FEATURE_VOLUMEID_LINUXRAID is not set
-# CONFIG_FEATURE_VOLUMEID_LINUXSWAP is not set
-# CONFIG_FEATURE_VOLUMEID_LUKS is not set
-# CONFIG_FEATURE_VOLUMEID_NILFS is not set
-# CONFIG_FEATURE_VOLUMEID_NTFS is not set
-# CONFIG_FEATURE_VOLUMEID_OCFS2 is not set
-# CONFIG_FEATURE_VOLUMEID_REISERFS is not set
-# CONFIG_FEATURE_VOLUMEID_ROMFS is not set
-# CONFIG_FEATURE_VOLUMEID_SQUASHFS is not set
-# CONFIG_FEATURE_VOLUMEID_SYSV is not set
-# CONFIG_FEATURE_VOLUMEID_UDF is not set
-# CONFIG_FEATURE_VOLUMEID_XFS is not set
-
-#
-# Miscellaneous Utilities
-#
-# CONFIG_CONSPY is not set
-CONFIG_CROND=y
-CONFIG_FEATURE_CROND_D=y
-CONFIG_FEATURE_CROND_CALL_SENDMAIL=y
-CONFIG_FEATURE_CROND_DIR="/var/spool/cron"
-CONFIG_LESS=y
-CONFIG_FEATURE_LESS_MAXLINES=9999999
-CONFIG_FEATURE_LESS_BRACKETS=y
-CONFIG_FEATURE_LESS_FLAGS=y
-CONFIG_FEATURE_LESS_MARKS=y
-CONFIG_FEATURE_LESS_REGEXP=y
-CONFIG_FEATURE_LESS_WINCH=y
-CONFIG_FEATURE_LESS_ASK_TERMINAL=y
-CONFIG_FEATURE_LESS_DASHCMD=y
-CONFIG_FEATURE_LESS_LINENUMS=y
-# CONFIG_NANDWRITE is not set
-# CONFIG_NANDDUMP is not set
-# CONFIG_RFKILL is not set
-CONFIG_SETSERIAL=y
-# CONFIG_TASKSET is not set
-# CONFIG_FEATURE_TASKSET_FANCY is not set
-CONFIG_UBIATTACH=y
-CONFIG_UBIDETACH=y
-CONFIG_UBIMKVOL=y
-CONFIG_UBIRMVOL=y
-CONFIG_UBIRSVOL=y
-CONFIG_UBIUPDATEVOL=y
-# CONFIG_WALL is not set
-CONFIG_ADJTIMEX=y
-# CONFIG_BBCONFIG is not set
-# CONFIG_FEATURE_COMPRESS_BBCONFIG is not set
-CONFIG_BEEP=y
-CONFIG_FEATURE_BEEP_FREQ=4000
-CONFIG_FEATURE_BEEP_LENGTH_MS=30
-CONFIG_CHAT=y
-CONFIG_FEATURE_CHAT_NOFAIL=y
-# CONFIG_FEATURE_CHAT_TTY_HIFI is not set
-CONFIG_FEATURE_CHAT_IMPLICIT_CR=y
-CONFIG_FEATURE_CHAT_SWALLOW_OPTS=y
-CONFIG_FEATURE_CHAT_SEND_ESCAPES=y
-CONFIG_FEATURE_CHAT_VAR_ABORT_LEN=y
-CONFIG_FEATURE_CHAT_CLR_ABORT=y
-CONFIG_CHRT=y
-CONFIG_CRONTAB=y
-CONFIG_DC=y
-CONFIG_FEATURE_DC_LIBM=y
-# CONFIG_DEVFSD is not set
-# CONFIG_DEVFSD_MODLOAD is not set
-# CONFIG_DEVFSD_FG_NP is not set
-# CONFIG_DEVFSD_VERBOSE is not set
-# CONFIG_FEATURE_DEVFS is not set
-CONFIG_DEVMEM=y
-CONFIG_EJECT=y
-CONFIG_FEATURE_EJECT_SCSI=y
-CONFIG_FBSPLASH=y
-# CONFIG_FLASHCP is not set
-# CONFIG_FLASH_LOCK is not set
-# CONFIG_FLASH_UNLOCK is not set
-# CONFIG_FLASH_ERASEALL is not set
-CONFIG_IONICE=y
-# CONFIG_INOTIFYD is not set
-# CONFIG_LAST is not set
-# CONFIG_FEATURE_LAST_SMALL is not set
-# CONFIG_FEATURE_LAST_FANCY is not set
-CONFIG_HDPARM=y
-CONFIG_FEATURE_HDPARM_GET_IDENTITY=y
-CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF=y
-CONFIG_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF=y
-CONFIG_FEATURE_HDPARM_HDIO_DRIVE_RESET=y
-CONFIG_FEATURE_HDPARM_HDIO_TRISTATE_HWIF=y
-CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA=y
-CONFIG_MAKEDEVS=y
-# CONFIG_FEATURE_MAKEDEVS_LEAF is not set
-CONFIG_FEATURE_MAKEDEVS_TABLE=y
-CONFIG_MAN=y
-CONFIG_MICROCOM=y
-CONFIG_MOUNTPOINT=y
-CONFIG_MT=y
-CONFIG_RAIDAUTORUN=y
-# CONFIG_READAHEAD is not set
-# CONFIG_RUNLEVEL is not set
-CONFIG_RX=y
-CONFIG_SETSID=y
-CONFIG_STRINGS=y
-CONFIG_TIME=y
-CONFIG_TIMEOUT=y
-CONFIG_TTYSIZE=y
-CONFIG_VOLNAME=y
-CONFIG_WATCHDOG=y
-
-#
-# Networking Utilities
-#
-CONFIG_NAMEIF=y
-CONFIG_FEATURE_NAMEIF_EXTENDED=y
-CONFIG_NBDCLIENT=y
-CONFIG_NC=y
-CONFIG_NC_SERVER=y
-CONFIG_NC_EXTRA=y
-# CONFIG_NC_110_COMPAT is not set
-CONFIG_PING=y
-CONFIG_PING6=y
-CONFIG_FEATURE_FANCY_PING=y
-CONFIG_WHOIS=y
-CONFIG_FEATURE_IPV6=y
-# CONFIG_FEATURE_UNIX_LOCAL is not set
-CONFIG_FEATURE_PREFER_IPV4_ADDRESS=y
-# CONFIG_VERBOSE_RESOLUTION_ERRORS is not set
-CONFIG_ARP=y
-CONFIG_ARPING=y
-CONFIG_BRCTL=y
-CONFIG_FEATURE_BRCTL_FANCY=y
-CONFIG_FEATURE_BRCTL_SHOW=y
-CONFIG_DNSD=y
-CONFIG_ETHER_WAKE=y
-CONFIG_FAKEIDENTD=y
-CONFIG_FTPD=y
-CONFIG_FEATURE_FTP_WRITE=y
-CONFIG_FEATURE_FTPD_ACCEPT_BROKEN_LIST=y
-CONFIG_FEATURE_FTP_AUTHENTICATION=y
-CONFIG_FTPGET=y
-CONFIG_FTPPUT=y
-CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS=y
-CONFIG_HOSTNAME=y
-CONFIG_HTTPD=y
-CONFIG_FEATURE_HTTPD_RANGES=y
-CONFIG_FEATURE_HTTPD_SETUID=y
-CONFIG_FEATURE_HTTPD_BASIC_AUTH=y
-CONFIG_FEATURE_HTTPD_AUTH_MD5=y
-CONFIG_FEATURE_HTTPD_CGI=y
-CONFIG_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR=y
-CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV=y
-CONFIG_FEATURE_HTTPD_ENCODE_URL_STR=y
-CONFIG_FEATURE_HTTPD_ERROR_PAGES=y
-CONFIG_FEATURE_HTTPD_PROXY=y
-CONFIG_FEATURE_HTTPD_GZIP=y
-CONFIG_IFCONFIG=y
-CONFIG_FEATURE_IFCONFIG_STATUS=y
-CONFIG_FEATURE_IFCONFIG_SLIP=y
-CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ=y
-CONFIG_FEATURE_IFCONFIG_HW=y
-CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS=y
-CONFIG_IFENSLAVE=y
-CONFIG_IFPLUGD=y
-CONFIG_IFUPDOWN=y
-CONFIG_IFUPDOWN_IFSTATE_PATH="/var/run/ifstate"
-CONFIG_FEATURE_IFUPDOWN_IP=y
-CONFIG_FEATURE_IFUPDOWN_IP_BUILTIN=y
-# CONFIG_FEATURE_IFUPDOWN_IFCONFIG_BUILTIN is not set
-CONFIG_FEATURE_IFUPDOWN_IPV4=y
-CONFIG_FEATURE_IFUPDOWN_IPV6=y
-CONFIG_FEATURE_IFUPDOWN_MAPPING=y
-# CONFIG_FEATURE_IFUPDOWN_EXTERNAL_DHCP is not set
-CONFIG_INETD=y
-CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_ECHO=y
-CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DISCARD=y
-CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_TIME=y
-CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME=y
-CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN=y
-CONFIG_FEATURE_INETD_RPC=y
-CONFIG_IP=y
-CONFIG_FEATURE_IP_ADDRESS=y
-CONFIG_FEATURE_IP_LINK=y
-CONFIG_FEATURE_IP_ROUTE=y
-CONFIG_FEATURE_IP_TUNNEL=y
-CONFIG_FEATURE_IP_RULE=y
-CONFIG_FEATURE_IP_SHORT_FORMS=y
-# CONFIG_FEATURE_IP_RARE_PROTOCOLS is not set
-CONFIG_IPADDR=y
-CONFIG_IPLINK=y
-CONFIG_IPROUTE=y
-CONFIG_IPTUNNEL=y
-CONFIG_IPRULE=y
-CONFIG_IPCALC=y
-CONFIG_FEATURE_IPCALC_FANCY=y
-CONFIG_FEATURE_IPCALC_LONG_OPTIONS=y
-CONFIG_NETSTAT=y
-CONFIG_FEATURE_NETSTAT_WIDE=y
-CONFIG_FEATURE_NETSTAT_PRG=y
-CONFIG_NSLOOKUP=y
-CONFIG_NTPD=y
-CONFIG_FEATURE_NTPD_SERVER=y
-CONFIG_FEATURE_NTPD_CONF=y
-CONFIG_PSCAN=y
-CONFIG_ROUTE=y
-CONFIG_SLATTACH=y
-CONFIG_TCPSVD=y
-CONFIG_TELNET=y
-CONFIG_FEATURE_TELNET_TTYPE=y
-CONFIG_FEATURE_TELNET_AUTOLOGIN=y
-CONFIG_TELNETD=y
-CONFIG_FEATURE_TELNETD_STANDALONE=y
-CONFIG_FEATURE_TELNETD_INETD_WAIT=y
-CONFIG_TFTP=y
-CONFIG_TFTPD=y
-
-#
-# Common options for tftp/tftpd
-#
-CONFIG_FEATURE_TFTP_GET=y
-CONFIG_FEATURE_TFTP_PUT=y
-CONFIG_FEATURE_TFTP_BLOCKSIZE=y
-CONFIG_FEATURE_TFTP_PROGRESS_BAR=y
-# CONFIG_TFTP_DEBUG is not set
-CONFIG_TRACEROUTE=y
-CONFIG_TRACEROUTE6=y
-CONFIG_FEATURE_TRACEROUTE_VERBOSE=y
-# CONFIG_FEATURE_TRACEROUTE_SOURCE_ROUTE is not set
-# CONFIG_FEATURE_TRACEROUTE_USE_ICMP is not set
-CONFIG_TUNCTL=y
-CONFIG_FEATURE_TUNCTL_UG=y
-# CONFIG_UDHCPC6 is not set
-CONFIG_UDHCPD=y
-CONFIG_DHCPRELAY=y
-CONFIG_DUMPLEASES=y
-CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY=y
-# CONFIG_FEATURE_UDHCPD_BASE_IP_ON_MAC is not set
-CONFIG_DHCPD_LEASES_FILE="/var/lib/misc/udhcpd.leases"
-CONFIG_UDHCPC=y
-CONFIG_FEATURE_UDHCPC_ARPING=y
-CONFIG_FEATURE_UDHCPC_SANITIZEOPT=y
-# CONFIG_FEATURE_UDHCP_PORT is not set
-CONFIG_UDHCP_DEBUG=9
-CONFIG_FEATURE_UDHCP_RFC3397=y
-CONFIG_FEATURE_UDHCP_8021Q=y
-CONFIG_UDHCPC_DEFAULT_SCRIPT="/usr/share/udhcpc/default.script"
-CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=80
-CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS="-R -n"
-CONFIG_UDPSVD=y
-CONFIG_VCONFIG=y
-CONFIG_WGET=y
-CONFIG_FEATURE_WGET_STATUSBAR=y
-CONFIG_FEATURE_WGET_AUTHENTICATION=y
-CONFIG_FEATURE_WGET_LONG_OPTIONS=y
-CONFIG_FEATURE_WGET_TIMEOUT=y
-CONFIG_ZCIP=y
-
-#
-# Print Utilities
-#
-CONFIG_LPD=y
-CONFIG_LPR=y
-CONFIG_LPQ=y
-
-#
-# Mail Utilities
-#
-CONFIG_MAKEMIME=y
-CONFIG_FEATURE_MIME_CHARSET="us-ascii"
-CONFIG_POPMAILDIR=y
-CONFIG_FEATURE_POPMAILDIR_DELIVERY=y
-CONFIG_REFORMIME=y
-CONFIG_FEATURE_REFORMIME_COMPAT=y
-CONFIG_SENDMAIL=y
-
-#
-# Process Utilities
-#
-CONFIG_IOSTAT=y
-CONFIG_LSOF=y
-CONFIG_MPSTAT=y
-CONFIG_NMETER=y
-CONFIG_PMAP=y
-CONFIG_POWERTOP=y
-CONFIG_PSTREE=y
-CONFIG_PWDX=y
-CONFIG_SMEMCAP=y
-CONFIG_TOP=y
-CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE=y
-CONFIG_FEATURE_TOP_CPU_GLOBAL_PERCENTS=y
-CONFIG_FEATURE_TOP_SMP_CPU=y
-CONFIG_FEATURE_TOP_DECIMALS=y
-CONFIG_FEATURE_TOP_SMP_PROCESS=y
-CONFIG_FEATURE_TOPMEM=y
-CONFIG_UPTIME=y
-# CONFIG_FEATURE_UPTIME_UTMP_SUPPORT is not set
-CONFIG_FREE=y
-CONFIG_FUSER=y
-CONFIG_KILL=y
-CONFIG_KILLALL=y
-CONFIG_KILLALL5=y
-CONFIG_PGREP=y
-CONFIG_PIDOF=y
-CONFIG_FEATURE_PIDOF_SINGLE=y
-CONFIG_FEATURE_PIDOF_OMIT=y
-CONFIG_PKILL=y
-CONFIG_PS=y
-CONFIG_FEATURE_PS_WIDE=y
-CONFIG_FEATURE_PS_LONG=y
-# CONFIG_FEATURE_PS_TIME is not set
-# CONFIG_FEATURE_PS_ADDITIONAL_COLUMNS is not set
-# CONFIG_FEATURE_PS_UNUSUAL_SYSTEMS is not set
-CONFIG_RENICE=y
-CONFIG_BB_SYSCTL=y
-CONFIG_FEATURE_SHOW_THREADS=y
-CONFIG_WATCH=y
-
-#
-# Runit Utilities
-#
-CONFIG_RUNSV=y
-CONFIG_RUNSVDIR=y
-# CONFIG_FEATURE_RUNSVDIR_LOG is not set
-CONFIG_SV=y
-CONFIG_SV_DEFAULT_SERVICE_DIR="/var/service"
-CONFIG_SVLOGD=y
-CONFIG_CHPST=y
-CONFIG_SETUIDGID=y
-CONFIG_ENVUIDGID=y
-CONFIG_ENVDIR=y
-CONFIG_SOFTLIMIT=y
-# CONFIG_CHCON is not set
-# CONFIG_FEATURE_CHCON_LONG_OPTIONS is not set
-# CONFIG_GETENFORCE is not set
-# CONFIG_GETSEBOOL is not set
-# CONFIG_LOAD_POLICY is not set
-# CONFIG_MATCHPATHCON is not set
-# CONFIG_RESTORECON is not set
-# CONFIG_RUNCON is not set
-# CONFIG_FEATURE_RUNCON_LONG_OPTIONS is not set
-# CONFIG_SELINUXENABLED is not set
-# CONFIG_SETENFORCE is not set
-# CONFIG_SETFILES is not set
-# CONFIG_FEATURE_SETFILES_CHECK_OPTION is not set
-# CONFIG_SETSEBOOL is not set
-# CONFIG_SESTATUS is not set
-
-#
-# Shells
-#
-CONFIG_ASH=y
-CONFIG_ASH_BASH_COMPAT=y
-# CONFIG_ASH_IDLE_TIMEOUT is not set
-CONFIG_ASH_JOB_CONTROL=y
-CONFIG_ASH_ALIAS=y
-CONFIG_ASH_GETOPTS=y
-CONFIG_ASH_BUILTIN_ECHO=y
-CONFIG_ASH_BUILTIN_PRINTF=y
-CONFIG_ASH_BUILTIN_TEST=y
-CONFIG_ASH_HELP=y
-CONFIG_ASH_CMDCMD=y
-# CONFIG_ASH_MAIL is not set
-CONFIG_ASH_OPTIMIZE_FOR_SIZE=y
-CONFIG_ASH_RANDOM_SUPPORT=y
-CONFIG_ASH_EXPAND_PRMT=y
-CONFIG_CTTYHACK=y
-CONFIG_HUSH=y
-CONFIG_HUSH_BASH_COMPAT=y
-CONFIG_HUSH_BRACE_EXPANSION=y
-CONFIG_HUSH_HELP=y
-CONFIG_HUSH_INTERACTIVE=y
-CONFIG_HUSH_SAVEHISTORY=y
-CONFIG_HUSH_JOB=y
-CONFIG_HUSH_TICK=y
-CONFIG_HUSH_IF=y
-CONFIG_HUSH_LOOPS=y
-CONFIG_HUSH_CASE=y
-CONFIG_HUSH_FUNCTIONS=y
-CONFIG_HUSH_LOCAL=y
-CONFIG_HUSH_RANDOM_SUPPORT=y
-CONFIG_HUSH_EXPORT_N=y
-CONFIG_HUSH_MODE_X=y
-# CONFIG_MSH is not set
-# CONFIG_FEATURE_SH_IS_ASH is not set
-CONFIG_FEATURE_SH_IS_HUSH=y
-# CONFIG_FEATURE_SH_IS_NONE is not set
-# CONFIG_FEATURE_BASH_IS_ASH is not set
-# CONFIG_FEATURE_BASH_IS_HUSH is not set
-CONFIG_FEATURE_BASH_IS_NONE=y
-CONFIG_SH_MATH_SUPPORT=y
-CONFIG_SH_MATH_SUPPORT_64=y
-CONFIG_FEATURE_SH_EXTRA_QUIET=y
-CONFIG_FEATURE_SH_STANDALONE=y
-CONFIG_FEATURE_SH_NOFORK=y
-CONFIG_FEATURE_SH_HISTFILESIZE=y
-
-#
-# System Logging Utilities
-#
-CONFIG_SYSLOGD=y
-CONFIG_FEATURE_ROTATE_LOGFILE=y
-CONFIG_FEATURE_REMOTE_LOG=y
-CONFIG_FEATURE_SYSLOGD_DUP=y
-CONFIG_FEATURE_SYSLOGD_CFG=y
-CONFIG_FEATURE_SYSLOGD_READ_BUFFER_SIZE=256
-CONFIG_FEATURE_IPC_SYSLOG=y
-CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=16
-CONFIG_LOGREAD=y
-CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING=y
-CONFIG_FEATURE_KMSG_SYSLOG=y
-CONFIG_KLOGD=y
-
-#
-# klogd should not be used together with syslog to kernel printk buffer
-#
-CONFIG_FEATURE_KLOGD_KLOGCTL=y
-CONFIG_LOGGER=y
diff --git a/LibOS/shim/test/apps/curl/Makefile b/LibOS/shim/test/apps/curl/Makefile
deleted file mode 100644
index ceffd7af..00000000
--- a/LibOS/shim/test/apps/curl/Makefile
+++ /dev/null
@@ -1,12 +0,0 @@
-manifests = curl.manifest
-
-target =
-exec_target = $(manifests)
-
-clean-extra += clean-tmp
-
-level = ../../
-include ../../Makefile
-
-clean-tmp:
- rm -f curl.manifest.sgx
diff --git a/LibOS/shim/test/apps/curl/curl.manifest.template b/LibOS/shim/test/apps/curl/curl.manifest.template
deleted file mode 100644
index 646b597e..00000000
--- a/LibOS/shim/test/apps/curl/curl.manifest.template
+++ /dev/null
@@ -1,91 +0,0 @@
-#!$(PAL)
-
-loader.preload = file:$(SHIMPATH)
-loader.exec = file:/usr/bin/curl
-loader.execname = /usr/bin/curl
-loader.env.LD_LIBRARY_PATH = /lib:/lib/x86_64-linux-gnu:/usr/lib:/usr/lib/x86_64-linux-gnu
-loader.env.PATH = /usr/bin:/bin
-loader.env.USERNAME =
-loader.env.HOME =
-loader.env.PWD =
-loader.debug_type = none
-
-fs.mount.lib1.type = chroot
-fs.mount.lib1.path = /lib
-fs.mount.lib1.uri = file:$(LIBCDIR)
-
-fs.mount.lib2.type = chroot
-fs.mount.lib2.path = /lib/x86_64-linux-gnu
-fs.mount.lib2.uri = file:/lib/x86_64-linux-gnu
-
-fs.mount.bin.type = chroot
-fs.mount.bin.path = /bin
-fs.mount.bin.uri = file:/bin
-
-fs.mount.usr.type = chroot
-fs.mount.usr.path = /usr
-fs.mount.usr.uri = file:/usr
-
-fs.mount.etc.type = chroot
-fs.mount.etc.path = /etc
-fs.mount.etc.uri = file:
-
-fs.mount.tmp.type = chroot
-fs.mount.tmp.path = /tmp
-fs.mount.tmp.uri = file:/tmp
-
-
-sys.stack.size = 256K
-sys.brk.size = 4M
-glibc.heap_size = 16M
-
-sgx.trusted_files.ld = file:$(LIBCDIR)/ld-linux-x86-64.so.2
-sgx.trusted_files.libc = file:$(LIBCDIR)/libc.so.6
-sgx.trusted_files.libdl = file:$(LIBCDIR)/libdl.so.2
-sgx.trusted_files.libm = file:$(LIBCDIR)/libm.so.6
-sgx.trusted_files.libpthread = file:$(LIBCDIR)/libpthread.so.0
-sgx.trusted_files.liburil = file:$(LIBCDIR)/libutil.so.1
-sgx.trusted_files.libz = file:/lib/x86_64-linux-gnu/libz.so.1
-sgx.trusted_files.libnss1 = file:/lib/x86_64-linux-gnu/libnss_compat.so.2
-sgx.trusted_files.libnss2 = file:/lib/x86_64-linux-gnu/libnss_files.so.2
-sgx.trusted_files.libnss3 = file:/lib/x86_64-linux-gnu/libnss_nis.so.2
-sgx.trusted_files.libnss4 = file:$(LIBCDIR)/libnss_dns.so.2
-sgx.trusted_files.libssl = file:/lib/x86_64-linux-gnu/libssl.so.1.0.0
-sgx.trusted_files.libcrypto = file:/lib/x86_64-linux-gnu/libcrypto.so.1.0.0
-sgx.trusted_files.libresolv = file:$(LIBCDIR)/libresolv.so.2
-sgx.trusted_files.libcurl = file:/usr/lib/x86_64-linux-gnu/libcurl.so.4
-sgx.trusted_files.libidn = file:/usr/lib/x86_64-linux-gnu/libidn.so.11
-sgx.trusted_files.librtmp = file:/usr/lib/x86_64-linux-gnu/librtmp.so.0
-sgx.trusted_files.libgssapi_krb5 = file:/usr/lib/x86_64-linux-gnu/libgssapi_krb5.so.2
-sgx.trusted_files.liblber = file:/usr/lib/x86_64-linux-gnu/liblber-2.4.so.2
-sgx.trusted_files.libldap_r = file:/usr/lib/x86_64-linux-gnu/libldap_r-2.4.so.2
-sgx.trusted_files.libgnutls = file:/usr/lib/x86_64-linux-gnu/libgnutls.so.26
-sgx.trusted_files.libgcrypt = file:/lib/x86_64-linux-gnu/libgcrypt.so.11
-sgx.trusted_files.libk5crypto = file:/usr/lib/x86_64-linux-gnu/libk5crypto.so.3
-sgx.trusted_files.libcom_err = file:/lib/x86_64-linux-gnu/libcom_err.so.2
-sgx.trusted_files.libkrb5support = file:/usr/lib/x86_64-linux-gnu/libkrb5support.so.0
-sgx.trusted_files.libsasl2 = file:/usr/lib/x86_64-linux-gnu/libsasl2.so.2
-sgx.trusted_files.libgssapi = file:/usr/lib/x86_64-linux-gnu/libgssapi.so.3
-sgx.trusted_files.libtasn1 = file:/usr/lib/x86_64-linux-gnu/libtasn1.so.6
-sgx.trusted_files.libp11kit = file:/usr/lib/x86_64-linux-gnu/libp11-kit.so.0
-sgx.trusted_files.libgpgerror = file:/lib/x86_64-linux-gnu/libgpg-error.so.0
-sgx.trusted_files.libkeyutils = file:/lib/x86_64-linux-gnu/libkeyutils.so.1
-sgx.trusted_files.libheimntlm = file:/usr/lib/x86_64-linux-gnu/libheimntlm.so.0
-sgx.trusted_files.libkrb5 = file:/usr/lib/x86_64-linux-gnu/libkrb5.so.3
-sgx.trusted_files.libkrb5_26 = file:/usr/lib/x86_64-linux-gnu/libkrb5.so.26
-sgx.trusted_files.libasn1 = file:/usr/lib/x86_64-linux-gnu/libasn1.so.8
-sgx.trusted_files.libroken = file:/usr/lib/x86_64-linux-gnu/libroken.so.18
-sgx.trusted_files.libffi = file:/usr/lib/x86_64-linux-gnu/libffi.so.6
-sgx.trusted_files.libwind = file:/usr/lib/x86_64-linux-gnu/libwind.so.0
-sgx.trusted_files.libheimbase = file:/usr/lib/x86_64-linux-gnu/libheimbase.so.1
-sgx.trusted_files.libhx509 = file:/usr/lib/x86_64-linux-gnu/libhx509.so.5
-sgx.trusted_files.libsqlite3 = file:/usr/lib/x86_64-linux-gnu/libsqlite3.so.0
-sgx.trusted_files.libcrypt = file:/lib/x86_64-linux-gnu/libcrypt.so.1
-sgx.trusted_files.libhcrypto = file:/usr/lib/x86_64-linux-gnu/libhcrypto.so.4
-sgx.trusted_files.libnsl = file:/lib/x86_64-linux-gnu/libnsl.so.1
-
-sgx.trusted_files.hosts = file:hosts
-sgx.trusted_files.resolv = file:resolv.conf
-sgx.trusted_files.gai = file:gai.conf
-
-sgx.allowed_files.tmp = file:/tmp
diff --git a/LibOS/shim/test/apps/curl/gai.conf b/LibOS/shim/test/apps/curl/gai.conf
deleted file mode 100644
index 4616ed00..00000000
--- a/LibOS/shim/test/apps/curl/gai.conf
+++ /dev/null
@@ -1,65 +0,0 @@
-# Configuration for getaddrinfo(3).
-#
-# So far only configuration for the destination address sorting is needed.
-# RFC 3484 governs the sorting. But the RFC also says that system
-# administrators should be able to overwrite the defaults. This can be
-# achieved here.
-#
-# All lines have an initial identifier specifying the option followed by
-# up to two values. Information specified in this file replaces the
-# default information. Complete absence of data of one kind causes the
-# appropriate default information to be used. The supported commands include:
-#
-# reload
-# If set to yes, each getaddrinfo(3) call will check whether this file
-# changed and if necessary reload. This option should not really be
-# used. There are possible runtime problems. The default is no.
-#
-# label
-# Add another rule to the RFC 3484 label table. See section 2.1 in
-# RFC 3484. The default is:
-#
-#label ::1/128 0
-#label ::/0 1
-#label 2002::/16 2
-#label ::/96 3
-#label ::ffff:0:0/96 4
-#label fec0::/10 5
-#label fc00::/7 6
-#label 2001:0::/32 7
-#
-# This default differs from the tables given in RFC 3484 by handling
-# (now obsolete) site-local IPv6 addresses and Unique Local Addresses.
-# The reason for this difference is that these addresses are never
-# NATed while IPv4 site-local addresses most probably are. Given
-# the precedence of IPv6 over IPv4 (see below) on machines having only
-# site-local IPv4 and IPv6 addresses a lookup for a global address would
-# see the IPv6 be preferred. The result is a long delay because the
-# site-local IPv6 addresses cannot be used while the IPv4 address is
-# (at least for the foreseeable future) NATed. We also treat Teredo
-# tunnels special.
-#
-# precedence
-# Add another rule to the RFC 3484 precedence table. See section 2.1
-# and 10.3 in RFC 3484. The default is:
-#
-#precedence ::1/128 50
-#precedence ::/0 40
-#precedence 2002::/16 30
-#precedence ::/96 20
-#precedence ::ffff:0:0/96 10
-#
-# For sites which prefer IPv4 connections change the last line to
-#
-#precedence ::ffff:0:0/96 100
-
-#
-# scopev4
-# Add another rule to the RFC 6724 scope table for IPv4 addresses.
-# By default the scope IDs described in section 3.2 in RFC 6724 are
-# used. Changing these defaults should hardly ever be necessary.
-# The defaults are equivalent to:
-#
-#scopev4 ::ffff:169.254.0.0/112 2
-#scopev4 ::ffff:127.0.0.0/104 2
-#scopev4 ::ffff:0.0.0.0/96 14
diff --git a/LibOS/shim/test/apps/curl/hosts b/LibOS/shim/test/apps/curl/hosts
deleted file mode 100644
index 2925909e..00000000
--- a/LibOS/shim/test/apps/curl/hosts
+++ /dev/null
@@ -1,8 +0,0 @@
-127.0.0.1 localhost
-
-# The following lines are desirable for IPv6 capable hosts
-::1 ip6-localhost ip6-loopback
-fe00::0 ip6-localnet
-ff00::0 ip6-mcastprefix
-ff02::1 ip6-allnodes
-ff02::2 ip6-allrouters
diff --git a/LibOS/shim/test/apps/curl/resolv.conf b/LibOS/shim/test/apps/curl/resolv.conf
deleted file mode 100644
index 276c26b1..00000000
--- a/LibOS/shim/test/apps/curl/resolv.conf
+++ /dev/null
@@ -1,2 +0,0 @@
-nameserver 8.8.8.8
-nameserver 8.8.4.4
diff --git a/LibOS/shim/test/apps/gcc/.gitignore b/LibOS/shim/test/apps/gcc/.gitignore
deleted file mode 100644
index 6fcd7971..00000000
--- a/LibOS/shim/test/apps/gcc/.gitignore
+++ /dev/null
@@ -1,3 +0,0 @@
-/test_files/bzip2
-/test_files/gzip
-/test_files/hello
diff --git a/LibOS/shim/test/apps/gcc/Makefile b/LibOS/shim/test/apps/gcc/Makefile
deleted file mode 100644
index b07df83d..00000000
--- a/LibOS/shim/test/apps/gcc/Makefile
+++ /dev/null
@@ -1,130 +0,0 @@
-test_files = test_files
-
-exec_target = $(addsuffix .manifest,gcc as ld cc1 collect2)
-
-clean-extra = clean-garbages
-
-huge_rule = sys.stack.size = 64M\nsys.brk.size = 256M\nglibc.heap_size = 16M\nsgx.enclave_size = 2G
-
-extra_rules = \
- -e 's:\$$(DEBUGTYPE):$(if $(DEBUG),inline,none):g' \
- -e 's:\$$(GCCDIR):$(patsubst %/cc1,%,$(shell gcc -print-file-name=cc1)):g' \
- -e 's:\$$(HUGERULE):$(if $(HUGE),$(huge_rule),):g'
-
-level = ../../
-include ../../Makefile
-
-GCC_VER = 4.8.4
-BINUTILS_VER = 2.20.1
-GMP_SRC = gmp-5.1.3
-GMP_OBJ = libgmp.so.3
-GMPXX_OBJ = libgmpxx.so.4
-PPL_SRC = ppl-1.1
-PPL_OBJ = libppl_c.so.2
-MPFR_SRC = mpfr-3.1.2
-MPFR_OBJ = libmpfr.so.1
-MPC_SRC = mpc-1.0.1
-MPC_OBJ = libmpc.so.2
-
-LINK_LIBC =
-GCC_FLAGS = \
- --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-gnu-ld \
- --enable-languages=c,c++ --disable-shared --disable-multilib \
- --with-gmp=$(PWD)/obj --with-mpfr=$(PWD)/obj --with-mpc=$(PWD)/obj --without-cloog \
- --without-htmldir --without-pdfdir --without-docdir --without-datarootdir \
- --disable-cloog-version-check --disable-stage1-languages --disable-objc-gc \
- --disable-bootstrap --disable-maintainer-mode --disable-werror \
- $(LINK_LIBC)
-GCC_MAKE_FLAGS = \
- LD_LIBRARY_PATH="$(PWD)/obj/lib:/usr/lib:/lib"
-
-obj/bin/gcc: src/gcc-$(GCC_VER) obj/bin/ld $(addprefix obj/lib/,$(GMP_OBJ) $(GMPXX_OBJ) $(PPL_OBJ) $(MPFR_OBJ) $(MPC_OBJ))
- cd $< && ./configure --prefix=$(PWD)/obj $(GCC_FLAGS)
- $(MAKE) -C $< $(GCC_MAKE_FLAGS)
- $(MAKE) -C $< install
-
-src/gcc-$(GCC_VER): gcc-$(GCC_VER).tar.bz2 src
- cd src && tar -xjf ../$<
-
-obj/bin/ld: src/binutils-$(BINUTILS_VER)
- cd $< && ./configure --prefix=$(PWD)/obj $(GCC_FLAGS) --enable-shared
- $(MAKE) -C $< $(GCC_MAKE_FLAGS)
- $(MAKE) -C $< install
-
-src/binutils-$(BINUTILS_VER): binutils-$(BINUTILS_VER).tar.bz2 src
- cd src && tar -xmjf ../$<
-
-obj/lib/$(GMP_OBJ) obj/lib/$(GMPXX_OBJ): src/$(GMP_SRC)
- cd $< && ./configure --prefix=$(PWD)/obj --enable-cxx --enable-shared \
- $(LINK_LIBC)
- $(MAKE) -C $<
- $(MAKE) -C $< install
-
-src/$(GMP_SRC): $(GMP_SRC).tar.bz2 src
- cd src && tar -xmjf ../$<
-
-obj/lib/$(PPL_OBJ): src/$(PPL_SRC) obj/lib/$(GMP_OBJ)
- cd $< && ./configure --prefix=$(PWD)/obj --with-libgmp-prefix=$(PWD)/obj --enable-shared \
- $(LINK_LIBC) CXXFLAGS=-fpermissive
- $(MAKE) -C $<
- $(MAKE) -C $< install
-
-src/$(PPL_SRC): $(PPL_SRC).tar.gz src
- cd src && tar -xmzf ../$<
-
-obj/lib/$(MPFR_OBJ): src/$(MPFR_SRC) obj/lib/$(GMP_OBJ)
- cd $< && ./configure --prefix=$(PWD)/obj --enable-shared \
- $(LINK_LIBC) CXXFLAGS=-D__gmp_const=const
- $(MAKE) -C $<
- $(MAKE) -C $< install
-
-src/$(MPFR_SRC): $(MPFR_SRC).tar.bz2 src
- cd src && tar -xmjf ../$<
-
-obj/lib/$(MPC_OBJ): src/$(MPC_SRC)
- cd $< && ./configure --prefix=$(PWD)/obj --with-gmp=$(PWD)/obj --enable-shared \
- $(LINK_LIBC)
- $(MAKE) -C $<
- $(MAKE) -C $< install
-
-src/$(MPC_SRC): $(MPC_SRC).tar.gz src
- cd src && tar -xmzf ../$<
-
-regression:
- @echo "\n\nBuilding GCC..."
- @$(MAKE) >> /dev/null 2>&1
-
- @echo "\n\nCompile hello.c:"
- -./gcc.manifest test_files/helloworld.c -o test_files/hello
- @chmod 755 test_files/hello
- -./test_files/hello
- @rm -f test_files/hello
-
- @echo "\n\nCompile bzip2.c:"
- -./gcc.manifest test_files/bzip2.c -o test_files/bzip2
- @chmod 755 test_files/bzip2
- @[ ! -f bzip2.tmp ] || rm -f bzip2.tmp
- @cp -f test_files/bzip2 test_files/bzip2.copy
- -./test_files/bzip2 -z test_files/bzip2.copy
- -./test_files/bzip2 -d test_files/bzip2.copy.bz2
- diff -q test_files/bzip2 test_files/bzip2.copy
- @rm -f test_files/bzip2 test_file/bzip2.copy
-
- @echo "\n\nCompile gzip.c:"
- -./gcc.manifest test_files/gzip.c -o test_files/gzip
- @chmod 755 test_files/gzip
- @cp -f test_files/gzip test_files/gzip.copy
- -./test_files/gzip test_files/gzip.copy
- -./test_files/gzip -d test_files/gzip.copy.gz
- diff -q test_files/gzip test_files/gzip.copy
- @rm -f test_files/gzip test_files/gzip.copy
-
-
-src:
- mkdir -p src
-
-distclean: clean
- rm -rf src obj
-
-clean-garbages:
- rm -rf cc*.s cc*.c cc*.ld cc*.le cc*.o a.out
diff --git a/LibOS/shim/test/apps/gcc/as.manifest.template b/LibOS/shim/test/apps/gcc/as.manifest.template
deleted file mode 100644
index d026e37d..00000000
--- a/LibOS/shim/test/apps/gcc/as.manifest.template
+++ /dev/null
@@ -1,36 +0,0 @@
-#!$(PAL)
-
-loader.preload = file:$(SHIMPATH)
-loader.exec = file:/usr/bin/as
-loader.execname = /usr/bin/as
-loader.env.LD_LIBRARY_PATH = /lib:/lib/x86_64-linux-gnu:/usr/lib:/usr/lib/x86_64-linux-gnu
-loader.env.PATH = /bin:/usr/bin
-loader.debug_type = $(DEBUGTYPE)
-
-fs.mount.lib1.type = chroot
-fs.mount.lib1.path = /lib
-fs.mount.lib1.uri = file:$(LIBCDIR)
-
-fs.mount.lib2.type = chroot
-fs.mount.lib2.path = /lib/x86_64-linux-gnu
-fs.mount.lib2.uri = file:/lib/x86_64-linux-gnu
-
-fs.mount.usr.type = chroot
-fs.mount.usr.path = /usr
-fs.mount.usr.uri = file:/usr
-
-fs.mount.tmp.type = chroot
-fs.mount.tmp.path = /tmp
-fs.mount.tmp.uri = file:/tmp
-
-sgx.trusted_files.ld = file:$(LIBCDIR)/ld-linux-x86-64.so.2
-sgx.trusted_files.libc = file:$(LIBCDIR)/libc.so.6
-sgx.trusted_files.libdl = file:$(LIBCDIR)/libdl.so.2
-sgx.trusted_files.libm = file:$(LIBCDIR)/libm.so.6
-sgx.trusted_files.libpthread = file:$(LIBCDIR)/libpthread.so.0
-sgx.trusted_files.libz = file:/lib/x86_64-linux-gnu/libz.so.1
-sgx.trusted_files.libopcodes = file:/usr/lib/x86_64-linux-gnu/libopcodes-2.26.1-system.so
-sgx.trusted_files.libbfd = file:/usr/lib/x86_64-linux-gnu/libbfd-2.26.1-system.so
-
-sgx.allowed_files.tmp = file:/tmp
-sgx.allowed_files.test_files = file:test_files
diff --git a/LibOS/shim/test/apps/gcc/binutils-2.20.1.tar.bz2 b/LibOS/shim/test/apps/gcc/binutils-2.20.1.tar.bz2
deleted file mode 100644
index 723a0e1a..00000000
Binary files a/LibOS/shim/test/apps/gcc/binutils-2.20.1.tar.bz2 and /dev/null differ
diff --git a/LibOS/shim/test/apps/gcc/cc1.manifest.template b/LibOS/shim/test/apps/gcc/cc1.manifest.template
deleted file mode 100644
index f2be40f2..00000000
--- a/LibOS/shim/test/apps/gcc/cc1.manifest.template
+++ /dev/null
@@ -1,43 +0,0 @@
-#!$(PAL)
-
-loader.preload = file:$(SHIMPATH)
-loader.exec = file:$(GCCDIR)/cc1
-loader.execname = cc1
-loader.env.LD_LIBRARY_PATH = /lib:/lib/x86_64-linux-gnu:/usr/lib:/usr/lib/x86_64-linux-gnu
-loader.env.PATH = /bin:/usr/bin
-loader.debug_type = $(DEBUGTYPE)
-
-fs.mount.lib1.type = chroot
-fs.mount.lib1.path = /lib
-fs.mount.lib1.uri = file:$(LIBCDIR)
-
-fs.mount.lib2.type = chroot
-fs.mount.lib2.path = /lib/x86_64-linux-gnu
-fs.mount.lib2.uri = file:/lib/x86_64-linux-gnu
-
-fs.mount.usr.type = chroot
-fs.mount.usr.path = /usr
-fs.mount.usr.uri = file:/usr
-
-fs.mount.tmp.type = chroot
-fs.mount.tmp.path = /tmp
-fs.mount.tmp.uri = file:/tmp
-
-$(HUGERULE)
-
-sgx.trusted_files.ld = file:$(LIBCDIR)/ld-linux-x86-64.so.2
-sgx.trusted_files.libc = file:$(LIBCDIR)/libc.so.6
-sgx.trusted_files.libdl = file:$(LIBCDIR)/libdl.so.2
-sgx.trusted_files.libm = file:$(LIBCDIR)/libm.so.6
-sgx.trusted_files.libz = file:/lib/x86_64-linux-gnu/libz.so.1
-sgx.trusted_files.libpthread = file:$(LIBCDIR)/libpthread.so.0
-sgx.trusted_files.isl = file:/usr/lib/x86_64-linux-gnu/libisl.so.15
-sgx.trusted_files.mpc = file:/usr/lib/x86_64-linux-gnu/libmpc.so.3
-sgx.trusted_files.mpfr = file:/usr/lib/x86_64-linux-gnu/libmpfr.so.4
-sgx.trusted_files.gmp = file:/usr/lib/x86_64-linux-gnu/libgmp.so.10
-
-sgx.allowed_files.tmp = file:/tmp
-sgx.allowed_files.test_files = file:test_files
-sgx.allowed_files.inc = file:/usr/include
-sgx.allowed_files.gccinc = file:$(GCCDIR)/include
-sgx.allowed_files.gccincfixed = file:$(GCCDIR)/include-fixed
diff --git a/LibOS/shim/test/apps/gcc/collect2.manifest.template b/LibOS/shim/test/apps/gcc/collect2.manifest.template
deleted file mode 100644
index ac095f4b..00000000
--- a/LibOS/shim/test/apps/gcc/collect2.manifest.template
+++ /dev/null
@@ -1,37 +0,0 @@
-#!$(PAL)
-
-loader.preload = file:$(SHIMPATH)
-loader.exec = file:$(GCCDIR)/collect2
-loader.execname = collect2
-loader.env.LD_LIBRARY_PATH = /lib:/lib/x86_64-linux-gnu:/usr/lib:/usr/lib/x86_64-linux-gnu
-loader.env.PATH = /bin:/usr/bin
-loader.debug_type = $(DEBUGTYPE)
-
-fs.mount.lib1.type = chroot
-fs.mount.lib1.path = /lib
-fs.mount.lib1.uri = file:$(LIBCDIR)
-
-fs.mount.lib2.type = chroot
-fs.mount.lib2.path = /lib/x86_64-linux-gnu
-fs.mount.lib2.uri = file:/lib/x86_64-linux-gnu
-
-fs.mount.usr.type = chroot
-fs.mount.usr.path = /usr
-fs.mount.usr.uri = file:/usr
-
-fs.mount.tmp.type = chroot
-fs.mount.tmp.path = /tmp
-fs.mount.tmp.uri = file:/tmp
-
-sgx.trusted_files.ld = file:$(LIBCDIR)/ld-linux-x86-64.so.2
-sgx.trusted_files.libc = file:$(LIBCDIR)/libc.so.6
-sgx.trusted_files.libdl = file:$(LIBCDIR)/libdl.so.2
-sgx.trusted_files.libm = file:$(LIBCDIR)/libm.so.6
-sgx.trusted_files.libpthread = file:$(LIBCDIR)/libpthread.so.0
-
-sgx.trusted_files.linker = file:/usr/bin/ld
-
-sgx.allowed_files.tmp = file:/tmp
-sgx.allowed_files.test_files = file:test_files
-
-sgx.trusted_children.linker = file:ld.sig
diff --git a/LibOS/shim/test/apps/gcc/gcc-4.8.4.tar.bz2 b/LibOS/shim/test/apps/gcc/gcc-4.8.4.tar.bz2
deleted file mode 100644
index 9081b334..00000000
Binary files a/LibOS/shim/test/apps/gcc/gcc-4.8.4.tar.bz2 and /dev/null differ
diff --git a/LibOS/shim/test/apps/gcc/gcc.manifest.template b/LibOS/shim/test/apps/gcc/gcc.manifest.template
deleted file mode 100644
index ad07f677..00000000
--- a/LibOS/shim/test/apps/gcc/gcc.manifest.template
+++ /dev/null
@@ -1,43 +0,0 @@
-#!$(PAL)
-
-loader.preload = file:$(SHIMPATH)
-loader.exec = file:/usr/bin/gcc
-loader.execname = /usr/bin/gcc
-loader.env.LD_LIBRARY_PATH = /lib:/lib/x86_64-linux-gnu:/usr/lib:/usr/lib/x86_64-linux-gnu
-loader.env.PATH = /bin:/usr/bin
-loader.debug_type = $(DEBUGTYPE)
-
-fs.mount.lib1.type = chroot
-fs.mount.lib1.path = /lib
-fs.mount.lib1.uri = file:$(LIBCDIR)
-
-fs.mount.lib2.type = chroot
-fs.mount.lib2.path = /lib/x86_64-linux-gnu
-fs.mount.lib2.uri = file:/lib/x86_64-linux-gnu
-
-fs.mount.usr.type = chroot
-fs.mount.usr.path = /usr
-fs.mount.usr.uri = file:/usr
-
-fs.mount.tmp.type = chroot
-fs.mount.tmp.path = /tmp
-fs.mount.tmp.uri = file:/tmp
-
-sgx.enclave_size = 1G
-
-sgx.trusted_files.ld = file:$(LIBCDIR)/ld-linux-x86-64.so.2
-sgx.trusted_files.libc = file:$(LIBCDIR)/libc.so.6
-sgx.trusted_files.libdl = file:$(LIBCDIR)/libdl.so.2
-sgx.trusted_files.libm = file:$(LIBCDIR)/libm.so.6
-sgx.trusted_files.libpthread = file:$(LIBCDIR)/libpthread.so.0
-
-sgx.trusted_files.cc1 = file:$(GCCDIR)/cc1
-sgx.trusted_files.collect2 = file:$(GCCDIR)/collect2
-sgx.trusted_files.as = file:/usr/bin/as
-
-sgx.allowed_files.tmp = file:/tmp
-sgx.allowed_files.test_files = file:test_files
-
-sgx.trusted_children.cc1 = file:cc1.sig
-sgx.trusted_children.collect2 = file:collect2.sig
-sgx.trusted_children.as = file:as.sig
diff --git a/LibOS/shim/test/apps/gcc/gmp-5.1.3.tar.bz2 b/LibOS/shim/test/apps/gcc/gmp-5.1.3.tar.bz2
deleted file mode 100644
index cf80bfa1..00000000
Binary files a/LibOS/shim/test/apps/gcc/gmp-5.1.3.tar.bz2 and /dev/null differ
diff --git a/LibOS/shim/test/apps/gcc/ld.manifest.template b/LibOS/shim/test/apps/gcc/ld.manifest.template
deleted file mode 100644
index a123927d..00000000
--- a/LibOS/shim/test/apps/gcc/ld.manifest.template
+++ /dev/null
@@ -1,47 +0,0 @@
-#!$(PAL)
-
-loader.preload = file:$(SHIMPATH)
-loader.exec = file:/usr/bin/ld
-loader.execname = /usr/bin/ld
-loader.env.LD_LIBRARY_PATH = /lib:/lib/x86_64-linux-gnu:/usr/lib:/usr/lib/x86_64-linux-gnu
-loader.env.PATH = /bin:/usr/bin
-loader.debug_type = $(DEBUGTYPE)
-
-fs.mount.lib1.type = chroot
-fs.mount.lib1.path = /lib
-fs.mount.lib1.uri = file:$(LIBCDIR)
-
-fs.mount.lib2.type = chroot
-fs.mount.lib2.path = /lib/x86_64-linux-gnu
-fs.mount.lib2.uri = file:/lib/x86_64-linux-gnu
-
-fs.mount.usr.type = chroot
-fs.mount.usr.path = /usr
-fs.mount.usr.uri = file:/usr
-
-fs.mount.tmp.type = chroot
-fs.mount.tmp.path = /tmp
-fs.mount.tmp.uri = file:/tmp
-
-sgx.enclave_size = 512M
-
-sgx.trusted_files.ld = file:$(LIBCDIR)/ld-linux-x86-64.so.2
-sgx.trusted_files.libc = file:$(LIBCDIR)/libc.so.6
-sgx.trusted_files.libdl = file:$(LIBCDIR)/libdl.so.2
-sgx.trusted_files.libm = file:$(LIBCDIR)/libm.so.6
-sgx.trusted_files.libpthread = file:$(LIBCDIR)/libpthread.so.0
-sgx.trusted_files.libz = file:/lib/x86_64-linux-gnu/libz.so.1
-sgx.trusted_files.libbfd = file:/usr/lib/x86_64-linux-gnu/libbfd-2.26.1-system.so
-sgx.trusted_files.liblto = file:$(GCCDIR)/liblto_plugin.so
-sgx.trusted_files.libgcc = file:$(GCCDIR)/libgcc_s.so
-sgx.trusted_files.libgcca = file:$(GCCDIR)/libgcc.a
-sgx.trusted_files.crtend = file:$(GCCDIR)/crtend.o
-sgx.trusted_files.crtbegin = file:$(GCCDIR)/crtbegin.o
-
-sgx.allowed_files.tmp = file:/tmp
-sgx.allowed_files.test_files = file:test_files
-sgx.allowed_files.aout = file:a.out
-
-sgx.allowed_files.hostdebug = file:/usr/lib/debug/usr/lib/x86_64-linux-gnu
-sgx.allowed_files.hostusrlib = file:/usr/lib/x86_64-linux-gnu
-sgx.allowed_files.hostlib = file:/lib/x86_64-linux-gnu
diff --git a/LibOS/shim/test/apps/gcc/mpc-1.0.1.tar.gz b/LibOS/shim/test/apps/gcc/mpc-1.0.1.tar.gz
deleted file mode 100644
index b3bed4a2..00000000
Binary files a/LibOS/shim/test/apps/gcc/mpc-1.0.1.tar.gz and /dev/null differ
diff --git a/LibOS/shim/test/apps/gcc/mpfr-3.1.2.tar.bz2 b/LibOS/shim/test/apps/gcc/mpfr-3.1.2.tar.bz2
deleted file mode 100644
index f71bae9a..00000000
Binary files a/LibOS/shim/test/apps/gcc/mpfr-3.1.2.tar.bz2 and /dev/null differ
diff --git a/LibOS/shim/test/apps/gcc/ppl-1.1.tar.gz b/LibOS/shim/test/apps/gcc/ppl-1.1.tar.gz
deleted file mode 100644
index b0a6ed7a..00000000
Binary files a/LibOS/shim/test/apps/gcc/ppl-1.1.tar.gz and /dev/null differ
diff --git a/LibOS/shim/test/apps/gcc/test_files b/LibOS/shim/test/apps/gcc/test_files
deleted file mode 160000
index 58516010..00000000
--- a/LibOS/shim/test/apps/gcc/test_files
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 58516010a9c343bc6fd474657544d42b0272f5c0
diff --git a/LibOS/shim/test/apps/lighttpd/.gitignore b/LibOS/shim/test/apps/lighttpd/.gitignore
deleted file mode 100644
index bf38c132..00000000
--- a/LibOS/shim/test/apps/lighttpd/.gitignore
+++ /dev/null
@@ -1,10 +0,0 @@
-/ab.*
-/result-*
-/OUTPUT
-/build/
-/html/
-/lighttpd.conf
-/lighttpd-*.conf
-/lighttpd-*/
-/server.pem
-/dhparam.pem
diff --git a/LibOS/shim/test/apps/lighttpd/Makefile b/LibOS/shim/test/apps/lighttpd/Makefile
deleted file mode 100644
index a4f202a1..00000000
--- a/LibOS/shim/test/apps/lighttpd/Makefile
+++ /dev/null
@@ -1,126 +0,0 @@
-manifests = lighttpd.manifest lighttpd-angel.manifest
-SRCDIR = lighttpd-1.4.30
-HOST = $(firstword $(shell ifconfig | grep 'inet addr:'| grep -v '127.0.0.1' -m 1 | cut -d: -f2))
-PORT = 8000
-CORES = 4
-THREADS = 25
-
-conf_files = lighttpd-server.conf lighttpd.conf lighttpd-multithreaded.conf lighttpd-ssl.conf
-
-target = build-lighttpd $(conf_files) test-data
-exec_target = $(manifests)
-clean-extra = clean-others
-
-extra_rules = -e 's:\$$(HOST):$(HOST):g' -e 's:\$$(PORT):$(PORT):g'
-
-level = ../../
-include ../../Makefile
-
-.PHONY: build-lighttpd
-build-lighttpd: build/sbin/lighttpd
-
-build/sbin/lighttpd: $(SRCDIR)
- cd $(SRCDIR) && ./configure --prefix=$(PWD)/build \
- --with-openssl --without-pcre --without-zlib --without-bzip2
- $(MAKE) -C $(SRCDIR)
- $(MAKE) -C $(SRCDIR) install
-
-$(SRCDIR): %: %.tar.gz
- tar -xmzf $<
-
-lighttpd-server.conf:
- rm -rf $@
- echo "server.document-root = \"$(PWD)/html\"" >> $@
- echo "server.port = $(PORT)" >> $@
- echo "server.bind = \"$(HOST)\"" >> $@
-
-lighttpd.conf:
- rm -rf $@
- echo "include \"lighttpd-server.conf\"" >> $@
- echo "include \"lighttpd-generic.conf\"" >> $@
-
-lighttpd-multithreaded.conf:
- rm -rf $@
- echo "include \"lighttpd-server.conf\"" >> $@
- echo "server.max-worker = $(THREADS)" >> $@
- echo "include \"lighttpd-generic.conf\"" >> $@
-
-lighttpd-ssl.conf: server.pem dhparam.pem
- rm -rf $@
- echo "include \"lighttpd-server.conf\"" >> $@
- echo "include \"lighttpd-generic.conf\"" >> $@
- echo "" >> $@
- echo "\$$SERVER[\"socket\"] == \"0.0.0.0:443\" {" >> $@
- echo "ssl.engine = \"enable\"" >> $@
- echo "ssl.pemfile = \"server.pem\"" >> $@
- echo "ssl.cipher-list = \"ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA\"" >> $@
- echo "ssl.honor-cipher-order = \"enable\"" >> $@
- echo "ssl.dh-file = \"dhparam.pem\"" >> $@
- echo "ssl.ec-curve = \"secp384r1\"" >> $@
- echo "}" >> $@
-
-server.pem:
- openssl req -new -x509 -keyout server.pem -out server.pem -days 365 -nodes -subj "/cn=lighttpd/o=oscar/dc=cs/dc=stonybrook/dc=edu/"
-
-dhparam.pem:
- openssl dhparam -out dhparam.pem 2048
-
-.PHONY: start-native-server
-start-native-server:
- $(PREFIX) build/sbin/lighttpd -D -m build/lib -f \
- $(if $(CONF),$(CONF),lighttpd.conf)
-
-.PHONY: start-multithreaded-native-server
-start-multithreaded-native-server:
- $(PREFIX) build/sbin/lighttpd -D -m build/lib -f \
- $(if $(CONF),$(CONF),lighttpd-multithreaded.conf)
-
-.PHONY: start-ssl-native-server
-start-ssl-native-server:
- $(PREFIX) build/sbin/lighttpd -D -m build/lib -f \
- $(if $(CONF),$(CONF),lighttpd-ssl.conf)
-
-.PHONY: start-graphene-server
-start-graphene-server:
- $(PREFIX) ./lighttpd.manifest -D -m /lighttpd -f \
- $(if $(CONF),$(CONF),lighttpd.conf)
-
-.PHONY: start-multithreaded-graphene-server
-start-multithreaded-graphene-server:
- $(PREFIX) ./lighttpd.manifest -D -m /lighttpd -f \
- $(if $(CONF),$(CONF),lighttpd-multithreaded.conf)
-
-.PHONY: start-ssl-graphene-server
-start-ssl-graphene-server:
- $(PREFIX) ./lighttpd.manifest -D -m /lighttpd -f \
- $(if $(CONF),$(CONF),lighttpd-ssl.conf)
-
-
-random-data = $(foreach n,1 2 3 4 5 6 7 8 9 10,2K.$n.html) \
- $(foreach n,1 2 3 4 5,10K.$n.html) \
- $(foreach n,1 2 3 4 5,100K.$n.html) \
- $(foreach n,1 2 3,1M.$n.html) \
- $(foreach n,1 2 3,10M.$n.html) \
- $(foreach n,1 2 3,100.$n.html)
-
-test-data = html/oscar-web html/oscar-web-static html/random \
- $(addprefix html/random/,$(random-data))
-
-html/%: ../web-data/%.tar.gz
- [ -d "$@" ] || (cd $(dir $@) && tar -xzf ../$^)
-
-html/random:
- mkdir -p $@
-
-html/random/%.html: html/random
- dd if=/dev/urandom of=$@ count=1 bs=$(basename $(basename $(notdir $@)))
-
-test-data: $(test-data)
-
-.PHONY: distclean
-distclean: clean
- rm -rf build $(SRCDIR)
-
-.PHONY: clean-others
-clean-others:
- rm -rf $(conf_files) $(test-data)
diff --git a/LibOS/shim/test/apps/lighttpd/README b/LibOS/shim/test/apps/lighttpd/README
deleted file mode 100644
index 7e8bc504..00000000
--- a/LibOS/shim/test/apps/lighttpd/README
+++ /dev/null
@@ -1,88 +0,0 @@
-Running lighttpd tests is conceptually straightforward. You start a
-server, then make requests from a remote host. There are some good
-websites/blogs that discuss properly benchmarking a webserver. We want
-to test how efficiently Graphene handles requests, not the speed of
-the network stack in the OS. So we are using very small static files.
-See the wiki page for more details.
-
-7/23/13:
-
-To start a server in graphene,
- make start-graphene-server
-
-To start a server on any other platform,
- make start-native-server
-
-Now that your server is up and running, it is time to test it. From a
-remote host, you can use the run-apachebench.sh script to programatically submit
-requests at various loads. The usage of that script is as follows:
- ./run-apachebench.sh
-
-The script will append the output to a file "ab.n.c"
-
-The output will look something like this:
-
-*** BEGIN OUTPUT ***
-
-This is ApacheBench, Version 2.3 <$Revision: 655654 $>
-Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
-Licensed to The Apache Software Foundation, http://www.apache.org/
-
-Benchmarking 130.245.153.32 (be patient)
-
-
-Server Software: lighttpd/1.4.30
-Server Hostname: 130.245.153.32
-Server Port: 8000
-
-Document Path: /random/100.1.html
-Document Length: 100 bytes
-
-Concurrency Level: 100
-Time taken for tests: 4.110 seconds
-Complete requests: 50000
-Failed requests: 0
-Write errors: 0
-Total transferred: 16650000 bytes
-HTML transferred: 5000000 bytes
-Requests per second: 12164.64 [#/sec] (mean)
-Time per request: 8.221 [ms] (mean)
-Time per request: 0.082 [ms] (mean, across all concurrent requests)
-Transfer rate: 3955.88 [Kbytes/sec] received
-
-Connection Times (ms)
- min mean[+/-sd] median max
-Connect: 0 0 0.0 0 1
-Processing: 1 8 8.7 7 202
-Waiting: 1 8 8.7 7 202
-Total: 2 8 8.7 8 203
-
-Percentage of the requests served within a certain time (ms)
- 50% 8
- 66% 8
- 75% 8
- 80% 8
- 90% 8
- 95% 8
- 98% 8
- 99% 8
- 100% 203 (longest request)
-
-*** END OUTPUT ***
-
-The number we were reporting is the transfer rate. So for this
-example, the we would report a bandwidth of 3.95588 Mbytes/second.
-
-
-
-NOTES:
-
-To run kvm and lxc, you need to set up a bridge. But you do not want
-extraneous interfaces when you are not using them, so make
-sure to bring them down before testing native linux or graphene.
-
-If you are within kvm or lxc, your ip will not be that of your
-host. Make sure your ip matches the ip in the conf file.
-
-If you have a lot of time and want to do a good job, throw out the top
-and the low numbers, and report the mean of your large sample.
diff --git a/LibOS/shim/test/apps/lighttpd/benchmark-http.sh b/LibOS/shim/test/apps/lighttpd/benchmark-http.sh
deleted file mode 100755
index a4b3e1dd..00000000
--- a/LibOS/shim/test/apps/lighttpd/benchmark-http.sh
+++ /dev/null
@@ -1,46 +0,0 @@
-#!/usr/bin/env bash
-
-## On Ubuntu, this script requires apache2-utils for the ab binary.
-# Run like: ./benchmark-http.sh server
-# where server is the host/port running the web server
-
-declare -A THROUGHPUTS
-declare -A LATENCIES
-LOOP=5
-DOWNLOAD_HOST=$1
-DOWNLOAD_FILE=random/10K.1.html
-REQUESTS=10000
-CONCURRENCY_LIST="1 2 4 8 16 32 64 128 256"
-OPTIONS="-k"
-RESULT=result-$(date +%y%m%d-%H%M%S)
-
-touch $RESULT
-
-RUN=0
-while [ $RUN -lt $LOOP ]
-do
- for CONCURRENCY in $CONCURRENCY_LIST
- do
- rm -f OUTPUT
- echo "ab $OPTIONS -n $REQUESTS -c $CONCURRENCY http://$DOWNLOAD_HOST/$DOWNLOAD_FILE"
- ab $OPTIONS -n $REQUESTS -c $CONCURRENCY http://$DOWNLOAD_HOST/$DOWNLOAD_FILE > OUTPUT || exit $?
-
- sleep 5
-
- THROUGHPUT=$(grep -m1 "Requests per second:" OUTPUT | awk '{ print $4 }')
- LATENCY=$(grep -m1 "Time per request:" OUTPUT | awk '{ print $4 }')
- THROUGHPUTS[$CONCURRENCY]="${THROUGHPUTS[$CONCURRENCY]} $THROUGHPUT"
- LATENCIES[$CONCURRENCY]="${LATENCIES[$CONCURRENCY]} $LATENCY"
- echo "concurrency=$CONCURRENCY, throughput=$THROUGHPUT, latency=$LATENCY"
- done
- RUN=$(expr $RUN + 1)
-done
-
-for CONCURRENCY in $CONCURRENCY_LIST
-do
- THROUGHPUT=$(echo ${THROUGHPUTS[$CONCURRENCY]} | tr " " "\n" | sort -n | awk '{a[NR]=$0}END{if(NR%2==1)print a[int(NR/2)+1];else print(a[NR/2-1]+a[NR/2])/2}')
- LATENCY=$(echo ${LATENCIES[$CONCURRENCY]} | tr " " "\n" | sort -n | awk '{a[NR]=$0}END{if(NR%2==1)print a[int(NR/2)+1];else print(a[NR/2-1]+a[NR/2])/2}')
- echo "$THROUGHPUT,$LATENCY" >> $RESULT
-done
-
-echo "Result file: $RESULT"
diff --git a/LibOS/shim/test/apps/lighttpd/html/index.html b/LibOS/shim/test/apps/lighttpd/html/index.html
deleted file mode 100644
index f255923a..00000000
--- a/LibOS/shim/test/apps/lighttpd/html/index.html
+++ /dev/null
@@ -1 +0,0 @@
-Test OK!
diff --git a/LibOS/shim/test/apps/lighttpd/html/index.php b/LibOS/shim/test/apps/lighttpd/html/index.php
deleted file mode 100644
index c5752553..00000000
--- a/LibOS/shim/test/apps/lighttpd/html/index.php
+++ /dev/null
@@ -1 +0,0 @@
- echo "Test OK!" ?>
diff --git a/LibOS/shim/test/apps/lighttpd/lighttpd-1.4.30.tar.gz b/LibOS/shim/test/apps/lighttpd/lighttpd-1.4.30.tar.gz
deleted file mode 100644
index 96d771a0..00000000
Binary files a/LibOS/shim/test/apps/lighttpd/lighttpd-1.4.30.tar.gz and /dev/null differ
diff --git a/LibOS/shim/test/apps/lighttpd/lighttpd-angel.manifest.template b/LibOS/shim/test/apps/lighttpd/lighttpd-angel.manifest.template
deleted file mode 100644
index 938ef239..00000000
--- a/LibOS/shim/test/apps/lighttpd/lighttpd-angel.manifest.template
+++ /dev/null
@@ -1,52 +0,0 @@
-#!$(PAL)
-
-loader.preload = file:$(SHIMPATH)
-loader.exec = file:build/sbin/lighttpd-angel
-loader.env.LD_LIBRARY_PATH = /lib:/lighttpd
-loader.debug_type = none
-
-fs.mount.lib.type = chroot
-fs.mount.lib.path = /lib
-fs.mount.lib.uri = file:$(LIBCDIR)
-
-fs.mount.build.type = chroot
-fs.mount.build.path = /lighttpd
-fs.mount.build.uri = file:build/lib
-
-fs.mount.html.type = chroot
-fs.mount.html.path = $(PWD)/html
-fs.mount.html.uri = file:html
-
-fs.mount.usr.type = chroot
-fs.mount.usr.path = /usr
-fs.mount.usr.uri = file:/usr
-
-fs.mount.tmp.type = chroot
-fs.mount.tmp.path = /tmp
-fs.mount.tmp.uri = file:/tmp
-
-# allow to bind on port for listening
-net.rules.1 = $(HOST):$(PORT):0.0.0.0:0-65535
-
-sys.stack.size = 256K
-sys.brk.size = 4M
-glibc.heap_size = 16M
-
-sgx.thread_num = 28
-
-sgx.trusted_files.ld = file:$(LIBCDIR)/ld-linux-x86-64.so.2
-sgx.trusted_files.libc = file:$(LIBCDIR)/libc.so.6
-sgx.trusted_files.libdl = file:$(LIBCDIR)/libdl.so.2
-sgx.trusted_files.libm = file:$(LIBCDIR)/libm.so.6
-sgx.trusted_files.libpthread = file:$(LIBCDIR)/libpthread.so.0
-
-sgx.trusted_files.lib1 = file:build/lib/mod_indexfile.so
-sgx.trusted_files.lib2 = file:build/lib/mod_dirlisting.so
-sgx.trusted_files.lib3 = file:build/lib/mod_staticfile.so
-
-sgx.trusted_files.conf1 = file:lighttpd.conf
-sgx.trusted_files.conf2 = file:lighttpd-generic.conf
-sgx.trusted_files.conf3 = file:lighttpd-server.conf
-sgx.trusted_files.conf4 = file:lighttpd-multithreaded.conf
-
-sgx.allowed_files.html = file:html
diff --git a/LibOS/shim/test/apps/lighttpd/lighttpd-generic.conf b/LibOS/shim/test/apps/lighttpd/lighttpd-generic.conf
deleted file mode 100644
index 6c9ad5d1..00000000
--- a/LibOS/shim/test/apps/lighttpd/lighttpd-generic.conf
+++ /dev/null
@@ -1,64 +0,0 @@
-server.event-handler = "select"
-#server.event-handler = "linux-sysepoll"
-server.max-keep-alive-requests = 0
-
-index-file.names = ( "index.html", "index.php" )
-
-mimetype.assign = (
- ".pdf" => "application/pdf",
- ".sig" => "application/pgp-signature",
- ".spl" => "application/futuresplash",
- ".class" => "application/octet-stream",
- ".ps" => "application/postscript",
- ".torrent" => "application/x-bittorrent",
- ".dvi" => "application/x-dvi",
- ".gz" => "application/x-gzip",
- ".pac" => "application/x-ns-proxy-autoconfig",
- ".swf" => "application/x-shockwave-flash",
- ".tar.gz" => "application/x-tgz",
- ".tgz" => "application/x-tgz",
- ".tar" => "application/x-tar",
- ".zip" => "application/zip",
- ".mp3" => "audio/mpeg",
- ".m3u" => "audio/x-mpegurl",
- ".wma" => "audio/x-ms-wma",
- ".wax" => "audio/x-ms-wax",
- ".ogg" => "application/ogg",
- ".wav" => "audio/x-wav",
- ".gif" => "image/gif",
- ".jpg" => "image/jpeg",
- ".jpeg" => "image/jpeg",
- ".png" => "image/png",
- ".xbm" => "image/x-xbitmap",
- ".xpm" => "image/x-xpixmap",
- ".xwd" => "image/x-xwindowdump",
- ".css" => "text/css",
- ".html" => "text/html",
- ".htm" => "text/html",
- ".php" => "text/html",
- ".js" => "text/javascript",
- ".asc" => "text/plain",
- ".c" => "text/plain",
- ".cpp" => "text/plain",
- ".log" => "text/plain",
- ".conf" => "text/plain",
- ".text" => "text/plain",
- ".txt" => "text/plain",
- ".spec" => "text/plain",
- ".dtd" => "text/xml",
- ".xml" => "text/xml",
- ".mpeg" => "video/mpeg",
- ".mpg" => "video/mpeg",
- ".mov" => "video/quicktime",
- ".qt" => "video/quicktime",
- ".avi" => "video/x-msvideo",
- ".asf" => "video/x-ms-asf",
- ".asx" => "video/x-ms-asf",
- ".wmv" => "video/x-ms-wmv",
- ".bz2" => "application/x-bzip",
- ".tbz" => "application/x-bzip-compressed-tar",
- ".tar.bz2" => "application/x-bzip-compressed-tar",
-
-# make the default mime type application/octet-stream.
- "" => "application/octet-stream",
-)
diff --git a/LibOS/shim/test/apps/lighttpd/lighttpd.manifest.template b/LibOS/shim/test/apps/lighttpd/lighttpd.manifest.template
deleted file mode 100644
index a5964d92..00000000
--- a/LibOS/shim/test/apps/lighttpd/lighttpd.manifest.template
+++ /dev/null
@@ -1,63 +0,0 @@
-#!$(PAL)
-
-loader.preload = file:$(SHIMPATH)
-loader.exec = file:build/sbin/lighttpd
-loader.env.LD_LIBRARY_PATH = /lib:/lib/x86_64-linux-gnu:/lighttpd
-loader.debug_type = none
-
-fs.mount.lib.type = chroot
-fs.mount.lib.path = /lib
-fs.mount.lib.uri = file:$(LIBCDIR)
-
-fs.mount.lib64.type = chroot
-fs.mount.lib64.path = /lib/x86_64-linux-gnu
-fs.mount.lib64.uri = file:/lib/x86_64-linux-gnu
-
-
-fs.mount.build.type = chroot
-fs.mount.build.path = /lighttpd
-fs.mount.build.uri = file:build/lib
-
-fs.mount.html.type = chroot
-fs.mount.html.path = $(PWD)/html
-fs.mount.html.uri = file:html
-
-fs.mount.usr.type = chroot
-fs.mount.usr.path = /usr
-fs.mount.usr.uri = file:/usr
-
-fs.mount.tmp.type = chroot
-fs.mount.tmp.path = /tmp
-fs.mount.tmp.uri = file:/tmp
-
-# allow to bind on port for listening
-net.allow_bind.1 = $(HOST):$(PORT)
-
-sys.stack.size = 256K
-sys.brk.size = 4M
-glibc.heap_size = 16M
-
-sgx.thread_num = 28
-
-sgx.trusted_files.ld = file:$(LIBCDIR)/ld-linux-x86-64.so.2
-sgx.trusted_files.libc = file:$(LIBCDIR)/libc.so.6
-sgx.trusted_files.libdl = file:$(LIBCDIR)/libdl.so.2
-sgx.trusted_files.libm = file:$(LIBCDIR)/libm.so.6
-sgx.trusted_files.libpthread = file:$(LIBCDIR)/libpthread.so.0
-sgx.trusted_files.libssl = file:/lib/x86_64-linux-gnu/libssl.so.1.0.0
-sgx.trusted_files.libcrypto = file:/lib/x86_64-linux-gnu/libcrypto.so.1.0.0
-
-sgx.trusted_files.lib1 = file:build/lib/mod_indexfile.so
-sgx.trusted_files.lib2 = file:build/lib/mod_dirlisting.so
-sgx.trusted_files.lib3 = file:build/lib/mod_staticfile.so
-
-sgx.trusted_files.conf1 = file:lighttpd.conf
-sgx.trusted_files.conf2 = file:lighttpd-generic.conf
-sgx.trusted_files.conf3 = file:lighttpd-server.conf
-sgx.trusted_files.conf4 = file:lighttpd-multithreaded.conf
-sgx.trusted_files.conf5 = file:lighttpd-ssl.conf
-
-sgx.trusted_files.server_key = file:server.pem
-sgx.trusted_files.server_dh_key = file:dhparam.pem
-
-sgx.allowed_files.html = file:html
diff --git a/LibOS/shim/test/apps/lmbench/.gitignore b/LibOS/shim/test/apps/lmbench/.gitignore
deleted file mode 100644
index 6f7d52e6..00000000
--- a/LibOS/shim/test/apps/lmbench/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/lmbench-2.5/bin/
diff --git a/LibOS/shim/test/apps/lmbench/Makefile b/LibOS/shim/test/apps/lmbench/Makefile
deleted file mode 100644
index 1056894c..00000000
--- a/LibOS/shim/test/apps/lmbench/Makefile
+++ /dev/null
@@ -1,53 +0,0 @@
-LMBENCHDIR = lmbench-2.5
-LINUXDIR = $(LMBENCHDIR)/bin/linux/
-
-host_files = /bin/sh /usr/include/x86_64-linux-gnu/sys/types.h
-lmbench_tests = $(addprefix $(LINUXDIR),lat_syscall lat_connect lat_fcntl \
- lat_select lat_fs lat_mmap lat_fifo lat_mem_rd lat_msg \
- lat_tcp lat_udp lat_unix_connect lat_pagefault \
- bw_tcp bw_mem bw_unix lat_proc lat_ctx lat_rpc \
- lat_unix lat_sig lat_http lat_pipe \
- bw_pipe bw_file_rd bw_mmap_rd lmhttp lmdd)
-manifests = $(addprefix $(LINUXDIR),$(patsubst %.template,%,$(wildcard *.manifest.template)) manifest)
-
-target = $(lmbench_tests)
-clean-extra = clean-lmbench
-
-level = ../../
-include ../../Makefile
-
-export CC
-export CFLAGS
-
-$(LINUXDIR)Makefile: Makefile.lmbench
- ln -sf ../../../$< $@
-
-build-manifest: $(LINUXDIR) $(LINUXDIR)Makefile
- $(MAKE) -C $(LINUXDIR)
-
-$(lmbench_tests): $(LINUXDIR) build-manifest
-
-$(LINUXDIR): $(wildcard $(LMBENCHDIR)/src/*.c) $(wildcard $(LMBENCHDIR)/src/*.h)
- $(MAKE) -C $(LMBENCHDIR)/src OS=linux
-
-lmbench_config = $(LINUXDIR)$(shell $(LMBENCHDIR)/scripts/config)
-
-$(lmbench_config):
- cd $(LMBENCHDIR)/scripts && env OS=linux ./config-run
-
-test-native: $(lmbench_tests) $(lmbench_config)
- cd $(LMBENCHDIR)/scripts && env OS=linux ./results
-
-test-graphene: all $(lmbench_config)
- cd $(LMBENCHDIR)/scripts && \
- env LOADER=./pal_loader OS=linux RESULTS=results/graphene \
- ./results
-
-regression: all
- cp -f $(LMBENCHDIR)/lmbench-regression $(LMBENCHDIR)/bin/linux
- cd $(LMBENCHDIR)/bin/linux && \
- env LOADER=./pal_loader OS=linux \
- ./lmbench-regression
-
-clean-lmbench:
- $(MAKE) -C $(LMBENCHDIR) clean
diff --git a/LibOS/shim/test/apps/lmbench/Makefile.lmbench b/LibOS/shim/test/apps/lmbench/Makefile.lmbench
deleted file mode 100644
index bf2f3cd4..00000000
--- a/LibOS/shim/test/apps/lmbench/Makefile.lmbench
+++ /dev/null
@@ -1,22 +0,0 @@
-manifests = $(patsubst ../../../%.template,%,$(wildcard ../../../*.manifest.template)) manifest
-lmbench_tests = lat_syscall lat_connect lat_fcntl \
- lat_select lat_fs lat_mmap lat_fifo lat_mem_rd lat_msg \
- lat_tcp lat_udp lat_unix_connect lat_pagefault \
- bw_tcp bw_mem bw_unix lat_proc lat_ctx lat_rpc \
- lat_unix lat_sig lat_http lat_pipe \
- bw_pipe bw_file_rd bw_mmap_rd lmhttp lmdd \
- sh.manifest hello.manifest
-
-exec_target = $(lmbench_tests)
-target = $(manifests)
-
-level = ../../../../../
-include ../../../../../Makefile
-
-sh.manifest.sgx: /tmp/hello
-
-/tmp/hello: hello
- cp -f $< $@
-
-$(addsuffix .template,$(manifests)): %: ../../../%
- ln -sf $< $@
diff --git a/LibOS/shim/test/apps/lmbench/hello.manifest.template b/LibOS/shim/test/apps/lmbench/hello.manifest.template
deleted file mode 100644
index f45d893c..00000000
--- a/LibOS/shim/test/apps/lmbench/hello.manifest.template
+++ /dev/null
@@ -1,18 +0,0 @@
-loader.preload = file:$(SHIMPATH)
-loader.exec = file:hello
-loader.env.LD_LIBRARY_PATH = /lib:/lib64
-loader.debug_type = none
-
-fs.mount.lib.type = chroot
-fs.mount.lib.path = /lib
-fs.mount.lib.uri = file:$(LIBCDIR)
-
-fs.mount.tmp.type = chroot
-fs.mount.tmp.path = /tmp
-fs.mount.tmp.uri = file:
-
-sys.brk.size = 32M
-sys.stack.size = 4M
-
-sgx.trusted_files.ld = file:$(LIBCDIR)/ld-linux-x86-64.so.2
-sgx.trusted_files.libc = file:$(LIBCDIR)/libc.so.6
diff --git a/LibOS/shim/test/apps/lmbench/lmbench-2.5 b/LibOS/shim/test/apps/lmbench/lmbench-2.5
deleted file mode 160000
index 33d3db09..00000000
--- a/LibOS/shim/test/apps/lmbench/lmbench-2.5
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 33d3db09ac06920213605cca46cf1f5a022eed80
diff --git a/LibOS/shim/test/apps/lmbench/manifest.template b/LibOS/shim/test/apps/lmbench/manifest.template
deleted file mode 100644
index 87cbbd0b..00000000
--- a/LibOS/shim/test/apps/lmbench/manifest.template
+++ /dev/null
@@ -1,45 +0,0 @@
-loader.preload = file:$(SHIMPATH)
-loader.env.LD_LIBRARY_PATH = /lib:/lib64
-loader.debug_type = none
-
-fs.mount.tmp1.type = chroot
-fs.mount.tmp1.path = /tmp
-fs.mount.tmp1.uri = file:/tmp
-
-fs.mount.tmp2.type = chroot
-fs.mount.tmp2.path = /var/tmp
-fs.mount.tmp2.uri = file:/var/tmp
-
-fs.mount.lib.type = chroot
-fs.mount.lib.path = /lib
-fs.mount.lib.uri = file:$(LIBCDIR)
-
-fs.mount.bin.type = chroot
-fs.mount.bin.path = /bin/sh
-fs.mount.bin.uri = file:/bin/sh
-
-fs.mount.inc.type = chroot
-fs.mount.inc.path = /usr/include/x86_64-linux-gnu/sys/types.h
-fs.mount.inc.uri = file:/usr/include/x86_64-linux-gnu/sys/types.h
-
-net.allow_bind.1 = 0.0.0.0:31233-31237
-net.allow_bind.2 = 0.0.0.0:34297-34298
-net.allow_peer.1 = 127.0.0.1:0-65535
-
-glibc.heap_size = 16M
-sys.brk.size = 32M
-sys.stack.size = 4M
-
-sgx.trusted_files.ld = file:$(LIBCDIR)/ld-linux-x86-64.so.2
-sgx.trusted_files.libc = file:$(LIBCDIR)/libc.so.6
-sgx.trusted_files.libdl = file:$(LIBCDIR)/libdl.so.2
-sgx.trusted_files.libm = file:$(LIBCDIR)/libm.so.6
-sgx.trusted_files.libpthread = file:$(LIBCDIR)/libpthread.so.0
-sgx.trusted_files.sh = file:/bin/sh
-
-sgx.allowed_files.tmp1 = file:/tmp
-sgx.allowed_files.tmp2 = file:/var/tmp
-sgx.allowed_files.inc = file:/usr/include/x86_64-linux-gnu/sys/types.h
-
-sgx.trusted_children.hello = file:hello.sig
-sgx.trusted_children.sh = file:sh.sig
diff --git a/LibOS/shim/test/apps/lmbench/sh.manifest.template b/LibOS/shim/test/apps/lmbench/sh.manifest.template
deleted file mode 100644
index f68d9bcd..00000000
--- a/LibOS/shim/test/apps/lmbench/sh.manifest.template
+++ /dev/null
@@ -1,28 +0,0 @@
-loader.preload = file:$(SHIMPATH)
-loader.exec = file:/bin/sh
-loader.env.LD_LIBRARY_PATH = /lib:/lib64
-loader.debug_type = none
-
-fs.mount.tmp.type = chroot
-fs.mount.tmp.path = /tmp
-fs.mount.tmp.uri = file:/tmp
-
-fs.mount.lib.type = chroot
-fs.mount.lib.path = /lib
-fs.mount.lib.uri = file:$(LIBCDIR)
-
-glibc.heap_size = 16M
-sys.brk.size = 32M
-sys.stack.size = 4M
-
-sgx.enclave_size = 512M
-
-sgx.trusted_files.ld = file:$(LIBCDIR)/ld-linux-x86-64.so.2
-sgx.trusted_files.libc = file:$(LIBCDIR)/libc.so.6
-sgx.trusted_files.libdl = file:$(LIBCDIR)/libdl.so.2
-sgx.trusted_files.libm = file:$(LIBCDIR)/libm.so.6
-sgx.trusted_files.libpthread = file:$(LIBCDIR)/libpthread.so.0
-
-sgx.trusted_files.hello = file:/tmp/hello
-
-sgx.trusted_children.hello = file:hello.sig
diff --git a/LibOS/shim/test/apps/ltp/.gitignore b/LibOS/shim/test/apps/ltp/.gitignore
deleted file mode 100644
index a99d255d..00000000
--- a/LibOS/shim/test/apps/ltp/.gitignore
+++ /dev/null
@@ -1,8 +0,0 @@
-/Broken.csv
-/Failed.csv
-/Passed.csv
-/opt/
-/run_output
-/syscalls.graphene
-/ltp-full-*.tar.xz
-/ltp-full-*/
diff --git a/LibOS/shim/test/apps/ltp/BLOCKED b/LibOS/shim/test/apps/ltp/BLOCKED
deleted file mode 100644
index 10a70cd2..00000000
--- a/LibOS/shim/test/apps/ltp/BLOCKED
+++ /dev/null
@@ -1,88 +0,0 @@
-epoll_wait01
-fcntl15
-fcntl15_64
-flock03
-fork07
-fork08
-inotify06
-fanotify06
-linkat01
-lseek10
-mkdir01
-mkdir09
-mknod03
-mknod08
-mount05
-mremap01
-msgctl07
-msgrcv03
-msgrcv04
-msgrcv06
-open12
-open14
-openat03
-pselect02
-pselect02_64
-preadv01
-preadv01_64
-preadv02
-preadv02_64
-pwritev01
-pwritev01_64
-pwritev02
-pwritev02_64
-rename04
-rename14
-rmdir05
-rt_sigaction02
-rt_sigprocmask02
-rt_sigqueueinfo01
-semctl03
-semctl06
-semop03
-sendfile04
-sendfile04_64
-sendmsg02
-setpgid03
-sighold02
-sigrelse01
-stat06
-stat06_64
-times03
-truncate02
-truncate02_64
-unlink07
-unlink08
-waitid02
-writev02
-writev05
-getresuid02
-getresuid03
-epoll-ltp
-epoll_pwait01
-fork06
-fork12
-fork14
-getitimer02
-getresgid02
-getresgid03
-getrusage02
-gettimeofday01
-gettimeofday02
-kill02
-kill06
-kill08
-kill10
-kill12
-nosleep04
-nanosleep04
-pipe07
-process_vm_readv02
-process_vm_readv03
-process_vm01 -r
-prot_hsymlinks
-setitimer02
-set_robust_list01
-signal01
-trace05
-waitpid04
diff --git a/LibOS/shim/test/apps/ltp/FLAKY b/LibOS/shim/test/apps/ltp/FLAKY
deleted file mode 100644
index dcd41d06..00000000
--- a/LibOS/shim/test/apps/ltp/FLAKY
+++ /dev/null
@@ -1,47 +0,0 @@
-Flaky tests
------------
-
-These should be debugged, or revisited after memory debugging PRs are merged
-
-waitpid03,1 and 2 - fails about 20% of the time
-preadv01 - fails intermittently in CI - perhaps an unrelated bug?
-preadv01,2
-preadv01,3
-preadv01,4
-
-waitpid02 - Gets a segfault in debug build fairly often
-waitpid02,1
-waitpid02,2
-waitpid02,3
-
-clock_nanosleep01,11 - Pretty prone to hanging, don't think it is a timeout
-
-sendfile05,1 - pretty prone to a segfault, perhaps an unrelated issue
-Internal memory fault at 0x8 (IP = +0x34f1a, VMID = 3902099696, TID = 1)
-
-Prone to hanging - I think a memory corruption issue that may have a pending fix
-recvfrom01,1
-recvfrom01,2
-
-futex_wait03,1 (see https://github.com/oscarlab/graphene/pull/180#issuecomment-368970338)
-
-Intermittent seg fault
-kill03,1
-
-Intermittent hang
-send01,1
-send01,2
-sendto01,1
-sendto01,2
-sendto01,3
-recv01,1
-recv01,2
-
-
-Intermittent failure on Linux host
-poll02,1
-
-Intermittent failure on Linux debug host
-recvmsg01,1
-recvmsg01,2
-
diff --git a/LibOS/shim/test/apps/ltp/Makefile b/LibOS/shim/test/apps/ltp/Makefile
deleted file mode 100644
index cf1f202b..00000000
--- a/LibOS/shim/test/apps/ltp/Makefile
+++ /dev/null
@@ -1,50 +0,0 @@
-SRCURL = https://github.com/linux-test-project/ltp/releases/download/
-SRCVERSION = 20170116
-SRCDIR = ltp-full-$(SRCVERSION)
-BUILDDIR = opt/ltp
-TESTCASEDIR = $(BUILDDIR)/testcases/bin
-
-target = $(BUILDDIR)/bin/run_in_graphene.awk $(TESTCASEDIR)/pal_loader build-manifest
-exec_target =
-
-clean-extra = clean-build
-
-level = ../../
-include ../../Makefile
-
-$(SRCDIR).tar.xz:
- wget $(SRCURL)/$(SRCVERSION)/$@
-
-$(SRCDIR)/configure: $(SRCDIR).tar.xz
- tar -xmJf $<
-
-$(BUILDDIR)/runltp: $(SRCDIR)/configure
- cd $(SRCDIR) && ./configure
- cd $(SRCDIR) && make all
- cd $(SRCDIR) && make "DESTDIR=$(PWD)" SKIP_IDCHECK=1 install
- patch -d $(dir $@) < runltp.patch
-
-$(BUILDDIR)/bin/run_in_graphene.awk: run_in_graphene.awk $(BUILDDIR)/runltp
- cp -f $< $@
-
-$(TESTCASEDIR)/pal_loader: $(BUILDDIR)/runltp
- ln -sf $(call relative-to,$(dir $@),../../../Runtime/pal_loader) $@
-
-build-manifest: $(TESTCASEDIR)/manifest.template $(TESTCASEDIR)/Makefile
- cd $(TESTCASEDIR) && make
-
-$(TESTCASEDIR)/manifest.template: manifest.template
- cp -f $< $@
-
-$(TESTCASEDIR)/Makefile: Makefile.testcases
- ln -sf ../../../../$< $@
-
-regression:
- @echo "\n\nBuilding LTP..."
- @$(MAKE) >> /dev/null 2>&1
-
- @echo "\n\nLTP tests for system calls:"
- ./syscalls.sh
-
-clean-build:
- rm -rf $(BUILDDIR)
diff --git a/LibOS/shim/test/apps/ltp/Makefile.testcases b/LibOS/shim/test/apps/ltp/Makefile.testcases
deleted file mode 100644
index 5c3c4d09..00000000
--- a/LibOS/shim/test/apps/ltp/Makefile.testcases
+++ /dev/null
@@ -1,19 +0,0 @@
-manifests = $(wildcard ../../../../*.manifest.template) manifest
-testcases = $(filter-out $(wildcard *.*) $(patsubst %/,%,$(wildcard */)) Makefile manifest pal_loader,$(wildcard *))
-
-exec_target = $(testcases)
-target = $(manifests) $(testcases) etc/nsswitch.conf etc/passwd
-
-level = ../../../../../../
-include ../../../../../../Makefile
-
-$(addsuffix .template,$(manifests)): %: ../../../../%
- ln -sf $< $@
-
-etc/nsswitch.conf:
- mkdir -p etc
- echo "passwd: compat\ngroup: compat\nshadow: compat\nhosts: files" > $@
-
-etc/passwd:
- mkdir -p etc
- echo "root:x:0:0:root:/root:/bin/bash\nnobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin" > $@
diff --git a/LibOS/shim/test/apps/ltp/PASSED b/LibOS/shim/test/apps/ltp/PASSED
deleted file mode 100644
index ad437f51..00000000
--- a/LibOS/shim/test/apps/ltp/PASSED
+++ /dev/null
@@ -1,1115 +0,0 @@
-Test,Subtest number
-accept01,1
-accept01,2
-accept01,3
-accept01,4
-accept01,5
-accept01,6
-accept01,7
-accept4_01,1
-accept4_01,2
-accept4_01,3
-accept4_01,4
-access03,2
-access03,3
-access03,4
-access03,5
-access03,6
-access03,7
-access03,8
-access03,9
-alarm01,1
-alarm02,1
-alarm02,2
-alarm02,3
-alarm03,2
-alarm05,1
-alarm06,1
-asyncio02,1
-asyncio02,2
-asyncio02,3
-asyncio02,4
-asyncio02,5
-asyncio02,6
-bind01,1
-bind01,2
-bind01,3
-bind01,4
-bind01,5
-brk01,1
-chdir01,1
-chdir02,1
-chdir04,1
-chdir04,2
-chdir04,3
-chmod01,1
-chmod01,2
-chmod01,3
-chmod01,4
-chmod01,5
-chmod01,6
-chmod01,7
-chmod01,8
-chmod02,1
-chmod02,2
-chmod02,3
-chmod02,4
-chmod02,5
-chmod02,6
-chmod02,7
-chmod02,8
-chmod03,1
-chmod04,1
-chown01,1
-chroot02,1
-clock_getres01,2
-clock_getres01,3
-clock_getres01,4
-clock_getres01,5
-clock_getres01,7
-clock_getres01,8
-clock_getres01,9
-clock_getres01,10
-clock_getres01,11
-clock_getres01,12
-clock_nanosleep01,11
-clone01,1
-clone03,1
-clone04,1
-clone06,1
-clone07,1
-close01,1
-close01,2
-close02,1
-close08,1
-confstr01,1
-confstr01,2
-confstr01,3
-confstr01,4
-confstr01,5
-confstr01,6
-confstr01,7
-confstr01,8
-confstr01,9
-confstr01,10
-confstr01,11
-confstr01,12
-confstr01,13
-confstr01,14
-confstr01,15
-confstr01,16
-confstr01,17
-confstr01,18
-confstr01,19
-connect01,1
-connect01,2
-connect01,3
-connect01,4
-connect01,5
-connect01,6
-connect01,7
-creat01,2
-creat01,3
-creat01,4
-creat01,5
-creat01,6
-creat01,7
-creat03,3
-dup01,1
-dup02,1
-dup02,2
-dup04,1
-dup04,2
-dup07,1
-dup07,2
-dup201,1
-dup201,2
-dup202,1
-dup202,2
-dup203,1
-dup203,2
-dup204,1
-dup204,2
-epoll_create1_01,2
-epoll_ctl01,2
-epoll_ctl01,4
-epoll_ctl02,2
-epoll_ctl02,3
-epoll_ctl02,6
-epoll_ctl02,7
-epoll_ctl02,8
-epoll_wait03,1
-epoll_wait03,2
-execl01,1
-execlp01,1
-execv01,1
-execve03,1
-execve03,2
-execvp01,1
-exit01,1
-exit02,1
-exit_group01,1
-faccessat01,1
-faccessat01,2
-faccessat01,3
-faccessat01,4
-faccessat01,5
-faccessat01,6
-fchdir01,1
-fchdir02,1
-fchmod01,1
-fchmod07,1
-fchmod07,2
-fchmod07,3
-fchmod07,4
-fchmod07,5
-fchmod07,6
-fchmod07,7
-fchmod07,8
-fchmodat01,1
-fchmodat01,2
-fchmodat01,3
-fchmodat01,4
-fchmodat01,5
-fchmodat01,6
-fchown01,1
-fchown02,4
-fcntl02,1
-fcntl02_64,1
-fcntl03,1
-fcntl03_64,1
-fcntl04,1
-fcntl04_64,1
-fcntl08,1
-fcntl08_64,1
-fcntl13,6
-fcntl13_64,6
-fcntl27,1
-fcntl27_64,1
-fcntl28,1
-fcntl28_64,1
-fcntl29,1
-fcntl29_64,1
-fdatasync01,1
-fdatasync02,1
-flock06,2
-fmtmsg01,1
-fmtmsg01,2
-fmtmsg01,3
-fmtmsg01,4
-fmtmsg01,5
-fork01,1
-fork01,2
-fork02,1
-fork03,1
-fork04,1
-fork04,2
-fork04,3
-fork11,1
-fpathconf01,1
-fpathconf01,2
-fpathconf01,3
-fpathconf01,4
-fpathconf01,5
-fpathconf01,6
-fpathconf01,7
-fpathconf01,8
-fpathconf01,9
-fstat01,1
-fstat01_64,1
-fstat03,1
-fstat03_64,1
-fstatat01,2
-fstatat01,4
-fstatat01,5
-fstatat01,6
-fsync01,1
-fsync03,1
-ftruncate01,1
-ftruncate01_64,1
-ftruncate02,1
-ftruncate02_64,1
-ftruncate03,1
-ftruncate03,2
-ftruncate03,3
-ftruncate03_64,1
-ftruncate03_64,2
-ftruncate03_64,3
-futex_wait01,1
-futex_wait01,2
-futex_wait01,3
-futex_wait01,4
-futex_wait04,1
-futex_wait05,1
-futex_wait_bitset01,1
-futex_wait_bitset02,1
-futex_wake01,1
-futex_wake01,2
-futex_wake01,3
-futex_wake01,4
-futex_wake01,5
-futex_wake01,6
-getcontext01,1
-getcwd01,1
-getcwd01,2
-getcwd01,3
-getcwd01,4
-getcwd02,3
-getcwd02,4
-getcwd02,5
-getcwd02,8
-getdents02,1
-getdents02,2
-getdents02,3
-getdents02,4
-getdomainname01,1
-getdtablesize01,1
-getegid01,1
-getegid02,1
-geteuid01,1
-geteuid02,1
-getgid01,1
-getgid03,1
-gethostbyname_r01,1
-gethostname01,1
-getitimer01,1
-getitimer01,3
-getitimer01,5
-getpagesize01,1
-getpeername01,1
-getpeername01,2
-getpeername01,3
-getpeername01,4
-getpeername01,5
-getpeername01,6
-getpgid01,1
-getpgid01,2
-getpgrp01,1
-getpid01,1
-getpid02,1
-getppid01,1
-getrlimit01,1
-getrlimit01,2
-getrlimit01,3
-getrlimit01,4
-getrlimit01,5
-getrlimit01,6
-getrlimit01,7
-getrlimit01,8
-getrlimit01,9
-getrlimit01,10
-getrlimit01,11
-getrlimit01,12
-getrlimit01,13
-getrlimit01,14
-getrlimit01,15
-getrlimit01,16
-getrlimit02,1
-getrlimit02,2
-getsid01,1
-getsockname01,3
-getsockname01,4
-getsockopt01,1
-getsockopt01,2
-getsockopt01,3
-getsockopt01,4
-getsockopt01,8
-getsockopt01,9
-gettid01,1
-getuid01,1
-getuid03,1
-kill01,1
-kill03,1
-kill09,1
-listen01,1
-listen01,2
-llseek02,1
-llseek02,2
-llseek03,1
-llseek03,2
-lseek01,1
-lseek01,2
-lseek01,3
-lseek02,1
-lseek03,1
-lseek03,2
-lseek03,3
-lseek05,1
-lseek06,1
-lseek07,1
-lseek08,1
-lseek09,1
-mallopt01,1
-mallopt01,2
-mallopt01,3
-mallopt01,4
-mallopt01,5
-mallopt01,6
-memcmp01,1
-memcmp01,2
-memcpy01,1
-memcpy01,2
-memcpy01,3
-memset01,1
-memset01,2
-mkdir08,1
-mkdirat01,1
-mkdirat01,2
-mkdirat01,3
-mkdirat01,4
-mkdirat01,5
-mincore01,1
-mincore01,2
-mincore01,3
-mincore01,4
-mlock03,1
-mmap001,1
-mmap001,2
-mmap001,4
-mmap02,1
-mmap03,1
-mmap04,1
-mmap05,1
-mmap08,1
-mmap09,1
-mmap09,2
-mmap09,3
-mmap13,1
-mprotect01,2
-mprotect01,3
-mprotect02,1
-mprotect02,2
-mprotect03,1
-mprotect04,1
-mprotect04,2
-msgrcv01,1
-msgsnd02,2
-msgsnd03,3
-msgsnd03,4
-msgsnd04,1
-munmap01,1
-munmap02,1
-munmap03,3
-nanosleep01,1
-nanosleep03,1
-newuname01,1
-open01,2
-open03,1
-open08,1
-open08,4
-open08,6
-open09,1
-open09,2
-openat01,1
-openat01,2
-openat01,3
-openat01,4
-openat01,5
-pathconf01,1
-pathconf01,2
-pathconf01,3
-pathconf01,4
-pathconf01,5
-pathconf01,6
-pathconf01,7
-personality02,1
-pipe01,2
-pipe04,1
-pipe04,2
-pipe05,1
-pipe09,1
-pipe10,1
-pipe2_01,1
-poll01,1
-poll01,2
-poll02,1
-pread01,1
-pread01_64,1
-pread02,1
-pread02,2
-pread02_64,1
-pread02_64,2
-process_vm01,2
-process_vm01,4
-process_vm01,6
-process_vm01,8
-process_vm01,11
-process_vm01,13
-process_vm01,15
-process_vm01,17
-process_vm01,19
-process_vm01,21
-pselect01,1
-pselect01,2
-pselect01,3
-pselect01,4
-pselect01,5
-pselect01,6
-pselect01,7
-pselect01,8
-pselect01,9
-pselect01_64,1
-pselect01_64,2
-pselect01_64,3
-pselect01_64,4
-pselect01_64,5
-pselect01_64,6
-pselect01_64,7
-pselect01_64,8
-pselect01_64,9
-pwrite01,1
-pwrite01_64,1
-pwrite02,1
-pwrite02,2
-pwrite02,3
-pwrite02,4
-pwrite02_64,1
-pwrite02_64,2
-pwrite02_64,3
-pwrite02_64,4
-pwrite04,2
-pwrite04_64,2
-read01,1
-read04,1
-readdir01,1
-readdir02,1
-readv01,1
-readv01,2
-readv02,1
-readv02,2
-readv02,3
-readv02,4
-recv01,1
-recv01,2
-recvfrom01,1
-recvfrom01,2
-recvmsg01,1
-recvmsg01,2
-rmdir01,1
-rmdir04,1
-rt_sigaction01,1
-rt_sigaction01,2
-rt_sigaction01,3
-rt_sigaction01,4
-rt_sigaction01,5
-rt_sigaction01,6
-rt_sigaction01,7
-rt_sigaction01,8
-rt_sigaction01,9
-rt_sigaction01,10
-rt_sigaction01,11
-rt_sigaction01,12
-rt_sigaction01,13
-rt_sigaction01,14
-rt_sigaction01,15
-rt_sigaction01,16
-rt_sigaction01,17
-rt_sigaction01,18
-rt_sigaction01,19
-rt_sigaction01,20
-rt_sigaction01,21
-rt_sigaction01,22
-rt_sigaction01,23
-rt_sigaction01,24
-rt_sigaction01,25
-rt_sigaction01,26
-rt_sigaction01,27
-rt_sigaction01,28
-rt_sigaction01,29
-rt_sigaction01,30
-rt_sigaction01,31
-rt_sigaction01,32
-rt_sigaction01,33
-rt_sigaction01,34
-rt_sigaction01,35
-rt_sigaction01,36
-rt_sigaction01,37
-rt_sigaction01,38
-rt_sigaction01,39
-rt_sigaction01,40
-rt_sigaction01,41
-rt_sigaction01,42
-rt_sigaction01,43
-rt_sigaction01,44
-rt_sigaction01,45
-rt_sigaction01,46
-rt_sigaction01,47
-rt_sigaction01,48
-rt_sigaction01,49
-rt_sigaction01,50
-rt_sigaction01,51
-rt_sigaction01,52
-rt_sigaction01,53
-rt_sigaction01,54
-rt_sigaction01,55
-rt_sigaction01,56
-rt_sigaction01,57
-rt_sigaction01,58
-rt_sigaction01,59
-rt_sigaction01,60
-rt_sigaction01,61
-rt_sigaction01,62
-rt_sigaction01,63
-rt_sigaction01,64
-rt_sigaction01,65
-rt_sigaction01,66
-rt_sigaction01,67
-rt_sigaction01,68
-rt_sigaction01,69
-rt_sigaction01,70
-rt_sigaction01,71
-rt_sigaction01,72
-rt_sigaction01,73
-rt_sigaction01,74
-rt_sigaction01,75
-rt_sigaction01,76
-rt_sigaction01,77
-rt_sigaction01,78
-rt_sigaction01,79
-rt_sigaction01,80
-rt_sigaction01,81
-rt_sigaction01,82
-rt_sigaction01,83
-rt_sigaction01,84
-rt_sigaction01,85
-rt_sigaction01,86
-rt_sigaction01,87
-rt_sigaction01,88
-rt_sigaction01,89
-rt_sigaction01,90
-rt_sigaction01,91
-rt_sigaction01,92
-rt_sigaction01,93
-rt_sigaction01,94
-rt_sigaction01,95
-rt_sigaction01,96
-rt_sigaction01,97
-rt_sigaction01,98
-rt_sigaction01,99
-rt_sigaction01,100
-rt_sigaction01,101
-rt_sigaction01,102
-rt_sigaction01,103
-rt_sigaction01,104
-rt_sigaction01,105
-rt_sigaction01,106
-rt_sigaction01,107
-rt_sigaction01,108
-rt_sigaction01,109
-rt_sigaction01,110
-rt_sigaction01,111
-rt_sigaction01,112
-rt_sigaction01,113
-rt_sigaction01,114
-rt_sigaction01,115
-rt_sigaction01,116
-rt_sigaction01,117
-rt_sigaction01,118
-rt_sigaction01,119
-rt_sigaction01,120
-rt_sigaction01,121
-rt_sigaction01,122
-rt_sigaction01,123
-rt_sigaction01,124
-rt_sigaction01,125
-rt_sigaction01,126
-rt_sigaction01,127
-rt_sigaction01,128
-rt_sigaction01,129
-rt_sigaction01,130
-rt_sigaction01,131
-rt_sigaction01,132
-rt_sigaction01,133
-rt_sigaction01,134
-rt_sigaction01,135
-rt_sigaction01,136
-rt_sigaction01,137
-rt_sigaction01,138
-rt_sigaction01,139
-rt_sigaction01,140
-rt_sigaction01,141
-rt_sigaction01,142
-rt_sigaction01,143
-rt_sigaction01,144
-rt_sigaction01,145
-rt_sigaction01,146
-rt_sigaction01,147
-rt_sigaction01,148
-rt_sigaction01,149
-rt_sigaction01,150
-rt_sigaction01,151
-rt_sigaction01,152
-rt_sigaction01,153
-rt_sigaction01,154
-rt_sigaction01,155
-rt_sigaction03,1
-rt_sigaction03,2
-rt_sigaction03,3
-rt_sigaction03,4
-rt_sigaction03,5
-rt_sigaction03,6
-rt_sigaction03,7
-rt_sigaction03,8
-rt_sigaction03,9
-rt_sigaction03,10
-rt_sigaction03,11
-rt_sigaction03,12
-rt_sigaction03,13
-rt_sigaction03,14
-rt_sigaction03,15
-rt_sigaction03,16
-rt_sigaction03,17
-rt_sigaction03,18
-rt_sigaction03,19
-rt_sigaction03,20
-rt_sigaction03,21
-rt_sigaction03,22
-rt_sigaction03,23
-rt_sigaction03,24
-rt_sigaction03,25
-rt_sigaction03,26
-rt_sigaction03,27
-rt_sigaction03,28
-rt_sigaction03,29
-rt_sigaction03,30
-rt_sigaction03,31
-rt_sigaction03,32
-rt_sigaction03,33
-rt_sigaction03,34
-rt_sigaction03,35
-rt_sigaction03,36
-rt_sigaction03,37
-rt_sigaction03,38
-rt_sigaction03,39
-rt_sigaction03,40
-rt_sigaction03,41
-rt_sigaction03,42
-rt_sigaction03,43
-rt_sigaction03,44
-rt_sigaction03,45
-rt_sigaction03,46
-rt_sigaction03,47
-rt_sigaction03,48
-rt_sigaction03,49
-rt_sigaction03,50
-rt_sigaction03,51
-rt_sigaction03,52
-rt_sigaction03,53
-rt_sigaction03,54
-rt_sigaction03,55
-rt_sigaction03,56
-rt_sigaction03,57
-rt_sigaction03,58
-rt_sigaction03,59
-rt_sigaction03,60
-rt_sigaction03,61
-rt_sigaction03,62
-rt_sigaction03,63
-rt_sigaction03,64
-rt_sigaction03,65
-rt_sigaction03,66
-rt_sigaction03,67
-rt_sigaction03,68
-rt_sigaction03,69
-rt_sigaction03,70
-rt_sigaction03,71
-rt_sigaction03,72
-rt_sigaction03,73
-rt_sigaction03,74
-rt_sigaction03,75
-rt_sigaction03,76
-rt_sigaction03,77
-rt_sigaction03,78
-rt_sigaction03,79
-rt_sigaction03,80
-rt_sigaction03,81
-rt_sigaction03,82
-rt_sigaction03,83
-rt_sigaction03,84
-rt_sigaction03,85
-rt_sigaction03,86
-rt_sigaction03,87
-rt_sigaction03,88
-rt_sigaction03,89
-rt_sigaction03,90
-rt_sigaction03,91
-rt_sigaction03,92
-rt_sigaction03,93
-rt_sigaction03,94
-rt_sigaction03,95
-rt_sigaction03,96
-rt_sigaction03,97
-rt_sigaction03,98
-rt_sigaction03,99
-rt_sigaction03,100
-rt_sigaction03,101
-rt_sigaction03,102
-rt_sigaction03,103
-rt_sigaction03,104
-rt_sigaction03,105
-rt_sigaction03,106
-rt_sigaction03,107
-rt_sigaction03,108
-rt_sigaction03,109
-rt_sigaction03,110
-rt_sigaction03,111
-rt_sigaction03,112
-rt_sigaction03,113
-rt_sigaction03,114
-rt_sigaction03,115
-rt_sigaction03,116
-rt_sigaction03,117
-rt_sigaction03,118
-rt_sigaction03,119
-rt_sigaction03,120
-rt_sigaction03,121
-rt_sigaction03,122
-rt_sigaction03,123
-rt_sigaction03,124
-rt_sigaction03,125
-rt_sigaction03,126
-rt_sigaction03,127
-rt_sigaction03,128
-rt_sigaction03,129
-rt_sigaction03,130
-rt_sigaction03,131
-rt_sigaction03,132
-rt_sigaction03,133
-rt_sigaction03,134
-rt_sigaction03,135
-rt_sigaction03,136
-rt_sigaction03,137
-rt_sigaction03,138
-rt_sigaction03,139
-rt_sigaction03,140
-rt_sigaction03,141
-rt_sigaction03,142
-rt_sigaction03,143
-rt_sigaction03,144
-rt_sigaction03,145
-rt_sigaction03,146
-rt_sigaction03,147
-rt_sigaction03,148
-rt_sigaction03,149
-rt_sigaction03,150
-rt_sigaction03,151
-rt_sigaction03,152
-rt_sigaction03,153
-rt_sigaction03,154
-rt_sigaction03,155
-rt_sigsuspend01,1
-sbrk01,1
-sbrk01,2
-sbrk02,1
-sched_getaffinity01,1
-sched_getaffinity01,2
-sched_getaffinity01,3
-sched_getaffinity01,4
-sched_getaffinity01,5
-sched_getaffinity01,6
-sched_getaffinity01,7
-sched_getaffinity01,8
-sched_yield01,1
-select01,1
-select02,1
-semctl01,2
-semctl01,3
-semctl07,4
-semget02,2
-semget03,1
-semop01,1
-semop04,1
-semop04,2
-send01,1
-send01,2
-send01,3
-sendfile03,1
-sendfile03,2
-sendfile03,3
-sendfile05,1
-sendfile03_64,1
-sendfile03_64,2
-sendfile03_64,3
-sendfile05_64,1
-sendto01,1
-sendto01,2
-sendto01,3
-sendto01,4
-sendto01,7
-sendto02,2
-setgid01,1
-setitimer01,1
-setpgid01,1
-setpgid01,2
-setpgrp01,1
-setpgrp02,1
-setrlimit01,1
-setrlimit01,3
-setrlimit01,4
-setrlimit02,1
-setrlimit02,2
-setsockopt01,1
-setsockopt01,2
-setsockopt01,3
-setsockopt01,5
-setsockopt01,6
-setsockopt01,7
-setsockopt01,8
-set_tid_address01,1
-settimeofday01,3
-setuid01,1
-setuid02,1
-sigaction01,4
-sigaction02,1
-sigaction02,2
-sigaction02,3
-sigaltstack01,1
-sigaltstack02,1
-sigaltstack02,2
-signal02,1
-signal02,2
-signal02,3
-signal03,1
-signal03,2
-signal03,3
-signal03,4
-signal03,5
-signal03,6
-signal03,7
-signal03,8
-signal03,9
-signal03,10
-signal03,11
-signal03,12
-signal03,13
-signal03,14
-signal03,15
-signal03,16
-signal03,17
-signal03,18
-signal03,19
-signal03,20
-signal03,21
-signal03,22
-signal03,23
-signal03,24
-signal03,25
-signal03,26
-signal03,27
-signal03,28
-signal03,29
-signal03,30
-signal03,31
-signal04,1
-signal04,2
-signal04,3
-signal04,4
-signal04,5
-signal04,6
-signal04,7
-signal04,8
-signal04,9
-signal04,10
-signal04,11
-signal04,12
-signal04,13
-signal04,14
-signal04,15
-signal04,16
-signal04,17
-signal04,18
-signal04,19
-signal04,20
-signal04,21
-signal04,22
-signal04,23
-signal04,24
-signal04,25
-signal04,26
-signal04,27
-signal04,28
-signal05,1
-signal05,2
-signal05,3
-signal05,4
-signal05,5
-signal05,6
-signal05,7
-signal05,8
-signal05,9
-signal05,10
-signal05,11
-signal05,12
-signal05,13
-signal05,14
-signal05,15
-signal05,16
-signal05,17
-signal05,18
-signal05,19
-signal05,20
-signal05,21
-signal05,22
-signal05,23
-signal05,24
-signal05,25
-signal05,26
-signal05,27
-signal05,28
-signal05,29
-signal05,30
-signal05,31
-signal06,1
-signal06,2
-signal06,3
-signal06,4
-signal06,5
-sigpending02,1
-sigprocmask01,1
-sigsuspend01,1
-socket01,4
-socket01,6
-socket01,9
-socket02,2
-socket02,3
-socket02,4
-socket02,5
-socketcall02,1
-socketcall03,1
-socketcall04,1
-socketpair01,2
-socketpair01,6
-socketpair01,7
-socketpair02,2
-sockioctl01,1
-stat02,1
-stat02_64,1
-stat03,3
-stat03,4
-stat03_64,3
-stat03_64,4
-stat05,1
-stat05_64,1
-string01,1
-sync01,1
-sync02,1
-syscall01,2
-syscall01,3
-syscall01,4
-sysconf01,1
-sysconf01,2
-sysconf01,4
-sysconf01,5
-sysconf01,6
-sysconf01,7
-sysconf01,8
-sysconf01,9
-sysconf01,10
-sysconf01,11
-sysconf01,12
-sysconf01,13
-sysconf01,14
-sysconf01,15
-sysconf01,16
-sysconf01,17
-sysconf01,18
-sysconf01,19
-sysconf01,21
-sysconf01,24
-sysconf01,25
-sysconf01,27
-sysconf01,28
-sysconf01,29
-sysconf01,30
-sysconf01,31
-sysconf01,32
-sysconf01,33
-sysconf01,34
-sysconf01,35
-sysconf01,36
-sysconf01,37
-sysconf01,38
-sysconf01,39
-sysconf01,41
-sysconf01,42
-sysconf01,44
-sysconf01,45
-sysconf01,46
-sysconf01,47
-sysconf01,48
-sysconf01,50
-sysconf01,51
-sysconf01,52
-sysconf01,53
-sysconf01,56
-time01,1
-time02,1
-times01,1
-tkill01,1
-tkill01,2
-truncate01,1
-truncate01_64,1
-uname01,1
-uname02,1
-uname03,1
-unlink05,1
-unlinkat01,1
-unlinkat01,2
-unlinkat01,3
-unlinkat01,4
-unlinkat01,5
-unlinkat01,6
-unlinkat01,7
-ustat02,1
-vfork02,1
-wait01,1
-wait02,1
-wait401,1
-wait401,2
-waitpid01,1
-waitpid01,2
-waitpid02,1
-waitpid02,2
-waitpid02,3
-waitpid05,1
-waitpid05,2
-waitpid05,3
-waitpid05,4
-waitpid05,5
-waitpid05,7
-waitpid05,8
-waitpid05,10
-waitpid05,11
-waitpid05,13
-waitpid05,14
-waitpid05,16
-waitpid05,17
-waitpid05,19
-waitpid05,20
-waitpid05,21
-waitpid05,22
-waitpid05,24
-waitpid05,25
-waitpid05,26
-waitpid05,27
-waitpid05,28
-waitpid05,29
-waitpid05,30
-write01,1
-write02,1
-write03,1
-write05,1
-write05,2
-writev01,2
-writev01,3
-writev01,4
-writev01,5
-writev01,6
-writev07,4
-writev07,5
-writev07,8
-writev07,9
-writev07,12
-writev07,13
-writev07,16
-writev07,17
diff --git a/LibOS/shim/test/apps/ltp/README b/LibOS/shim/test/apps/ltp/README
deleted file mode 100644
index dc8fd4f6..00000000
--- a/LibOS/shim/test/apps/ltp/README
+++ /dev/null
@@ -1,29 +0,0 @@
-LTP FOR GRAPHENE
-----------------
-
-Running LTP test cases in Graphene :
-1) run 'make' in LibOS/shim/test/apps/ltp
-2) cd Graphene/LibOS/shim/test/regression
-3) make regression
-
-The above command will start running LTP system call test cases in Graphene.
-
-It works in 2 steps:
-1) Creates a testfile (Graphene/LibOS/shim/test/apps/ltp/syscalls.graphene) with all the LTP system call test cases to run, excluding the ones mentioned in Graphene/LibOS/shim/test/apps/ltp/BLOCKED. “BLOCKED” contains all the test cases which are hanging in the Graphene and thus are excluded from regression tests.
-2) Calls Graphene/LibOS/shim/test/apps/ltp/fetch.py It runs the LTP test cases and display output on the terminal.
- Some LTP testcases hangs in Graphene. This python script sets a timeout for each testcase referring the file 'TIMEOUTS'. Default timeout is set 20 seconds in the script.
- It also shows, ‘new passed testcases’ (passed testcases which are not in Graphene/LibOS/shim/test/apps/ltp/PASSED) and ‘new failed testcases’ (failed testcases which are in ‘PASSED’).
-It also creates files ‘run_output’, ‘Failed.csv’, ‘Passed.csv’, ‘Blocked.csv’ under Graphene/LibOS/shim/test/apps/ltp for reference.
-Results are of 4 types :
-[Pass] -> Testcase passed
-[Failed] -> Testcase failed
-[Hanged] -> Testcase hanged and thereafter killed
-[Broken] -> Either system call is not implemented in Graphene or test preparation failed
-
-To run a single testcase, execute the following commands:
- cd /opt/ltp/testcases/bin/
- /Runtime/pal_loader
-
-In this way, one can debug one particular syscall testcase.
-
-As you fix bugs, keep updating PASSED BLOCKED lists.
diff --git a/LibOS/shim/test/apps/ltp/TIMEOUTS b/LibOS/shim/test/apps/ltp/TIMEOUTS
deleted file mode 100644
index f5da0b21..00000000
--- a/LibOS/shim/test/apps/ltp/TIMEOUTS
+++ /dev/null
@@ -1,60 +0,0 @@
-testcase,timeout
-alarm01,5
-alarm02,40
-alarm03,40
-alarm05,40
-alarm06,16
-brk01,40
-chmod02,40
-clock_nanosleep01,40
-clone03,40
-clone05,30
-clone06,40
-dup204,40
-exit01,40
-faccessat01,80
-fchdir02,40
-fchmod07,40
-fchmodat01,40
-fcntl02_64,40
-fcntl08_64,40
-fcntl13_64,40
-fork02,40
-futex_wait_bitset02,40
-fsync03,40
-gethostname01,40
-getgid03,40
-getpid02,40
-gettid01,40
-msgsnd01,40
-mprotect04,40
-newuname01,40
-kill09,80
-lseek02,40
-poll01,40
-pread01_64,40
-pread01,40
-pread02,40
-preadv01,80
-pwrite01_64,40
-pwrite04_64,40
-pwritev01,40
-read01,40
-readdir01,40
-readv01,40
-semop04,40
-sendfile03_64,40
-setuid01,40
-setuid02,40
-sockioctl01,40
-sigaltstack02,40
-socket01,40
-socket02,40
-stat05_64,40
-sync01,40
-syscall01,80
-wait401,40
-waitpid03,80
-waitpid05,240
-write03,40
-write05,40
diff --git a/LibOS/shim/test/apps/ltp/block_tests.awk b/LibOS/shim/test/apps/ltp/block_tests.awk
deleted file mode 100644
index 0e1044b7..00000000
--- a/LibOS/shim/test/apps/ltp/block_tests.awk
+++ /dev/null
@@ -1,17 +0,0 @@
-#!/usr/bin/awk -f
-BEGIN{
- while(getline < "BLOCKED") {
- test = $1$2$3
- blocked[test]
- }
-}
-NF && ! /^#/ {
- test = $2$3
- if(!(test in blocked)) {
- s=$1 "_graphene ./pal_loader"
- for (i=2; i<=NF; i++) {
- s = s " " $i
- }
- print s
- }
-}
diff --git a/LibOS/shim/test/apps/ltp/edit_sys_tests.awk b/LibOS/shim/test/apps/ltp/edit_sys_tests.awk
deleted file mode 100644
index d0cdddbf..00000000
--- a/LibOS/shim/test/apps/ltp/edit_sys_tests.awk
+++ /dev/null
@@ -1,35 +0,0 @@
-#!/usr/bin/awk -f
-BEGIN{
- while(getline < "BLOCKED") {
- test = $1$2$3
- blocked[test]
- }
-
- if (SGX) {
- pal_str = "./pal_loader SGX"
- } else {
- pal_str = "./pal_loader"
- }
-}
-
-NF && ! /^#/ {
- test = $2$3
- if($1=="splice02") {
- s = pal_str
- for (i=2; i<=NF; i++) {
- s = s " " $i
- if($i=="|") {
- i++
- s = s " " pal_str " " $i
- }
- }
- print s
- }
- else if(! (test in blocked)) {
- s = pal_str
- for (i=2; i<=NF; i++) {
- s = s " " $i
- }
- print s
- }
-}
diff --git a/LibOS/shim/test/apps/ltp/fetch.py b/LibOS/shim/test/apps/ltp/fetch.py
deleted file mode 100644
index 11c074dc..00000000
--- a/LibOS/shim/test/apps/ltp/fetch.py
+++ /dev/null
@@ -1,181 +0,0 @@
-import subprocess
-import csv
-import os
-import time
-import signal
-import tempfile
-import multiprocessing
-import sys
-
-def run(cmd, timeout, test):
- try:
- timeout = timeout * 100
- result = {}
- result['test'] = test
- outfile = tempfile.NamedTemporaryFile(mode='w+b')
- p = subprocess.Popen(cmd, shell=True, stdout=outfile, stderr=subprocess.STDOUT, preexec_fn=os.setsid, close_fds=True)
- result['curtime'] = time.time()
- result['endtime'] = result['curtime'] + timeout
- sleep_time = 0
- finish = False
- while sleep_time < timeout:
- if p.poll() is not None:
- finish = True
- break
- sleep_time += 1
- time.sleep(.01)
-
- result['finish'] = finish
- outfile.seek(0)
- result['output'] = outfile.readlines()
- return result
- except Exception as e:
- print str(e)
- return None
- finally:
- if p is not None and p.poll() is None:
- print 'killing %s' % test
- os.killpg(os.getpgid(p.pid), signal.SIGKILL)
-
-def finish(result):
- try:
- test = result['test']
- if not result['finish']:
- print CRED + "[Hanged ] " + test + CEND
- current_hanged[test] = 1
- else:
- reported = False
- count = 1
- for output in result['output']:
- tokens = output.split()
-
- if len(tokens) < 2:
- continue
-
- # Drop this line so that we get consistent offsets
- if output == "WARNING: no physical memory support, process creation may be slow.\n":
- continue
-
- if tokens[1].isdigit():
- test_subtest = test + "," + tokens[1]
- count = int(tokens[1]) + 1
- else:
- test_subtest = test + "," + str(count)
- count = count + 1
- if "TINFO" in output or test_subtest in current_passed or test_subtest in current_failed or test in current_hanged or test_subtest in current_broken:
- continue
-
- if output:
- output = output.strip()
- print >>f1, output
-
- if "TFAIL" in output:
- print >>failed_tests_fh, test_subtest
- print CRED + "[Fail ] " + test_subtest + CEND
- current_failed[test_subtest] = 1
- reported = True
-
- elif "TPASS" in output or "PASS:" in output:
- print >>passed_tests_fh, test_subtest
- print CGREEN + "[Pass ] " + test_subtest + CEND
- current_passed[test_subtest] = 1
- reported = True
-
- elif "TCONF" in output or "TBROK" in output or "BROK" in output or "error" in output:
- print >>broken_tests_fh, test_subtest
- # Syscall not implemented or test preparation failed
- print "[Broken(a) ] " + test_subtest + CEND
- current_broken[test_subtest] = 1
- reported = True
-
- if (not reported):
- print >>broken_tests_fh, test
- print CRED + "[Broken(b) ] " + test + CEND
- for output in result['output']:
- print output
- current_broken[test] = 1
-
- except Exception as e:
- print str(e)
-
-CRED = '\033[91m'
-CGREEN = '\033[92m'
-CEND = '\033[0m'
-DEFAULT_TIMEOUT = 30
-
-resultfile = "run_output"
-stablePass = "PASSED"
-timeouts = "TIMEOUTS"
-failed_tests_file = "Failed.csv"
-passed_tests_file = "Passed.csv"
-broken_tests_file = "Broken.csv"
-
-f1 = open(resultfile, 'w')
-failed_tests_fh = open(failed_tests_file, 'w', 0)
-passed_tests_fh = open(passed_tests_file, 'w', 0)
-broken_tests_fh = open(broken_tests_file, 'w', 0)
-
-failed_tests_fh.write("Test,Subtest number,Status\n")
-passed_tests_fh.write("Test,Subtest number\n")
-broken_tests_fh.write("Test,Subtest number,Status\n")
-
-current_passed = dict()
-current_failed = dict()
-current_broken = dict()
-current_hanged = dict()
-timeouts_dict = dict()
-
-with open(timeouts, 'rb') as csvfile:
- test_timeout = csv.reader(csvfile)
- test_timeout.next()
- for row in test_timeout:
- test = row[0]
- timeout = row[1]
- timeouts_dict[test] = int(timeout)
-
-os.chdir("opt/ltp/testcases/bin")
-pool = multiprocessing.Pool()
-with open('../../../../syscalls.graphene') as testcases:
- for line in testcases:
- line = line.strip('\r\n\t')
- tokens = line.split( )
- if (tokens[1] == "SGX") :
- test = tokens[2]
- else :
- test = tokens[1]
-
- if test=="seq":
- test = tokens[6] #splice02
- try:
- timeout = timeouts_dict[test]
- except KeyError:
- timeout = DEFAULT_TIMEOUT
- pool.apply_async(run, args=([line], timeout, test), callback=finish)
-os.chdir("../../../..")
-
-pool.close()
-pool.join()
-
-stable_passed = dict()
-with open(stablePass, 'rb') as csvfile:
- test_subtest = csv.reader(csvfile)
- test_subtest.next()
- for row in test_subtest:
- tst = row[0] + "," + row[1]
- stable_passed[tst] = 1
-
-print "\n\nRESULT [Difference] :\n---------------------\n"
-
-rv = 0
-
-for test in sorted(stable_passed):
- if not test in current_passed:
- print CRED + "Test '" + test + "' did not pass in the current run!!" + CEND
- rv = -1
-
-for test in sorted(current_passed):
- if not test in stable_passed:
- print CGREEN + "Test '" + test + "' passed in the current run!!" + CEND
-print "\n"
-
-sys.exit(rv)
diff --git a/LibOS/shim/test/apps/ltp/manifest.template b/LibOS/shim/test/apps/ltp/manifest.template
deleted file mode 100644
index 470a5059..00000000
--- a/LibOS/shim/test/apps/ltp/manifest.template
+++ /dev/null
@@ -1,38 +0,0 @@
-loader.preload = file:$(SHIMPATH)
-loader.env.LD_LIBRARY_PATH = /lib:/lib/x86_64-linux-gnu:/usr/lib:/usr/lib64
-loader.env.PATH = /bin:/usr/bin:.
-loader.env.LD_PRELOAD = /usr/lib/x86_64-linux-gnu/coreutils/libstdbuf.so
-loader.env._STDBUF_O = L
-loader.debug_type = none
-
-fs.mount.shm.type = chroot
-fs.mount.shm.path = /dev/shm
-fs.mount.shm.uri = file:/tmp
-
-fs.mount.lib.type = chroot
-fs.mount.lib.path = /lib
-fs.mount.lib.uri = file:$(LIBCDIR)
-
-fs.mount.lib64.type = chroot
-fs.mount.lib64.path = /lib/x86_64-linux-gnu
-fs.mount.lib64.uri = file:/lib/x86_64-linux-gnu
-
-fs.mount.usr.type = chroot
-fs.mount.usr.path = /usr
-fs.mount.usr.uri = file:/usr
-
-fs.mount.tmp.type = chroot
-fs.mount.tmp.path = /tmp
-fs.mount.tmp.uri = file:/tmp
-
-sys.brk.size = 32M
-sys.stack.size = 4M
-
-sgx.trusted_files.ld = file:$(LIBCDIR)/ld-linux-x86-64.so.2
-sgx.trusted_files.libc = file:$(LIBCDIR)/libc.so.6
-sgx.trusted_files.libdl = file:$(LIBCDIR)/libdl.so.2
-sgx.trusted_files.libm = file:$(LIBCDIR)/libm.so.6
-sgx.trusted_files.libpthread = file:$(LIBCDIR)/libpthread.so.0
-sgx.trusted_files.libstdbuf = file:/usr/lib/x86_64-linux-gnu/coreutils/libstdbuf.so
-
-sgx.allowed_files.tmp = file:/tmp
diff --git a/LibOS/shim/test/apps/ltp/passed_tests_only.awk b/LibOS/shim/test/apps/ltp/passed_tests_only.awk
deleted file mode 100644
index 557b3a5b..00000000
--- a/LibOS/shim/test/apps/ltp/passed_tests_only.awk
+++ /dev/null
@@ -1,19 +0,0 @@
-#!/usr/bin/awk -f
-BEGIN{
- getline < "PASSED"
- while(getline < "PASSED") {
- split($1$2$3, a, ",")
- test = a[1]
- passed[test]
- }
-}
-NF && ! /^#/ {
- test = $2$3
- if(test in passed) {
- s=$1 "_graphene ./pal_loader"
- for (i=2; i<=NF; i++) {
- s = s " " $i
- }
- print s
- }
-}
diff --git a/LibOS/shim/test/apps/ltp/run_in_graphene.awk b/LibOS/shim/test/apps/ltp/run_in_graphene.awk
deleted file mode 100755
index 4a171c33..00000000
--- a/LibOS/shim/test/apps/ltp/run_in_graphene.awk
+++ /dev/null
@@ -1,30 +0,0 @@
-#!/usr/bin/awk -f
-#
-# Script for adding necessary valgrind calls before commands.
-#
-# Copyright (C) 2016 Stony Brook University.
-# This file is part of Graphene library OS.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public License along
-# with this program; if not, write to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-# Chia-Che Tsai, Fall 2016
-#
-NF && ! /^#/ && ! /epoll/ {
- s=$1 "_graphene ./pal_loader"
- for (i = 2; i <= NF; i++) {
- s = s " " $i
- }
- print s
-}
diff --git a/LibOS/shim/test/apps/ltp/runltp.patch b/LibOS/shim/test/apps/ltp/runltp.patch
deleted file mode 100644
index 1ecb7842..00000000
--- a/LibOS/shim/test/apps/ltp/runltp.patch
+++ /dev/null
@@ -1,18 +0,0 @@
---- runltp.old 2016-10-24 17:04:25.557950335 -0400
-+++ runltp 2016-10-24 18:20:37.168448299 -0400
-@@ -813,6 +813,15 @@ main()
- fi
- fi
-
-+ ## Running all test in Graphene if $GRAPHENE_RUN = 1
-+ if [ $GRAPHENE_RUN ]; then
-+ awk -f ${LTPROOT}/bin/run_in_graphene.awk \
-+ ${TMP}/alltests > \
-+ ${TMP}/alltests.tmp
-+ cp ${TMP}/alltests.tmp ${TMP}/alltests
-+ rm -rf ${TMP}/alltests.tmp
-+ fi
-+
- ## Valgrind Check will work only when Kernel Fault Injection is not expected,
- ## We do not want to test Faults when valgrind is running
- if [ $VALGRIND_CHECK ]; then
diff --git a/LibOS/shim/test/apps/ltp/syscalls.sh b/LibOS/shim/test/apps/ltp/syscalls.sh
deleted file mode 100755
index 25b04629..00000000
--- a/LibOS/shim/test/apps/ltp/syscalls.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/usr/bin/env bash
-
-cd `dirname $0`
-export LTPROOT=$PWD"/opt/ltp"
-awk -v SGX=$SGX_RUN -f edit_sys_tests.awk $LTPROOT/runtest/syscalls > syscalls.graphene
-cd $LTPROOT/../..
-python fetch.py
diff --git a/LibOS/shim/test/apps/make/Makefile b/LibOS/shim/test/apps/make/Makefile
deleted file mode 100644
index 4a290b6e..00000000
--- a/LibOS/shim/test/apps/make/Makefile
+++ /dev/null
@@ -1,52 +0,0 @@
-manifests = make.manifest
-
-graphene_dirs = LibOS/shim/src LibOS/shim/include Pal/lib Pal/include Pal/src
-graphene_target = $(addprefix graphene/,$(graphene_dirs))
-graphene_libs = $(addprefix graphene/Pal/src/,libpal.so libpal.a)
-
-target = configure $(graphene_target) $(graphene_libs)
-exec_target = $(manifests)
-
-clean-extra = clean-tests
-
-huge_rule = sys.stack.size = 64M\nsys.brk.size = 256M\nglibc.heap_size = 16M\nsgx.enclave_size = 2G
-
-extra_rules = \
- -e 's:\$$(DEBUGTYPE):$(if $(DEBUG),inline,none):g' \
- -e 's:\$$(GCCDIR):$(patsubst %/cc1,%,$(shell gcc -print-file-name=cc1)):g' \
- -e 's:\$$(HUGERULE):$(if $(HUGE),$(huge_rule),):g'
-
-level = ../../
-include ../../Makefile
-
-test_tarballs = oggenc-1.4 bzip2-1.0.6
-test_targets = $(test_tarballs) helloworld graphene
-
-make_src = make-3.82
-
-$(make_src) $(test_tarballs): %: %.tar.gz
- [ -d $@ ] || tar -zmxf $<
-
-$(make_src)/make:
- cd $(make_src) && ./configure
- cd $(make_src) && $(MAKE) CC="gcc -g"
-
-$(graphene_target): graphene/%: ../../../../../%
- cd $< && git checkout-index -a -f --prefix=$(PWD)/graphene/
-
-$(graphene_libs): graphene/%: ../../../../../%
- mkdir -p $(dir $@)
- ln -sf $(shell readlink -f $<) $@
-
-configure: $(test_targets)
- for d in $(test_targets); do \
- if [ ! -f $$d/Makefile ] && [ -f $$d/configure ]; then \
- cd $$d; ./configure; cd ..; \
- fi; \
- done
-
-distclean: clean-manifests clean-tests
- rm -rf $(make_src) $(MAKE) result $(test_tarballs) $(graphene_target) $(graphene_libs)
-
-clean-tests:
- for d in $(test_targets); do ([ ! -d $$d ] || $(MAKE) -C $$d clean); done
diff --git a/LibOS/shim/test/apps/make/bzip2-1.0.6.tar.gz b/LibOS/shim/test/apps/make/bzip2-1.0.6.tar.gz
deleted file mode 100644
index 5eb59788..00000000
Binary files a/LibOS/shim/test/apps/make/bzip2-1.0.6.tar.gz and /dev/null differ
diff --git a/LibOS/shim/test/apps/make/graphene/Makefile b/LibOS/shim/test/apps/make/graphene/Makefile
deleted file mode 100644
index 967cba2d..00000000
--- a/LibOS/shim/test/apps/make/graphene/Makefile
+++ /dev/null
@@ -1,7 +0,0 @@
-SRCDIR = LibOS/shim/src
-
-all:
- [ ! -d $(SRCDIR) ] || $(MAKE) -C $(SRCDIR)
-
-clean:
- [ ! -d $(SRCDIR) ] || $(MAKE) -C $(SRCDIR) clean
diff --git a/LibOS/shim/test/apps/make/helloworld/Makefile b/LibOS/shim/test/apps/make/helloworld/Makefile
deleted file mode 100644
index 7797ffb0..00000000
--- a/LibOS/shim/test/apps/make/helloworld/Makefile
+++ /dev/null
@@ -1,5 +0,0 @@
-helloworld: helloworld.c
- gcc -o helloworld helloworld.c
-
-clean:
- rm -rf helloworld
diff --git a/LibOS/shim/test/apps/make/helloworld/helloworld.c b/LibOS/shim/test/apps/make/helloworld/helloworld.c
deleted file mode 100644
index 636cf0c9..00000000
--- a/LibOS/shim/test/apps/make/helloworld/helloworld.c
+++ /dev/null
@@ -1,9 +0,0 @@
-/* a simple helloworld test */
-
-#include
-
-int main(int argc, char ** argv)
-{
- printf("Hello world (%s)!\n", argv[0]);
- return 0;
-}
diff --git a/LibOS/shim/test/apps/make/make-3.82.tar.gz b/LibOS/shim/test/apps/make/make-3.82.tar.gz
deleted file mode 100644
index adb50bb7..00000000
Binary files a/LibOS/shim/test/apps/make/make-3.82.tar.gz and /dev/null differ
diff --git a/LibOS/shim/test/apps/make/make.manifest.template b/LibOS/shim/test/apps/make/make.manifest.template
deleted file mode 100644
index f3347733..00000000
--- a/LibOS/shim/test/apps/make/make.manifest.template
+++ /dev/null
@@ -1,34 +0,0 @@
-#!$(PAL)
-
-loader.preload = file:$(SHIMPATH)
-loader.exec = file:/usr/bin/make
-loader.execname = make
-loader.env.LD_LIBRARY_PATH = /lib:/lib/x86_64-linux-gnu:/usr/lib:/usr/lib/x86_64-linux-gnu
-loader.env.PATH = /bin:/usr/bin
-loader.debug_type = $(DEBUGTYPE)
-
-fs.start_dir = $(PWD)
-
-fs.mount.lib1.type = chroot
-fs.mount.lib1.path = /lib
-fs.mount.lib1.uri = file:$(LIBCDIR)
-
-fs.mount.lib2.type = chroot
-fs.mount.lib2.path = /lib/x86_64-linux-gnu
-fs.mount.lib2.uri = file:/lib/x86_64-linux-gnu
-
-fs.mount.bin.type = chroot
-fs.mount.bin.path = /bin
-fs.mount.bin.uri = file:/bin
-
-fs.mount.usr.type = chroot
-fs.mount.usr.path = /usr
-fs.mount.usr.uri = file:/usr
-
-fs.mount.tmp.type = chroot
-fs.mount.tmp.path = /tmp
-fs.mount.tmp.uri = file:/tmp
-
-fs.mount.pwd.type = chroot
-fs.mount.pwd.path = $(PWD)
-fs.mount.pwd.uri = file:$(PWD)
diff --git a/LibOS/shim/test/apps/make/oggenc-1.4.tar.gz b/LibOS/shim/test/apps/make/oggenc-1.4.tar.gz
deleted file mode 100644
index 20ac8bc3..00000000
Binary files a/LibOS/shim/test/apps/make/oggenc-1.4.tar.gz and /dev/null differ
diff --git a/LibOS/shim/test/apps/memcached/Makefile b/LibOS/shim/test/apps/memcached/Makefile
deleted file mode 100644
index b7dc6749..00000000
--- a/LibOS/shim/test/apps/memcached/Makefile
+++ /dev/null
@@ -1,41 +0,0 @@
-manifests = memcached.manifest
-SRCDIR = memcached-master
-HOST = $(firstword $(shell ifconfig | grep 'inet addr:'| grep -v '127.0.0.1' -m 1 | cut -d: -f2))
-PORT = 8000
-CORES = 4
-MAXMEM = 256
-MAXTHREADS = 16
-
-target = memcached $(manifests)
-exec_target = memcached
-
-clean-extra = clean-build
-
-extra_rules = \
- -e 's:\$$(HOST):$(HOST):g' \
- -e 's:\$$(PORT):$(PORT):g' \
- -e 's:\$$(MEMSIZE):$(shell expr $(MAXMEM) + $(MAXMEM))M:g' \
- -e 's:\$$(THREADNUM):$(shell expr 2 + $(MAXTHREADS)):g'
-
-level = ../../
-include ../../Makefile
-
-master.zip:
- wget https://github.com/memcached/memcached/archive/master.zip
-
-$(SRCDIR)/configure: master.zip
- unzip master.zip
- cd $(SRCDIR) && ./autogen.sh
-
-$(SRCDIR)/memcached: $(SRCDIR)/configure
- cd $(SRCDIR) && ./configure
- cd $(SRCDIR) && make
-
-memcached: $(SRCDIR)/memcached
- cp -f $< $@
-
-clean-build:
- rm -rf $(BUILDDIR)
-
-distclean: clean
- rm -rf $(SRCDIR)
diff --git a/LibOS/shim/test/apps/memcached/memcached.manifest.template b/LibOS/shim/test/apps/memcached/memcached.manifest.template
deleted file mode 100644
index 7dbd2fd7..00000000
--- a/LibOS/shim/test/apps/memcached/memcached.manifest.template
+++ /dev/null
@@ -1,54 +0,0 @@
-#!$(PAL)
-
-loader.preload = file:$(SHIMPATH)
-loader.exec = file:memcached
-loader.env.LD_LIBRARY_PATH = /lib:/usr/lib:/lib/x86_64-linux-gnu:/usr/lib/x86_64-linux-gnu
-loader.debug_type = none
-
-fs.mount.lib.type = chroot
-fs.mount.lib.path = /lib
-fs.mount.lib.uri = file:$(LIBCDIR)
-
-fs.mount.lib2.type = chroot
-fs.mount.lib2.path = /lib/x86_64-linux-gnu
-fs.mount.lib2.uri = file:/lib/x86_64-linux-gnu
-
-fs.mount.usr.type = chroot
-fs.mount.usr.path = /usr
-fs.mount.usr.uri = file:/usr
-
-fs.mount.passwd.type = chroot
-fs.mount.passwd.path = /etc/passwd
-fs.mount.passwd.uri = file:/etc/passwd
-
-fs.mount.shadow.type = chroot
-fs.mount.shadow.path = /etc/shadow
-fs.mount.shadow.uri = file:/etc/shadow
-
-fs.mount.tmp.type = chroot
-fs.mount.tmp.path = /tmp
-fs.mount.tmp.uri = file:/tmp
-
-# allow to bind on port for listening
-net.allow_bind.1 = $(HOST):$(PORT)
-
-sys.stack.size = 1m
-sys.brk.size = 64M
-glibc.heap_size = 16M
-
-sgx.enclave_size = $(MEMSIZE)
-sgx.thread_num = $(THREADNUM)
-
-sgx.trusted_files.ld = file:$(LIBCDIR)/ld-linux-x86-64.so.2
-sgx.trusted_files.libc = file:$(LIBCDIR)/libc.so.6
-sgx.trusted_files.libdl = file:$(LIBCDIR)/libdl.so.2
-sgx.trusted_files.libm = file:$(LIBCDIR)/libm.so.6
-sgx.trusted_files.libpthread = file:$(LIBCDIR)/libpthread.so.0
-sgx.trusted_files.libnss1 = file:/lib/x86_64-linux-gnu/libnss_compat.so.2
-sgx.trusted_files.libnss2 = file:/lib/x86_64-linux-gnu/libnss_files.so.2
-sgx.trusted_files.libnss3 = file:/lib/x86_64-linux-gnu/libnss_nis.so.2
-sgx.trusted_files.libnsl = file:/lib/x86_64-linux-gnu/libnsl.so.1
-sgx.trusted_files.libevent = file:/usr/lib/x86_64-linux-gnu/libevent-2.0.so.5
-
-sgx.allowed_files.passwd = file:/etc/passwd
-sgx.allowed_files.shadow = file:/etc/shadow
diff --git a/LibOS/shim/test/apps/nginx/Makefile b/LibOS/shim/test/apps/nginx/Makefile
deleted file mode 100644
index 868c86a8..00000000
--- a/LibOS/shim/test/apps/nginx/Makefile
+++ /dev/null
@@ -1,63 +0,0 @@
-manifests = nginx.manifest
-SRCDIR = nginx-1.10.1
-HOST = $(firstword $(shell ifconfig | grep 'inet addr:'| grep -v '127.0.0.1' -m 1 | cut -d: -f2))
-PORT = 8000
-CORES = 4
-THREADS = 25
-
-conf_files = http.t
-
-target = build-nginx $(conf_files) test-data
-exec_target = $(manifests)
-clean-extra = clean-others
-
-extra_rules = -e 's:\$$(HOST):$(HOST):g' -e 's:\$$(PORT):$(PORT):g'
-
-level = ../../
-include ../../Makefile
-
-build-nginx: build/sbin/nginx
-
-build/sbin/nginx: $(SRCDIR)
- cd $(SRCDIR) && ./configure --prefix=$(PWD)/build
- $(MAKE) -C $(SRCDIR)
- $(MAKE) -C $(SRCDIR) install
-
-$(SRCDIR): %: %.tar.gz
- tar -xmzf $<
-
-$(conf_files): %.t: %.t.template
- sed $(extra_rules) $< > $@
-
-start-native-server:
- $(PREFIX) build/sbin/nginx -c $(abspath http.t)
-
-start-graphene-server:
- $(PREFIX) ./nginx.manifest -c $(abspath http.t) -g "user root;"
-
-random-data = $(foreach n,1 2 3 4 5 6 7 8 9 10,2K.$n.html) \
- $(foreach n,1 2 3 4 5,10K.$n.html) \
- $(foreach n,1 2 3 4 5,100K.$n.html) \
- $(foreach n,1 2 3,1M.$n.html) \
- $(foreach n,1 2 3,10M.$n.html) \
- $(foreach n,1 2 3,100.$n.html)
-
-test-data = build/html/oscar-web build/html/oscar-web-static build/html/random \
- $(addprefix build/html/random/,$(random-data))
-
-build/html/%: ../web-data/%.tar.gz
- [ -d "$@" ] || (cd $(dir $@) && tar -xmzf ../../$^)
-
-build/html/random:
- mkdir -p $@
-
-build/html/random/%.html: build/html/random
- dd if=/dev/urandom of=$@ count=1 bs=$(basename $(basename $(notdir $@)))
-
-test-data: $(test-data)
-
-distclean: clean
- rm -rf build $(SRCDIR)
-
-clean-others:
- rm -rf $(conf_files) $(test-data)
diff --git a/LibOS/shim/test/apps/nginx/etc/group b/LibOS/shim/test/apps/nginx/etc/group
deleted file mode 100644
index 148e2063..00000000
--- a/LibOS/shim/test/apps/nginx/etc/group
+++ /dev/null
@@ -1,62 +0,0 @@
-root:x:0:
-daemon:x:1:
-bin:x:2:
-sys:x:3:
-adm:x:4:syslog
-tty:x:5:
-disk:x:6:
-lp:x:7:
-mail:x:8:
-news:x:9:
-uucp:x:10:
-man:x:12:
-proxy:x:13:
-kmem:x:15:
-dialout:x:20:
-fax:x:21:
-voice:x:22:
-cdrom:x:24:
-floppy:x:25:
-tape:x:26:
-sudo:x:27:
-audio:x:29:pulse
-dip:x:30:
-www-data:x:33:
-backup:x:34:
-operator:x:37:
-list:x:38:
-irc:x:39:
-src:x:40:
-gnats:x:41:
-shadow:x:42:
-utmp:x:43:
-video:x:44:
-sasl:x:45:
-plugdev:x:46:
-staff:x:50:
-games:x:60:
-users:x:100:
-nogroup:x:65534:
-libuuid:x:101:
-netdev:x:102:
-crontab:x:103:
-syslog:x:104:
-fuse:x:105:
-messagebus:x:106:
-ssl-cert:x:107:
-lpadmin:x:108:
-scanner:x:109:saned
-mlocate:x:110:
-ssh:x:111:
-utempter:x:112:
-avahi-autoipd:x:113:
-rtkit:x:114:
-saned:x:115:
-whoopsie:x:116:
-avahi:x:117:
-lightdm:x:118:
-nopasswdlogin:x:119:
-bluetooth:x:120:
-colord:x:121:
-pulse:x:122:
-pulse-access:x:123:
diff --git a/LibOS/shim/test/apps/nginx/etc/nsswitch.conf b/LibOS/shim/test/apps/nginx/etc/nsswitch.conf
deleted file mode 100644
index a076cb7e..00000000
--- a/LibOS/shim/test/apps/nginx/etc/nsswitch.conf
+++ /dev/null
@@ -1,19 +0,0 @@
-# /etc/nsswitch.conf
-#
-# Example configuration of GNU Name Service Switch functionality.
-# If you have the `glibc-doc-reference' and `info' packages installed, try:
-# `info libc "Name Service Switch"' for information about this file.
-
-passwd: compat
-group: compat
-shadow: compat
-
-hosts: files mdns4_minimal [NOTFOUND=return] dns
-networks: files
-
-protocols: db files
-services: db files
-ethers: db files
-rpc: db files
-
-netgroup: nis
diff --git a/LibOS/shim/test/apps/nginx/etc/passwd b/LibOS/shim/test/apps/nginx/etc/passwd
deleted file mode 100644
index 202a0870..00000000
--- a/LibOS/shim/test/apps/nginx/etc/passwd
+++ /dev/null
@@ -1,36 +0,0 @@
-root:x:0:0:root:/root:/bin/bash
-daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
-bin:x:2:2:bin:/bin:/usr/sbin/nologin
-sys:x:3:3:sys:/dev:/usr/sbin/nologin
-sync:x:4:65534:sync:/bin:/bin/sync
-games:x:5:60:games:/usr/games:/usr/sbin/nologin
-man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
-lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
-mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
-news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
-uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin
-proxy:x:13:13:proxy:/bin:/usr/sbin/nologin
-www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
-backup:x:34:34:backup:/var/backups:/usr/sbin/nologin
-list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin
-irc:x:39:39:ircd:/var/run/ircd:/usr/sbin/nologin
-gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologin
-nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
-libuuid:x:100:101::/var/lib/libuuid:
-syslog:x:101:104::/home/syslog:/bin/false
-messagebus:x:102:106::/var/run/dbus:/bin/false
-usbmux:x:103:46:usbmux daemon,,,:/home/usbmux:/bin/false
-dnsmasq:x:104:65534:dnsmasq,,,:/var/lib/misc:/bin/false
-avahi-autoipd:x:105:113:Avahi autoip daemon,,,:/var/lib/avahi-autoipd:/bin/false
-kernoops:x:106:65534:Kernel Oops Tracking Daemon,,,:/:/bin/false
-rtkit:x:107:114:RealtimeKit,,,:/proc:/bin/false
-saned:x:108:115::/home/saned:/bin/false
-whoopsie:x:109:116::/nonexistent:/bin/false
-speech-dispatcher:x:110:29:Speech Dispatcher,,,:/var/run/speech-dispatcher:/bin/sh
-avahi:x:111:117:Avahi mDNS daemon,,,:/var/run/avahi-daemon:/bin/false
-lightdm:x:112:118:Light Display Manager:/var/lib/lightdm:/bin/false
-colord:x:113:121:colord colour management daemon,,,:/var/lib/colord:/bin/false
-hplip:x:114:7:HPLIP system user,,,:/var/run/hplip:/bin/false
-pulse:x:115:122:PulseAudio daemon,,,:/var/run/pulse:/bin/false
-sshd:x:116:65534::/var/run/sshd:/usr/sbin/nologin
-statd:x:117:65534::/var/lib/nfs:/bin/false
diff --git a/LibOS/shim/test/apps/nginx/http.t.template b/LibOS/shim/test/apps/nginx/http.t.template
deleted file mode 100644
index 670f8165..00000000
--- a/LibOS/shim/test/apps/nginx/http.t.template
+++ /dev/null
@@ -1,35 +0,0 @@
-## user www www; ## Default: nobody
-## worker_processes 5; ## Default: 1
-daemon off;
-error_log logs/error.log;
-pid logs/nginx.pid;
-worker_rlimit_nofile 8192;
-
-events {
- worker_connections 4096; ## Default: 1024
-}
-
-http {
- include build/conf/mime.types;
- index index.html;
-
- default_type application/octet-stream;
- log_format main '$remote_addr - $remote_user [$time_local] $status '
- '"$request" $body_bytes_sent "$http_referer" '
- '"$http_user_agent" "$http_x_forwarded_for"';
- access_log logs/access.log main;
- sendfile on;
- tcp_nopush on;
- tcp_nodelay on;
- keepalive_timeout 65;
- types_hash_max_size 2048;
-
- server {
- listen $(HOST):$(PORT);
- server_name $(HOST);
- root html;
-
- location / {
- }
- }
-}
diff --git a/LibOS/shim/test/apps/nginx/nginx-1.10.1.tar.gz b/LibOS/shim/test/apps/nginx/nginx-1.10.1.tar.gz
deleted file mode 100644
index 2901e212..00000000
Binary files a/LibOS/shim/test/apps/nginx/nginx-1.10.1.tar.gz and /dev/null differ
diff --git a/LibOS/shim/test/apps/nginx/nginx-tests/LICENSE b/LibOS/shim/test/apps/nginx/nginx-tests/LICENSE
deleted file mode 100644
index 2b71e916..00000000
--- a/LibOS/shim/test/apps/nginx/nginx-tests/LICENSE
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * Copyright (C) 2008-2011 Maxim Dounin
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
diff --git a/LibOS/shim/test/apps/nginx/nginx-tests/README b/LibOS/shim/test/apps/nginx/nginx-tests/README
deleted file mode 100644
index b9794fcc..00000000
--- a/LibOS/shim/test/apps/nginx/nginx-tests/README
+++ /dev/null
@@ -1,39 +0,0 @@
-Test suite for nginx.
-
-Use prove to run tests as one usually do for perl tests. Individual tests
-may be run as well.
-
-Note: tests run nginx (and backend daemons if needed) listening on localhost
-and may use various ports in 8000 .. 8999 range.
-
-Usage:
-
- $ TEST_NGINX_BINARY=/path/to/nginx prove .
-
-By default tests expect nginx binary to be at ../nginx/objs/nginx.
-
-Environment variables:
-
-TEST_NGINX_BINARY
-
- Sets path to nginx binary to be tested, defaults to "../nginx/objs/nginx".
-
-TEST_NGINX_VERBOSE
-
- Be a bit more verbose (in particular, print requests sent and responses
- got from nginx). Note that this requires prove -v (or HARNESS_VERBOSE).
-
-TEST_NGINX_LEAVE
-
- If set temporary directory with configs and logs won't be deleted on test
- completion. Usefull for debugging.
-
-TEST_NGINX_CATLOG
-
- Cat error log to stdout after test completion. Usefull for debugging.
-
-TEST_NGINX_UNSAFE
-
- Run unsafe tests.
-
-Happy testing!
diff --git a/LibOS/shim/test/apps/nginx/nginx-tests/auth_basic.t b/LibOS/shim/test/apps/nginx/nginx-tests/auth_basic.t
deleted file mode 100644
index ef9d7e82..00000000
--- a/LibOS/shim/test/apps/nginx/nginx-tests/auth_basic.t
+++ /dev/null
@@ -1,110 +0,0 @@
-#!/usr/bin/perl
-
-# (C) Maxim Dounin
-
-# Tests for auth basic module.
-
-###############################################################################
-
-use warnings;
-use strict;
-
-use Test::More;
-
-use MIME::Base64;
-
-BEGIN { use FindBin; chdir($FindBin::Bin); }
-
-use lib 'lib';
-use Test::Nginx;
-
-###############################################################################
-
-select STDERR; $| = 1;
-select STDOUT; $| = 1;
-
-my $t = Test::Nginx->new()->has(qw/http auth_basic/)->plan(11)
- ->write_file_expand('nginx.conf', <<'EOF');
-
-%%TEST_GLOBALS%%
-
-master_process off;
-daemon off;
-
-events {
-}
-
-http {
- %%TEST_GLOBALS_HTTP%%
-
- server {
- listen 127.0.0.1:8080;
- server_name localhost;
-
- location / {
- auth_basic "closed site";
- auth_basic_user_file %%TESTDIR%%/htpasswd;
- }
- }
-}
-
-EOF
-
-my $d = $t->testdir();
-
-$t->write_file('index.html', 'SEETHIS');
-
-$t->write_file(
- 'htpasswd',
- 'crypt:' . crypt('password', 'salt') . "\n" .
- 'crypt1:' . crypt('password', '$1$salt$') . "\n" .
- 'apr1:' . '$apr1$salt$Xxd1irWT9ycqoYxGFn4cb.' . "\n" .
- 'plain:' . '{PLAIN}password' . "\n" .
- 'ssha:' . '{SSHA}yI6cZwQadOA1e+/f+T+H3eCQQhRzYWx0' . "\n"
-);
-
-$t->run();
-
-###############################################################################
-
-like(http_get('/'), qr!401 Unauthorized!ms, 'rejects unathorized');
-
-like(http_get_auth('/', 'crypt', 'password'), qr!SEETHIS!, 'normal crypt');
-unlike(http_get_auth('/', 'crypt', '123'), qr!SEETHIS!, 'normal wrong');
-
-like(http_get_auth('/', 'crypt1', 'password'), qr!SEETHIS!, 'crypt $1$ (md5)');
-unlike(http_get_auth('/', 'crypt1', '123'), qr!SEETHIS!, 'crypt $1$ wrong');
-
-like(http_get_auth('/', 'apr1', 'password'), qr!SEETHIS!, 'apr1 md5');
-like(http_get_auth('/', 'plain', 'password'), qr!SEETHIS!, 'plain password');
-
-SKIP: {
- # SHA1 may not be available unless we have OpenSSL
-
- skip 'no sha1', 1 unless $t->has_module('--with-http_ssl_module')
- or $t->has_module('--with-sha1')
- or $t->has_module('--with-openssl');
-
- like(http_get_auth('/', 'ssha', 'password'), qr!SEETHIS!, 'ssha');
-}
-
-unlike(http_get_auth('/', 'apr1', '123'), qr!SEETHIS!, 'apr1 md5 wrong');
-unlike(http_get_auth('/', 'plain', '123'), qr!SEETHIS!, 'plain wrong');
-unlike(http_get_auth('/', 'ssha', '123'), qr!SEETHIS!, 'ssha wrong');
-
-###############################################################################
-
-sub http_get_auth {
- my ($url, $user, $password) = @_;
-
- my $auth = encode_base64($user . ':' . $password);
-
- my $r = http(<new()->has(qw/http autoindex/)->plan(16)
- ->write_file_expand('nginx.conf', <<'EOF');
-
-%%TEST_GLOBALS%%
-
-master_process off;
-daemon off;
-
-events {
-}
-
-http {
- %%TEST_GLOBALS_HTTP%%
-
- server {
- listen 127.0.0.1:8080;
- server_name localhost;
-
- location / {
- autoindex on;
- }
- location /utf8/ {
- autoindex on;
- charset utf-8;
- }
- }
-}
-
-EOF
-
-my $d = $t->testdir();
-
-mkdir("$d/test-dir");
-symlink("$d/test-dir", "$d/test-dir-link");
-
-$t->write_file('test-file', '');
-symlink("$d/test-file", "$d/test-file-link");
-
-$t->write_file('test-colon:blah', '');
-$t->write_file('test-long-' . ('0' x 50), '');
-$t->write_file('test-long-' . ('>' x 50), '');
-$t->write_file('test-escape-url-%', '');
-$t->write_file('test-escape-url2-?', '');
-$t->write_file('test-escape-html-<>&', '');
-
-mkdir($d . '/utf8');
-$t->write_file('utf8/test-utf8-' . ("\xd1\x84" x 3), '');
-$t->write_file('utf8/test-utf8-' . ("\xd1\x84" x 45), '');
-$t->write_file('utf8/test-utf8-<>&-' . "\xd1\x84", '');
-$t->write_file('utf8/test-utf8-<>&-' . ("\xd1\x84" x 45), '');
-$t->write_file('utf8/test-utf8-' . ("\xd1\x84" x 3) . '-' . ('>' x 45), '');
-
-mkdir($d . '/test-dir-escape-<>&');
-
-$t->run();
-
-###############################################################################
-
-my $r = http_get('/');
-
-like($r, qr!href="test-file"!ms, 'file');
-like($r, qr!href="test-file-link"!ms, 'symlink to file');
-like($r, qr!href="test-dir/"!ms, 'directory');
-like($r, qr!href="test-dir-link/"!ms, 'symlink to directory');
-
-unlike($r, qr!href="test-colon:blah"!ms, 'colon not scheme');
-like($r, qr!test-long-0{37}\.\.>!ms, 'long name');
-
-like($r, qr!href="test-escape-url-%25"!ms, 'escaped url');
-
-{
-local $TODO = 'not fixed yet';
-
-like($r, qr!href="test-escape-url2-%3f"!ms, 'escaped ? in url');
-
-}
-
-{
-local $TODO = 'patch under review';
-
-like($r, qr!test-escape-html-<>&!ms, 'escaped html');
-like($r, qr!test-long-(>){37}\.\.>!ms, 'long escaped html');
-
-}
-
-$r = http_get('/utf8/');
-
-like($r, qr!test-utf8-(\xd1\x84){3}!ms, 'utf8');
-like($r, qr!test-utf8-(\xd1\x84){37}\.\.!ms, 'utf8 long');
-
-{
-local $TODO = 'patch under review';
-
-like($r, qr!test-utf8-<>&-\xd1\x84!ms, 'utf8 escaped');
-like($r, qr!test-utf8-<>&-(\xd1\x84){33}\.\.!ms,
- 'utf8 escaped long');
-like($r, qr!test-utf8-(\xd1\x84){3}-(>){33}\.\.!ms, 'utf8 long escaped');
-
-like(http_get('/test-dir-escape-<>&/'), qr!test-dir-escape-<>&!ms,
- 'escaped title');
-
-}
-
-###############################################################################
diff --git a/LibOS/shim/test/apps/nginx/nginx-tests/dav.t b/LibOS/shim/test/apps/nginx/nginx-tests/dav.t
deleted file mode 100644
index 07b22157..00000000
--- a/LibOS/shim/test/apps/nginx/nginx-tests/dav.t
+++ /dev/null
@@ -1,146 +0,0 @@
-#!/usr/bin/perl
-
-# (C) Maxim Dounin
-
-# Tests for nginx dav module.
-
-###############################################################################
-
-use warnings;
-use strict;
-
-use Test::More;
-
-BEGIN { use FindBin; chdir($FindBin::Bin); }
-
-use lib 'lib';
-use Test::Nginx;
-
-###############################################################################
-
-select STDERR; $| = 1;
-select STDOUT; $| = 1;
-
-my $t = Test::Nginx->new()->has(qw/http dav/)->plan(13);
-
-$t->write_file_expand('nginx.conf', <<'EOF');
-
-%%TEST_GLOBALS%%
-
-master_process off;
-daemon off;
-
-events {
-}
-
-http {
- %%TEST_GLOBALS_HTTP%%
-
- server {
- listen 127.0.0.1:8080;
- server_name localhost;
-
- location / {
- dav_methods PUT DELETE MKCOL COPY MOVE;
- }
- }
-}
-
-EOF
-
-$t->run();
-
-###############################################################################
-
-my $r;
-
-$r = http(<testdir() . '/file', 10, 'put file size');
-
-$r = http(<testdir() . '/file', 0, 'put file again size');
-
-$r = http(<testdir() . '/file', 'file deleted');
-
-$r = http(<testdir() . '/file', 10,
- 'put file extra data size');
-}
-
-TODO: {
-local $TODO = 'broken in 0.8.32';
-
-# 201 replies contain body, response should indicate it's empty
-# before 0.8.32 chunked was explicitly disabled for 201 replies so
-# connection was just closed (which isn't perfect but worked)
-
-$r = http(< 'FCGI not installed') if $@;
-
-my $t = Test::Nginx->new()->has(qw/http fastcgi/)->plan(5)
- ->write_file_expand('nginx.conf', <<'EOF');
-
-%%TEST_GLOBALS%%
-
-master_process off;
-daemon off;
-
-events {
-}
-
-http {
- %%TEST_GLOBALS_HTTP%%
-
- server {
- listen 127.0.0.1:8080;
- server_name localhost;
-
- location / {
- fastcgi_pass 127.0.0.1:8081;
- fastcgi_param REQUEST_URI $request_uri;
- }
- }
-}
-
-EOF
-
-$t->run_daemon(\&fastcgi_daemon);
-$t->run();
-
-###############################################################################
-
-like(http_get('/'), qr/SEE-THIS/, 'fastcgi request');
-like(http_get('/redir'), qr/302/, 'fastcgi redirect');
-like(http_get('/'), qr/^3$/m, 'fastcgi third request');
-
-unlike(http_head('/'), qr/SEE-THIS/, 'no data in HEAD');
-
-like(http_get('/stderr'), qr/SEE-THIS/, 'large stderr handled');
-
-###############################################################################
-
-sub fastcgi_daemon {
- my $socket = FCGI::OpenSocket('127.0.0.1:8081', 5);
- my $request = FCGI::Request(\*STDIN, \*STDOUT, \*STDERR, \%ENV,
- $socket);
-
- my $count;
- while( $request->Accept() >= 0 ) {
- $count++;
-
- if ($ENV{REQUEST_URI} eq '/stderr') {
- warn "sample stderr text" x 512;
- }
-
- print < 'FCGI not installed') if $@;
-
-my $t = Test::Nginx->new()->has(qw/http fastcgi cache/)->plan(5)
- ->write_file_expand('nginx.conf', <<'EOF');
-
-%%TEST_GLOBALS%%
-
-master_process off;
-daemon off;
-
-events {
-}
-
-http {
- %%TEST_GLOBALS_HTTP%%
-
- fastcgi_cache_path %%TESTDIR%%/cache levels=1:2
- keys_zone=NAME:10m;
-
- server {
- listen 127.0.0.1:8080;
- server_name localhost;
-
- location / {
- fastcgi_pass 127.0.0.1:8081;
- fastcgi_param REQUEST_URI $request_uri;
- fastcgi_cache NAME;
- fastcgi_cache_key $request_uri;
- fastcgi_cache_valid 302 1m;
- }
- }
-}
-
-EOF
-
-$t->run_daemon(\&fastcgi_daemon);
-$t->run();
-
-###############################################################################
-
-like(http_get('/'), qr/SEE-THIS/, 'fastcgi request');
-like(http_get('/'), qr/SEE-THIS/, 'fastcgi request cached');
-
-unlike(http_head('/'), qr/SEE-THIS/, 'no data in cached HEAD');
-
-like(http_get('/stderr'), qr/SEE-THIS/, 'large stderr handled');
-like(http_get('/stderr'), qr/SEE-THIS/, 'large stderr cached');
-
-###############################################################################
-
-sub fastcgi_daemon {
- my $socket = FCGI::OpenSocket('127.0.0.1:8081', 5);
- my $request = FCGI::Request(\*STDIN, \*STDOUT, \*STDERR, \%ENV,
- $socket);
-
- my $count;
- while( $request->Accept() >= 0 ) {
- $count++;
-
- if ($ENV{REQUEST_URI} eq '/stderr') {
- warn "sample stderr text" x 512;
- }
-
- print < 'FCGI not installed') if $@;
-
-my $t = Test::Nginx->new()->has(qw/http fastcgi/)->plan(1)
- ->write_file_expand('nginx.conf', <<'EOF');
-
-%%TEST_GLOBALS%%
-
-master_process off;
-daemon off;
-
-events {
-}
-
-http {
- %%TEST_GLOBALS_HTTP%%
-
- server {
- listen 127.0.0.1:8080;
- server_name localhost;
-
- location / {
- fastcgi_pass 127.0.0.1:8081;
- fastcgi_param HTTP_X_BLAH "blah";
- }
- }
-}
-
-EOF
-
-$t->run_daemon(\&fastcgi_daemon);
-$t->run();
-
-###############################################################################
-
-SKIP: {
-skip 'unsafe', 1 unless $ENV{TEST_NGINX_UNSAFE};
-
-local $TODO = 'not yet';
-
-like(http_get_headers('/'), qr/SEE-THIS/,
- 'fastcgi request with many ignored headers');
-
-}
-
-###############################################################################
-
-sub http_get_headers {
- my ($url, %extra) = @_;
- return http(<Accept() >= 0 ) {
- $count++;
-
- print <new()->has(qw/http proxy gzip/)->plan(8);
-
-$t->write_file_expand('nginx.conf', <<'EOF');
-
-%%TEST_GLOBALS%%
-
-master_process off;
-daemon off;
-
-events {
-}
-
-http {
- %%TEST_GLOBALS_HTTP%%
-
- server {
- listen 127.0.0.1:8080;
- server_name localhost;
- location / {
- gzip on;
- }
- location /proxy/ {
- gzip on;
- proxy_pass http://127.0.0.1:8080/local/;
- }
- location /local/ {
- gzip off;
- alias %%TESTDIR%%/;
- }
- }
-}
-
-EOF
-
-$t->write_file('index.html', 'X' x 64);
-
-$t->run();
-
-###############################################################################
-
-my $r;
-
-$r = http_gzip_request('/');
-like($r, qr/^Content-Encoding: gzip/m, 'gzip');
-http_gzip_like($r, qr/^X{64}\Z/, 'gzip content correct');
-
-$r = http_gzip_request('/proxy/');
-like($r, qr/^Content-Encoding: gzip/m, 'gzip proxied');
-http_gzip_like($r, qr/^X{64}\Z/, 'gzip proxied content');
-
-# Accept-Ranges headers should be cleared
-
-unlike(http_gzip_request('/'), qr/Accept-Ranges/im, 'cleared accept-ranges');
-unlike(http_gzip_request('/proxy/'), qr/Accept-Ranges/im,
- 'cleared headers from proxy');
-
-# HEAD requests should return correct headers
-
-like(http_gzip_head('/'), qr/Content-Encoding: gzip/, 'gzip head');
-unlike(http_head('/'), qr/Content-Encoding: gzip/, 'no gzip head');
-
-###############################################################################
-
-sub http_gzip_head {
- my ($uri) = @_;
- return http(<new()->has(qw/http gzip perl/)->plan(2)
- ->write_file_expand('nginx.conf', <<'EOF');
-
-%%TEST_GLOBALS%%
-
-master_process off;
-daemon off;
-
-events {
-}
-
-http {
- %%TEST_GLOBALS_HTTP%%
-
- server {
- listen 127.0.0.1:8080;
- server_name localhost;
-
- gzip on;
- gzip_min_length 0;
-
- location / {
- perl 'sub {
- my $r = shift;
- $r->send_http_header("text/html");
- return OK if $r->header_only;
- $r->print("DA");
- $r->flush();
- $r->flush();
- $r->print("TA");
- return OK;
- }';
- }
- }
-}
-
-EOF
-
-$t->run();
-
-###############################################################################
-
-like(http_get('/'), qr/DATA/, 'request with flush');
-
-TODO: {
-local $TODO = 'not yet';
-
-# gzip filter doesn't properly handle empty flush buffers, see
-# http://nginx.org/pipermail/nginx/2010-November/023693.html
-
-http_gzip_like(http_gzip_request('/'), qr/DATA/, 'gzip request with flush');
-
-}
-
-###############################################################################
diff --git a/LibOS/shim/test/apps/nginx/nginx-tests/http_error_page.t b/LibOS/shim/test/apps/nginx/nginx-tests/http_error_page.t
deleted file mode 100644
index c2c7f22d..00000000
--- a/LibOS/shim/test/apps/nginx/nginx-tests/http_error_page.t
+++ /dev/null
@@ -1,137 +0,0 @@
-#!/usr/bin/perl
-
-# (C) Maxim Dounin
-
-# Tests for error_page directive.
-
-###############################################################################
-
-use warnings;
-use strict;
-
-use Test::More;
-
-BEGIN { use FindBin; chdir($FindBin::Bin); }
-
-use lib 'lib';
-use Test::Nginx;
-
-###############################################################################
-
-select STDERR; $| = 1;
-select STDOUT; $| = 1;
-
-my $t = Test::Nginx->new()->has(qw/http rewrite/)->plan(7)
- ->write_file_expand('nginx.conf', <<'EOF');
-
-%%TEST_GLOBALS%%
-
-master_process off;
-daemon off;
-
-events {
-}
-
-http {
- %%TEST_GLOBALS_HTTP%%
-
- server {
- listen 127.0.0.1:8080;
- server_name localhost;
-
- location /redirect200 {
- error_page 404 =200 http://example.com/;
- return 404;
- }
-
- location /redirect497 {
- # 497 implies implicit status code change
- error_page 497 https://example.com/;
- return 497;
- }
-
- location /error302redirect {
- error_page 302 http://example.com/;
- return 302 "first";
- }
-
- location /error302return302text {
- error_page 302 /return302text;
- return 302 "first";
- }
-
- location /return302text {
- return 302 "http://example.com/";
- }
-
- location /error302rewrite {
- error_page 302 /rewrite;
- return 302 "first";
- }
-
- location /rewrite {
- rewrite ^ http://example.com/;
- }
-
- location /error302directory {
- error_page 302 /directory;
- return 302 "first";
- }
-
- location /directory {
- }
-
- location /error302auto {
- error_page 302 /auto;
- return 302 "first";
- }
-
- location /auto/ {
- proxy_pass http://127.0.0.1:8081;
- }
- }
-}
-
-EOF
-
-mkdir($t->testdir() . '/directory');
-
-$t->run();
-
-###############################################################################
-
-# tests for error_page status code change for redirects. problems
-# introduced in 0.8.53 and fixed in 0.9.5.
-
-like(http_get('/redirect200'), qr!HTTP!, 'redirect 200');
-like(http_get('/redirect497'), qr!HTTP/1.1 302!, 'redirect 497');
-
-TODO: {
-local $TODO = 'not yet';
-
-# various tests to see if old location cleared if we happen to redirect
-# again in error_page 302
-
-like(http_get('/error302redirect'),
- qr{HTTP/1.1 302(?!.*Location: first).*Location: http://example.com/}ms,
- 'error 302 redirect - old location cleared');
-
-like(http_get('/error302return302text'),
- qr{HTTP/1.1 302(?!.*Location: first).*Location: http://example.com/}ms,
- 'error 302 return 302 text - old location cleared');
-
-like(http_get('/error302rewrite'),
- qr{HTTP/1.1 302(?!.*Location: first).*Location: http://example.com/}ms,
- 'error 302 rewrite - old location cleared');
-
-like(http_get('/error302directory'),
- qr{HTTP/1.1 301(?!.*Location: first).*Location: http://}ms,
- 'error 302 directory redirect - old location cleared');
-
-like(http_get('/error302auto'),
- qr{HTTP/1.1 301(?!.*Location: first).*Location: http://}ms,
- 'error 302 auto redirect - old location cleared');
-
-}
-
-###############################################################################
diff --git a/LibOS/shim/test/apps/nginx/nginx-tests/http_expect_100_continue.t b/LibOS/shim/test/apps/nginx/nginx-tests/http_expect_100_continue.t
deleted file mode 100644
index 663dc784..00000000
--- a/LibOS/shim/test/apps/nginx/nginx-tests/http_expect_100_continue.t
+++ /dev/null
@@ -1,82 +0,0 @@
-#!/usr/bin/perl
-
-# (C) Maxim Dounin
-
-# Tests for Expect: 100-continue support.
-
-###############################################################################
-
-use warnings;
-use strict;
-
-use Test::More;
-
-BEGIN { use FindBin; chdir($FindBin::Bin); }
-
-use lib 'lib';
-use Test::Nginx;
-
-###############################################################################
-
-select STDERR; $| = 1;
-select STDOUT; $| = 1;
-
-my $t = Test::Nginx->new()->has(qw/http proxy/)->plan(2);
-
-$t->write_file_expand('nginx.conf', <<'EOF');
-
-%%TEST_GLOBALS%%
-
-master_process off;
-daemon off;
-
-events {
-}
-
-http {
- %%TEST_GLOBALS_HTTP%%
-
- server {
- listen 127.0.0.1:8080;
- server_name localhost;
- location / {
- proxy_pass http://localhost:8080/local;
- }
- location /local {
- }
- }
-}
-
-EOF
-
-$t->run();
-
-###############################################################################
-
-like(http_100_request('/', '1.1'), qr/100/, 'expect 100 continue');
-
-# From RFC 2616, 8.2.3 Use of the 100 (Continue) Status:
-#
-# - An origin server SHOULD NOT send a 100 (Continue) response if
-# the request message does not include an Expect request-header
-# field with the "100-continue" expectation, and MUST NOT send a
-# 100 (Continue) response if such a request comes from an HTTP/1.0
-# (or earlier) client.
-
-unlike(http_100_request('/', '1.0'), qr/100/, 'no 100 continue via http 1.0');
-
-###############################################################################
-
-sub http_100_request {
- my ($url, $version) = @_;
- my $r = http(<new()->has(qw/http rewrite/)->plan(8)
- ->write_file_expand('nginx.conf', <<'EOF');
-
-%%TEST_GLOBALS%%
-
-master_process off;
-daemon off;
-
-events {
-}
-
-http {
- %%TEST_GLOBALS_HTTP%%
-
- server {
- listen 127.0.0.1:8080;
- server_name localhost;
-
- location = / {
- add_header X-Location exactlyroot;
- return 204;
- }
-
- location / {
- add_header X-Location root;
- return 204;
- }
-
- location ^~ /images/ {
- add_header X-Location images;
- return 204;
- }
-
- location ~* \.(gif|jpg|jpeg)$ {
- add_header X-Location regex;
- return 204;
- }
-
- location ~ casefull {
- add_header X-Location casefull;
- return 204;
- }
- }
-}
-
-EOF
-
-$t->run();
-
-###############################################################################
-
-like(http_get('/'), qr/X-Location: exactlyroot/, 'exactlyroot');
-like(http_get('/x'), qr/X-Location: root/, 'root');
-like(http_get('/images/t.gif'), qr/X-Location: images/, 'images');
-like(http_get('/t.gif'), qr/X-Location: regex/, 'regex');
-like(http_get('/t.GIF'), qr/X-Location: regex/, 'regex with mungled case');
-like(http_get('/casefull/t.gif'), qr/X-Location: regex/, 'first regex wins');
-like(http_get('/casefull/'), qr/X-Location: casefull/, 'casefull regex');
-like(http_get('/CASEFULL/'), qr/X-Location: root/,
- 'casefull regex do not match wrong case');
-
-###############################################################################
diff --git a/LibOS/shim/test/apps/nginx/nginx-tests/http_server_name.t b/LibOS/shim/test/apps/nginx/nginx-tests/http_server_name.t
deleted file mode 100644
index 763f0bec..00000000
--- a/LibOS/shim/test/apps/nginx/nginx-tests/http_server_name.t
+++ /dev/null
@@ -1,130 +0,0 @@
-#!/usr/bin/perl
-
-# (C) Maxim Dounin
-
-# Tests for server_name selection.
-
-###############################################################################
-
-use warnings;
-use strict;
-
-use Test::More;
-
-BEGIN { use FindBin; chdir($FindBin::Bin); }
-
-use lib 'lib';
-use Test::Nginx;
-
-###############################################################################
-
-select STDERR; $| = 1;
-select STDOUT; $| = 1;
-
-my $t = Test::Nginx->new()->has(qw/http rewrite/)->plan(9)
- ->write_file_expand('nginx.conf', <<'EOF');
-
-%%TEST_GLOBALS%%
-
-master_process off;
-daemon off;
-
-events {
-}
-
-http {
- %%TEST_GLOBALS_HTTP%%
-
- server {
- listen 127.0.0.1:8080;
- server_name localhost;
-
- location / {
- add_header X-Server $server_name;
- return 204;
- }
- }
-
- server {
- listen 127.0.0.1:8080;
- server_name www.example.com;
-
- location / {
- add_header X-Server $server_name;
- return 204;
- }
- }
-
- server {
- listen 127.0.0.1:8080;
- server_name ~^EXAMPLE\.COM$;
-
- location / {
- add_header X-Server $server_name;
- return 204;
- }
- }
-
- server {
- listen 127.0.0.1:8080;
- server_name ~^(?P.+)\Q.example.com\E$;
-
- location / {
- add_header X-Server $server_name;
- add_header X-Match $name;
- return 204;
- }
- }
-
- server {
- listen 127.0.0.1:8080;
- server_name "~^(?www\p{N}+)\.example\.com$";
-
- location / {
- add_header X-Server $server_name;
- add_header X-Match $name;
- return 204;
- }
- }
-}
-
-EOF
-
-$t->run();
-
-###############################################################################
-
-sub http_server($) {
- my ($host) = @_;
- return http(<.*).example.com named capture');
-like(http_server('BLAH.EXAMPLE.COM'), qr/X-Match: blah/,
- '(P.*).example.com named capture uppercase');
-
-like(http_server('www01.example.com'), qr/X-Match: www01/,
- '\p{N} in named capture');
-like(http_server('WWW01.EXAMPLE.COM'), qr/X-Match: www01/,
- '\p{N} in named capture uppercase');
-
-###############################################################################
diff --git a/LibOS/shim/test/apps/nginx/nginx-tests/lib/Test/Nginx.pm b/LibOS/shim/test/apps/nginx/nginx-tests/lib/Test/Nginx.pm
deleted file mode 100644
index 05faebaa..00000000
--- a/LibOS/shim/test/apps/nginx/nginx-tests/lib/Test/Nginx.pm
+++ /dev/null
@@ -1,446 +0,0 @@
-package Test::Nginx;
-
-# (C) Maxim Dounin
-
-# Generic module for nginx tests.
-
-###############################################################################
-
-use warnings;
-use strict;
-
-use base qw/ Exporter /;
-
-our @EXPORT = qw/ log_in log_out http http_get http_head /;
-our @EXPORT_OK = qw/ http_gzip_request http_gzip_like /;
-our %EXPORT_TAGS = (
- gzip => [ qw/ http_gzip_request http_gzip_like / ]
-);
-
-###############################################################################
-
-use File::Temp qw/ tempdir /;
-use IO::Socket;
-use Socket qw/ CRLF /;
-use Test::More qw//;
-
-###############################################################################
-
-our $NGINX = defined $ENV{TEST_NGINX_BINARY} ? $ENV{TEST_NGINX_BINARY}
- : '../nginx/objs/nginx';
-
-sub new {
- my $self = {};
- bless $self;
-
- $self->{_testdir} = tempdir(
- 'nginx-test-XXXXXXXXXX',
- TMPDIR => 1,
- CLEANUP => not $ENV{TEST_NGINX_LEAVE}
- )
- or die "Can't create temp directory: $!\n";
-
- return $self;
-}
-
-sub DESTROY {
- my ($self) = @_;
- $self->stop();
- $self->stop_daemons();
- if ($ENV{TEST_NGINX_CATLOG}) {
- system("cat $self->{_testdir}/error.log");
- }
-}
-
-sub has($;) {
- my ($self, @features) = @_;
-
- foreach my $feature (@features) {
- Test::More::plan(skip_all => "$feature not compiled in")
- unless $self->has_module($feature);
- }
-
- return $self;
-}
-
-sub has_module($) {
- my ($self, $feature) = @_;
-
- my %regex = (
- mail => '--with-mail(?!\S)',
- flv => '--with-http_flv_module',
- perl => '--with-http_perl_module',
- charset => '(?s)^(?!.*--without-http_charset_module)',
- gzip => '(?s)^(?!.*--without-http_gzip_module)',
- ssi => '(?s)^(?!.*--without-http_ssi_module)',
- userid => '(?s)^(?!.*--without-http_userid_module)',
- access => '(?s)^(?!.*--without-http_access_module)',
- auth_basic
- => '(?s)^(?!.*--without-http_auth_basic_module)',
- autoindex
- => '(?s)^(?!.*--without-http_autoindex_module)',
- geo => '(?s)^(?!.*--without-http_geo_module)',
- map => '(?s)^(?!.*--without-http_map_module)',
- referer => '(?s)^(?!.*--without-http_referer_module)',
- rewrite => '(?s)^(?!.*--without-http_rewrite_module)',
- proxy => '(?s)^(?!.*--without-http_proxy_module)',
- fastcgi => '(?s)^(?!.*--without-http_fastcgi_module)',
- uwsgi => '(?s)^(?!.*--without-http_uwsgi_module)',
- scgi => '(?s)^(?!.*--without-http_scgi_module)',
- memcached
- => '(?s)^(?!.*--without-http_memcached_module)',
- limit_zone
- => '(?s)^(?!.*--without-http_limit_zone_module)',
- limit_req
- => '(?s)^(?!.*--without-http_limit_req_module)',
- empty_gif
- => '(?s)^(?!.*--without-http_empty_gif_module)',
- browser => '(?s)^(?!.*--without-http_browser_module)',
- upstream_ip_hash
- => '(?s)^(?!.*--without-http_upstream_ip_hash_module)',
- http => '(?s)^(?!.*--without-http(?!\S))',
- cache => '(?s)^(?!.*--without-http-cache)',
- pop3 => '(?s)^(?!.*--without-mail_pop3_module)',
- imap => '(?s)^(?!.*--without-mail_imap_module)',
- smtp => '(?s)^(?!.*--without-mail_smtp_module)',
- pcre => '(?s)^(?!.*--without-pcre)',
- );
-
- my $re = $regex{$feature};
- $re = $feature if !defined $re;
-
- $self->{_configure_args} = `$NGINX -V 2>&1`
- if !defined $self->{_configure_args};
-
- return ($self->{_configure_args} =~ $re) ? 1 : 0;
-}
-
-sub has_daemon($) {
- my ($self, $daemon) = @_;
-
- Test::More::plan(skip_all => "$daemon not found")
- unless `which $daemon`;
-
- return $self;
-}
-
-sub plan($) {
- my ($self, $plan) = @_;
-
- Test::More::plan(tests => $plan);
-
- return $self;
-}
-
-sub run(;$) {
- my ($self, $conf) = @_;
-
- my $testdir = $self->{_testdir};
-
- if (defined $conf) {
- my $c = `cat $conf`;
- $self->write_file_expand('nginx.conf', $c);
- }
-
- my $pid = fork();
- die "Unable to fork(): $!\n" unless defined $pid;
-
- if ($pid == 0) {
- my @globals = $self->{_test_globals} ?
- () : ('-g', "pid $testdir/nginx.pid; "
- . "error_log $testdir/error.log debug;");
- exec($NGINX, '-c', "$testdir/nginx.conf", @globals)
- or die "Unable to exec(): $!\n";
- }
-
- # wait for nginx to start
-
- $self->waitforfile("$testdir/nginx.pid")
- or die "Can't start nginx";
-
- $self->{_started} = 1;
- return $self;
-}
-
-sub waitforfile($) {
- my ($self, $file) = @_;
-
- # wait for file to appear
-
- for (1 .. 30) {
- return 1 if -e $file;
- select undef, undef, undef, 0.1;
- }
-
- return undef;
-}
-
-sub waitforsocket($) {
- my ($self, $peer) = @_;
-
- # wait for socket to accept connections
-
- for (1 .. 30) {
- my $s = IO::Socket::INET->new(
- Proto => 'tcp',
- PeerAddr => $peer
- );
-
- return 1 if defined $s;
-
- select undef, undef, undef, 0.1;
- }
-
- return undef;
-}
-
-sub stop() {
- my ($self) = @_;
-
- return $self unless $self->{_started};
-
- kill 'QUIT', `cat $self->{_testdir}/nginx.pid`;
- wait;
-
- $self->{_started} = 0;
-
- return $self;
-}
-
-sub stop_daemons() {
- my ($self) = @_;
-
- while ($self->{_daemons} && scalar @{$self->{_daemons}}) {
- my $p = shift @{$self->{_daemons}};
- kill 'TERM', $p;
- wait;
- }
-
- return $self;
-}
-
-sub write_file($$) {
- my ($self, $name, $content) = @_;
-
- open F, '>' . $self->{_testdir} . '/' . $name
- or die "Can't create $name: $!";
- print F $content;
- close F;
-
- return $self;
-}
-
-sub write_file_expand($$) {
- my ($self, $name, $content) = @_;
-
- $content =~ s/%%TEST_GLOBALS%%/$self->test_globals()/gmse;
- $content =~ s/%%TEST_GLOBALS_HTTP%%/$self->test_globals_http()/gmse;
- $content =~ s/%%TESTDIR%%/$self->{_testdir}/gms;
-
- return $self->write_file($name, $content);
-}
-
-sub run_daemon($;@) {
- my ($self, $code, @args) = @_;
-
- my $pid = fork();
- die "Can't fork daemon: $!\n" unless defined $pid;
-
- if ($pid == 0) {
- if (ref($code) eq 'CODE') {
- $code->(@args);
- exit 0;
- } else {
- exec($code, @args);
- }
- }
-
- $self->{_daemons} = [] unless defined $self->{_daemons};
- push @{$self->{_daemons}}, $pid;
-
- return $self;
-}
-
-sub testdir() {
- my ($self) = @_;
- return $self->{_testdir};
-}
-
-sub test_globals() {
- my ($self) = @_;
-
- return $self->{_test_globals}
- if defined $self->{_test_globals};
-
- my $s = '';
-
- $s .= "pid $self->{_testdir}/nginx.pid;\n";
- $s .= "error_log $self->{_testdir}/error.log debug;\n";
-
- $self->{_test_globals} = $s;
-}
-
-sub test_globals_http() {
- my ($self) = @_;
-
- return $self->{_test_globals_http}
- if defined $self->{_test_globals_http};
-
- my $s = '';
-
- $s .= "root $self->{_testdir};\n";
- $s .= "access_log $self->{_testdir}/access.log;\n";
- $s .= "client_body_temp_path $self->{_testdir}/client_body_temp;\n";
-
- $s .= "fastcgi_temp_path $self->{_testdir}/fastcgi_temp;\n"
- if $self->has_module('fastcgi');
-
- $s .= "proxy_temp_path $self->{_testdir}/proxy_temp;\n"
- if $self->has_module('proxy');
-
- $s .= "uwsgi_temp_path $self->{_testdir}/uwsgi_temp;\n"
- if $self->has_module('uwsgi');
-
- $s .= "scgi_temp_path $self->{_testdir}/scgi_temp;\n"
- if $self->has_module('scgi');
-
- $self->{_test_globals_http} = $s;
-}
-
-###############################################################################
-
-sub log_core {
- return unless $ENV{TEST_NGINX_VERBOSE};
- my ($prefix, $msg) = @_;
- ($prefix, $msg) = ('', $prefix) unless defined $msg;
- $prefix .= ' ' if length($prefix) > 0;
-
- if (length($msg) > 4096) {
- $msg = substr($msg, 0, 4096)
- . "(...logged only 4096 of " . length($msg)
- . " bytes)";
- }
-
- $msg =~ s/^/# $prefix/gm;
- $msg =~ s/([^\x20-\x7e])/sprintf('\\x%02x', ord($1)) . (($1 eq "\n") ? "\n" : '')/gmxe;
- $msg .= "\n" unless $msg =~ /\n\Z/;
- print $msg;
-}
-
-sub log_out {
- log_core('>>', @_);
-}
-
-sub log_in {
- log_core('<<', @_);
-}
-
-###############################################################################
-
-sub http_get($;%) {
- my ($url, %extra) = @_;
- return http(<new(
- Proto => 'tcp',
- PeerAddr => '127.0.0.1:8080'
- );
- log_out($request);
- $s->print($request);
- local $/;
- select undef, undef, undef, $extra{sleep} if $extra{sleep};
- return '' if $extra{aborted};
- $reply = $s->getline();
- alarm(0);
- };
- alarm(0);
- if ($@) {
- log_in("died: $@");
- return undef;
- } else {
- log_in($reply);
- }
- return $reply;
-}
-
-###############################################################################
-
-sub http_gzip_request {
- my ($url) = @_;
- my $r = http(<builder->skip(
- "IO::Uncompress::Gunzip not installed", 1) if $@;
-
- my $in = http_content($text);
- my $out;
-
- IO::Uncompress::Gunzip::gunzip(\$in => \$out);
-
- Test::More->builder->like($out, $re, $name);
- }
-}
-
-###############################################################################
-
-1;
-
-###############################################################################
diff --git a/LibOS/shim/test/apps/nginx/nginx-tests/lib/Test/Nginx/IMAP.pm b/LibOS/shim/test/apps/nginx/nginx-tests/lib/Test/Nginx/IMAP.pm
deleted file mode 100644
index 4ed5b2b0..00000000
--- a/LibOS/shim/test/apps/nginx/nginx-tests/lib/Test/Nginx/IMAP.pm
+++ /dev/null
@@ -1,109 +0,0 @@
-package Test::Nginx::IMAP;
-
-# (C) Maxim Dounin
-
-# Module for nginx imap tests.
-
-###############################################################################
-
-use warnings;
-use strict;
-
-use Test::More qw//;
-use IO::Socket;
-use Socket qw/ CRLF /;
-
-use Test::Nginx;
-
-use base qw/ IO::Socket::INET /;
-
-sub new {
- my $class = shift;
-
- my $self = return $class->SUPER::new(
- Proto => "tcp",
- PeerAddr => "127.0.0.1:8143",
- @_
- )
- or die "Can't connect to nginx: $!\n";
-
- $self->autoflush(1);
-
- return $self;
-}
-
-sub send {
- my ($self, $cmd) = @_;
- log_out($cmd);
- $self->print($cmd . CRLF);
-}
-
-sub read {
- my ($self) = @_;
- eval {
- local $SIG{ALRM} = sub { die "alarm\n" };
- alarm(2);
- while (<$self>) {
- log_in($_);
- # XXX
- next if m/^\d\d\d-/;
- last;
- }
- alarm(0);
- };
- alarm(0);
- if ($@) {
- return undef;
- }
- return $_;
-}
-
-sub check {
- my ($self, $regex, $name) = @_;
- Test::More->builder->like($self->read(), $regex, $name);
-}
-
-sub ok {
- my $self = shift;
- Test::More->builder->like($self->read(), qr/^\S+ OK/, @_);
-}
-
-###############################################################################
-
-sub imap_test_daemon {
- my $server = IO::Socket::INET->new(
- Proto => 'tcp',
- LocalAddr => '127.0.0.1:8144',
- Listen => 5,
- Reuse => 1
- )
- or die "Can't create listening socket: $!\n";
-
- while (my $client = $server->accept()) {
- $client->autoflush(1);
- print $client "* OK fake imap server ready" . CRLF;
-
- while (<$client>) {
- my $tag = '';
-
- $tag = $1 if m/^(\S+)/;
- s/^(\S+)\s+//;
-
- if (/^logout/i) {
- print $client $tag . ' OK logout ok' . CRLF;
- } elsif (/^login /i) {
- print $client $tag . ' OK login ok' . CRLF;
- } else {
- print $client $tag . ' ERR unknown command' . CRLF;
- }
- }
-
- close $client;
- }
-}
-
-###############################################################################
-
-1;
-
-###############################################################################
diff --git a/LibOS/shim/test/apps/nginx/nginx-tests/lib/Test/Nginx/POP3.pm b/LibOS/shim/test/apps/nginx/nginx-tests/lib/Test/Nginx/POP3.pm
deleted file mode 100644
index aacdb884..00000000
--- a/LibOS/shim/test/apps/nginx/nginx-tests/lib/Test/Nginx/POP3.pm
+++ /dev/null
@@ -1,106 +0,0 @@
-package Test::Nginx::POP3;
-
-# (C) Maxim Dounin
-
-# Module for nginx pop3 tests.
-
-###############################################################################
-
-use warnings;
-use strict;
-
-use Test::More qw//;
-use IO::Socket;
-use Socket qw/ CRLF /;
-
-use Test::Nginx;
-
-use base qw/ IO::Socket::INET /;
-
-sub new {
- my $class = shift;
-
- my $self = return $class->SUPER::new(
- Proto => "tcp",
- PeerAddr => "127.0.0.1:8110",
- @_
- )
- or die "Can't connect to nginx: $!\n";
-
- $self->autoflush(1);
-
- return $self;
-}
-
-sub send {
- my ($self, $cmd) = @_;
- log_out($cmd);
- $self->print($cmd . CRLF);
-}
-
-sub read {
- my ($self) = @_;
- eval {
- local $SIG{ALRM} = sub { die "alarm\n" };
- alarm(2);
- while (<$self>) {
- log_in($_);
- # XXX
- next if m/^\d\d\d-/;
- last;
- }
- alarm(0);
- };
- alarm(0);
- if ($@) {
- return undef;
- }
- return $_;
-}
-
-sub check {
- my ($self, $regex, $name) = @_;
- Test::More->builder->like($self->read(), $regex, $name);
-}
-
-sub ok {
- my $self = shift;
- Test::More->builder->like($self->read(), qr/^\+OK/, @_);
-}
-
-###############################################################################
-
-sub pop3_test_daemon {
- my $server = IO::Socket::INET->new(
- Proto => 'tcp',
- LocalAddr => '127.0.0.1:8111',
- Listen => 5,
- Reuse => 1
- )
- or die "Can't create listening socket: $!\n";
-
- while (my $client = $server->accept()) {
- $client->autoflush(1);
- print $client "+OK fake pop3 server ready" . CRLF;
-
- while (<$client>) {
- if (/^quit/i) {
- print $client '+OK quit ok' . CRLF;
- } elsif (/^user test\@example.com/i) {
- print $client '+OK user ok' . CRLF;
- } elsif (/^pass secret/i) {
- print $client '+OK pass ok' . CRLF;
- } else {
- print $client "-ERR unknown command" . CRLF;
- }
- }
-
- close $client;
- }
-}
-
-###############################################################################
-
-1;
-
-###############################################################################
diff --git a/LibOS/shim/test/apps/nginx/nginx-tests/lib/Test/Nginx/SMTP.pm b/LibOS/shim/test/apps/nginx/nginx-tests/lib/Test/Nginx/SMTP.pm
deleted file mode 100644
index 713cd130..00000000
--- a/LibOS/shim/test/apps/nginx/nginx-tests/lib/Test/Nginx/SMTP.pm
+++ /dev/null
@@ -1,122 +0,0 @@
-package Test::Nginx::SMTP;
-
-# (C) Maxim Dounin
-
-# Module for nginx smtp tests.
-
-###############################################################################
-
-use warnings;
-use strict;
-
-use Test::More qw//;
-use IO::Socket;
-use Socket qw/ CRLF /;
-
-use Test::Nginx;
-
-use base qw/ IO::Socket::INET /;
-
-sub new {
- my $class = shift;
-
- my $self = return $class->SUPER::new(
- Proto => "tcp",
- PeerAddr => "127.0.0.1:8025",
- @_
- )
- or die "Can't connect to nginx: $!\n";
-
- $self->autoflush(1);
-
- return $self;
-}
-
-sub send {
- my ($self, $cmd) = @_;
- log_out($cmd);
- $self->print($cmd . CRLF);
-}
-
-sub read {
- my ($self) = @_;
- eval {
- local $SIG{ALRM} = sub { die "alarm\n" };
- alarm(2);
- while (<$self>) {
- log_in($_);
- next if m/^\d\d\d-/;
- last;
- }
- alarm(0);
- };
- alarm(0);
- if ($@) {
- return undef;
- }
- return $_;
-}
-
-sub check {
- my ($self, $regex, $name) = @_;
- Test::More->builder->like($self->read(), $regex, $name);
-}
-
-sub ok {
- my $self = shift;
- Test::More->builder->like($self->read(), qr/^2\d\d /, @_);
-}
-
-sub authok {
- my $self = shift;
- Test::More->builder->like($self->read(), qr/^235 /, @_);
-}
-
-###############################################################################
-
-sub smtp_test_daemon {
- my $server = IO::Socket::INET->new(
- Proto => 'tcp',
- LocalAddr => '127.0.0.1:8026',
- Listen => 5,
- Reuse => 1
- )
- or die "Can't create listening socket: $!\n";
-
- while (my $client = $server->accept()) {
- $client->autoflush(1);
- print $client "220 fake esmtp server ready" . CRLF;
-
- while (<$client>) {
- Test::Nginx::log_core('||', $_);
-
- if (/^quit/i) {
- print $client '221 quit ok' . CRLF;
- } elsif (/^(ehlo|helo)/i) {
- print $client '250 hello ok' . CRLF;
- } elsif (/^rset/i) {
- print $client '250 rset ok' . CRLF;
- } elsif (/^mail from:[^@]+$/i) {
- print $client '500 mail from error' . CRLF;
- } elsif (/^mail from:/i) {
- print $client '250 mail from ok' . CRLF;
- } elsif (/^rcpt to:[^@]+$/i) {
- print $client '500 rcpt to error' . CRLF;
- } elsif (/^rcpt to:/i) {
- print $client '250 rcpt to ok' . CRLF;
- } elsif (/^xclient/i) {
- print $client '220 xclient ok' . CRLF;
- } else {
- print $client "500 unknown command" . CRLF;
- }
- }
-
- close $client;
- }
-}
-
-###############################################################################
-
-1;
-
-###############################################################################
diff --git a/LibOS/shim/test/apps/nginx/nginx-tests/limit_req.t b/LibOS/shim/test/apps/nginx/nginx-tests/limit_req.t
deleted file mode 100644
index b12edf36..00000000
--- a/LibOS/shim/test/apps/nginx/nginx-tests/limit_req.t
+++ /dev/null
@@ -1,92 +0,0 @@
-#!/usr/bin/perl
-
-# (C) Maxim Dounin
-
-# Tests for nginx limit_req module.
-
-###############################################################################
-
-use warnings;
-use strict;
-
-use Test::More;
-
-BEGIN { use FindBin; chdir($FindBin::Bin); }
-
-use lib 'lib';
-use Test::Nginx;
-
-###############################################################################
-
-select STDERR; $| = 1;
-select STDOUT; $| = 1;
-
-my $t = Test::Nginx->new()->has(qw/http limit_req/)->plan(5);
-
-$t->write_file_expand('nginx.conf', <<'EOF');
-
-%%TEST_GLOBALS%%
-
-master_process off;
-daemon off;
-
-events {
-}
-
-http {
- %%TEST_GLOBALS_HTTP%%
-
- limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;
- limit_req_zone $binary_remote_addr zone=long:10m rate=1r/s;
- limit_req_zone $binary_remote_addr zone=fast:10m rate=1000r/s;
-
- server {
- listen 127.0.0.1:8080;
- server_name localhost;
- location / {
- limit_req zone=one burst=1 nodelay;
- }
- location /long {
- limit_req zone=long burst=5;
- }
- location /fast {
- limit_req zone=fast burst=1;
- }
- }
-}
-
-EOF
-
-$t->write_file('test1.html', 'XtestX');
-$t->write_file('long.html', "1234567890\n" x (1 << 16));
-$t->write_file('fast.html', 'XtestX');
-$t->run();
-
-###############################################################################
-
-like(http_get('/test1.html'), qr/^HTTP\/1.. 200 /m, 'request');
-http_get('/test1.html');
-like(http_get('/test1.html'), qr/^HTTP\/1.. 503 /m, 'request rejected');
-http_get('/test1.html');
-http_get('/test1.html');
-
-# Second request will be delayed by limit_req, make sure it isn't truncated.
-# The bug only manifests itself if buffer will be filled, so sleep for a while
-# before reading response.
-
-my $l1 = length(http_get('/long.html'));
-my $l2 = length(http_get('/long.html', sleep => 1.1));
-is($l2, $l1, 'delayed big request not truncated');
-
-# make sure rejected requests are not counted, and access is again allowed
-# after 1/rate seconds
-
-like(http_get('/test1.html'), qr/^HTTP\/1.. 200 /m, 'rejects not counted');
-
-# make sure negative excess values are handled properly
-
-http_get('/fast.html');
-select undef, undef, undef, 0.1;
-like(http_get('/fast.html'), qr/^HTTP\/1.. 200 /m, 'negative excess');
-
-###############################################################################
diff --git a/LibOS/shim/test/apps/nginx/nginx-tests/mail_imap.t b/LibOS/shim/test/apps/nginx/nginx-tests/mail_imap.t
deleted file mode 100644
index 1db91f1b..00000000
--- a/LibOS/shim/test/apps/nginx/nginx-tests/mail_imap.t
+++ /dev/null
@@ -1,127 +0,0 @@
-#!/usr/bin/perl
-
-# (C) Maxim Dounin
-
-# Tests for nginx mail imap module.
-
-###############################################################################
-
-use warnings;
-use strict;
-
-use Test::More;
-
-use IO::Socket;
-use MIME::Base64;
-use Socket qw/ CRLF /;
-
-BEGIN { use FindBin; chdir($FindBin::Bin); }
-
-use lib 'lib';
-use Test::Nginx;
-use Test::Nginx::IMAP;
-
-###############################################################################
-
-select STDERR; $| = 1;
-select STDOUT; $| = 1;
-
-local $SIG{PIPE} = 'IGNORE';
-
-my $t = Test::Nginx->new()
- ->has(qw/mail imap http rewrite/)->plan(9)
- ->run_daemon(\&Test::Nginx::IMAP::imap_test_daemon)
- ->write_file_expand('nginx.conf', <<'EOF')->run();
-
-%%TEST_GLOBALS%%
-
-master_process off;
-daemon off;
-
-events {
-}
-
-mail {
- proxy_pass_error_message on;
- auth_http http://127.0.0.1:8080/mail/auth;
-
- server {
- listen 127.0.0.1:8143;
- protocol imap;
- }
-}
-
-http {
- %%TEST_GLOBALS_HTTP%%
-
- server {
- listen 127.0.0.1:8080;
- server_name localhost;
-
- location = /mail/auth {
- set $reply ERROR;
-
- if ($http_auth_smtp_to ~ example.com) {
- set $reply OK;
- }
-
- set $userpass "$http_auth_user:$http_auth_pass";
- if ($userpass ~ '^test@example.com:secret$') {
- set $reply OK;
- }
-
- add_header Auth-Status $reply;
- add_header Auth-Server 127.0.0.1;
- add_header Auth-Port 8144;
- add_header Auth-Wait 1;
- return 204;
- }
- }
-}
-
-EOF
-
-###############################################################################
-
-my $s = Test::Nginx::IMAP->new();
-$s->ok('greeting');
-
-# bad auth
-
-$s->send('1 AUTHENTICATE');
-$s->check(qr/^\S+ BAD/, 'auth without arguments');
-
-# auth plain
-
-$s->send('1 AUTHENTICATE PLAIN ' . encode_base64("\0test\@example.com\0bad", ''));
-$s->check(qr/^\S+ NO/, 'auth plain with bad password');
-
-$s->send('1 AUTHENTICATE PLAIN ' . encode_base64("\0test\@example.com\0secret", ''));
-$s->ok('auth plain');
-
-# auth login simple
-
-$s = Test::Nginx::IMAP->new();
-$s->read();
-
-$s->send('1 AUTHENTICATE LOGIN');
-$s->check(qr/\+ VXNlcm5hbWU6/, 'auth login username challenge');
-
-$s->send(encode_base64('test@example.com', ''));
-$s->check(qr/\+ UGFzc3dvcmQ6/, 'auth login password challenge');
-
-$s->send(encode_base64('secret', ''));
-$s->ok('auth login simple');
-
-# auth login with username
-
-$s = Test::Nginx::IMAP->new();
-$s->read();
-
-$s->send('1 AUTHENTICATE LOGIN ' . encode_base64('test@example.com', ''));
-$s->check(qr/\+ UGFzc3dvcmQ6/, 'auth login with username password challenge');
-
-$s->send(encode_base64('secret', ''));
-$s->ok('auth login with username');
-
-###############################################################################
diff --git a/LibOS/shim/test/apps/nginx/nginx-tests/mail_pop3.t b/LibOS/shim/test/apps/nginx/nginx-tests/mail_pop3.t
deleted file mode 100644
index 0b64caa8..00000000
--- a/LibOS/shim/test/apps/nginx/nginx-tests/mail_pop3.t
+++ /dev/null
@@ -1,122 +0,0 @@
-#!/usr/bin/perl
-
-# (C) Maxim Dounin
-
-# Tests for nginx mail pop3 module.
-
-###############################################################################
-
-use warnings;
-use strict;
-
-use Test::More;
-
-use IO::Socket;
-use MIME::Base64;
-use Socket qw/ CRLF /;
-
-BEGIN { use FindBin; chdir($FindBin::Bin); }
-
-use lib 'lib';
-use Test::Nginx;
-use Test::Nginx::POP3;
-
-###############################################################################
-
-select STDERR; $| = 1;
-select STDOUT; $| = 1;
-
-local $SIG{PIPE} = 'IGNORE';
-
-my $t = Test::Nginx->new()
- ->has(qw/mail pop3 http rewrite/)->plan(8)
- ->run_daemon(\&Test::Nginx::POP3::pop3_test_daemon)
- ->write_file_expand('nginx.conf', <<'EOF')->run();
-
-%%TEST_GLOBALS%%
-
-master_process off;
-daemon off;
-
-events {
-}
-
-mail {
- proxy_pass_error_message on;
- auth_http http://127.0.0.1:8080/mail/auth;
-
- server {
- listen 127.0.0.1:8110;
- protocol pop3;
- }
-}
-
-http {
- %%TEST_GLOBALS_HTTP%%
-
- server {
- listen 127.0.0.1:8080;
- server_name localhost;
-
- location = /mail/auth {
- set $reply ERROR;
-
- if ($http_auth_smtp_to ~ example.com) {
- set $reply OK;
- }
-
- set $userpass "$http_auth_user:$http_auth_pass";
- if ($userpass ~ '^test@example.com:secret$') {
- set $reply OK;
- }
-
- add_header Auth-Status $reply;
- add_header Auth-Server 127.0.0.1;
- add_header Auth-Port 8111;
- add_header Auth-Wait 1;
- return 204;
- }
- }
-}
-
-EOF
-
-###############################################################################
-
-my $s = Test::Nginx::POP3->new();
-$s->ok('greeting');
-
-# auth plain
-
-$s->send('AUTH PLAIN ' . encode_base64("\0test\@example.com\0bad", ''));
-$s->check(qr/^-ERR/, 'auth plain with bad password');
-
-$s->send('AUTH PLAIN ' . encode_base64("\0test\@example.com\0secret", ''));
-$s->ok('auth plain');
-
-# auth login simple
-
-$s = Test::Nginx::POP3->new();
-$s->read();
-
-$s->send('AUTH LOGIN');
-$s->check(qr/\+ VXNlcm5hbWU6/, 'auth login username challenge');
-
-$s->send(encode_base64('test@example.com', ''));
-$s->check(qr/\+ UGFzc3dvcmQ6/, 'auth login password challenge');
-
-$s->send(encode_base64('secret', ''));
-$s->ok('auth login simple');
-
-# auth login with username
-
-$s = Test::Nginx::POP3->new();
-$s->read();
-
-$s->send('AUTH LOGIN ' . encode_base64('test@example.com', ''));
-$s->check(qr/\+ UGFzc3dvcmQ6/, 'auth login with username password challenge');
-
-$s->send(encode_base64('secret', ''));
-$s->ok('auth login with username');
-
-###############################################################################
diff --git a/LibOS/shim/test/apps/nginx/nginx-tests/mail_smtp.t b/LibOS/shim/test/apps/nginx/nginx-tests/mail_smtp.t
deleted file mode 100644
index b6f7f294..00000000
--- a/LibOS/shim/test/apps/nginx/nginx-tests/mail_smtp.t
+++ /dev/null
@@ -1,236 +0,0 @@
-#!/usr/bin/perl
-
-# (C) Maxim Dounin
-
-# Tests for nginx mail smtp module.
-
-###############################################################################
-
-use warnings;
-use strict;
-
-use Test::More;
-
-use MIME::Base64;
-use Socket qw/ CRLF /;
-
-BEGIN { use FindBin; chdir($FindBin::Bin); }
-
-use lib 'lib';
-use Test::Nginx;
-use Test::Nginx::SMTP;
-
-###############################################################################
-
-select STDERR; $| = 1;
-select STDOUT; $| = 1;
-
-local $SIG{PIPE} = 'IGNORE';
-
-my $t = Test::Nginx->new()
- ->has(qw/mail smtp http rewrite/)->plan(25)
- ->run_daemon(\&Test::Nginx::SMTP::smtp_test_daemon)
- ->write_file_expand('nginx.conf', <<'EOF')->run();
-
-%%TEST_GLOBALS%%
-
-master_process off;
-daemon off;
-
-events {
-}
-
-mail {
- proxy_pass_error_message on;
- auth_http http://127.0.0.1:8080/mail/auth;
- xclient off;
-
- server {
- listen 127.0.0.1:8025;
- protocol smtp;
- smtp_auth login plain none;
- }
-}
-
-http {
- %%TEST_GLOBALS_HTTP%%
-
- server {
- listen 127.0.0.1:8080;
- server_name localhost;
-
- location = /mail/auth {
- set $reply ERROR;
-
- if ($http_auth_smtp_to ~ example.com) {
- set $reply OK;
- }
-
- set $userpass "$http_auth_user:$http_auth_pass";
- if ($userpass ~ '^test@example.com:secret$') {
- set $reply OK;
- }
-
- add_header Auth-Status $reply;
- add_header Auth-Server 127.0.0.1;
- add_header Auth-Port 8026;
- add_header Auth-Wait 1;
- return 204;
- }
- }
-}
-
-EOF
-
-###############################################################################
-
-my $s = Test::Nginx::SMTP->new();
-$s->check(qr/^220 /, "greeting");
-
-$s->send('EHLO example.com');
-$s->check(qr/^250 /, "ehlo");
-
-$s->send('AUTH PLAIN ' . encode_base64("\0test\@example.com\0bad", ''));
-$s->check(qr/^5.. /, 'auth plain with bad password');
-
-$s->send('AUTH PLAIN ' . encode_base64("\0test\@example.com\0secret", ''));
-$s->authok('auth plain');
-
-# We are talking to backend from this point
-
-$s->send('MAIL FROM: SIZE=100');
-$s->ok('mail from after auth');
-
-$s->send('RSET');
-$s->ok('rset');
-
-$s->send('MAIL FROM: SIZE=100');
-$s->ok("idn mail from (example.test in russian)");
-
-$s->send('QUIT');
-$s->ok("quit");
-
-# Try auth login in simple form
-
-$s = Test::Nginx::SMTP->new();
-$s->read();
-$s->send('EHLO example.com');
-$s->read();
-
-$s->send('AUTH LOGIN');
-$s->check(qr/^334 VXNlcm5hbWU6/, 'auth login simple username challenge');
-$s->send(encode_base64('test@example.com', ''));
-$s->check(qr/^334 UGFzc3dvcmQ6/, 'auth login simple password challenge');
-$s->send(encode_base64('secret', ''));
-$s->authok('auth login simple');
-
-# Try auth plain with username. Details:
-#
-# [MS-XLOGIN]: SMTP Protocol AUTH LOGIN Extension Specification
-# http://download.microsoft.com/download/5/D/D/5DD33FDF-91F5-496D-9884-0A0B0EE698BB/%5BMS-XLOGIN%5D.pdf
-
-$s = Test::Nginx::SMTP->new();
-$s->read();
-$s->send('EHLO example.com');
-$s->read();
-
-$s->send('AUTH LOGIN ' . encode_base64('test@example.com', ''));
-$s->check(qr/^334 UGFzc3dvcmQ6/, 'auth login with username password challenge');
-$s->send(encode_base64('secret', ''));
-$s->authok('auth login with username');
-
-# Try auth plain with pipelining
-
-TODO: {
-local $TODO = 'pipelining not in official nginx';
-local $SIG{__WARN__} = sub {};
-
-$s = Test::Nginx::SMTP->new();
-$s->read();
-$s->send('EHLO example.com');
-$s->read();
-
-$s->send('INVALID COMMAND WITH ARGUMENTS' . CRLF
- . 'RSET');
-$s->read();
-$s->ok('pipelined rset after invalid command');
-
-$s->send('AUTH PLAIN '
- . encode_base64("\0test\@example.com\0bad", '') . CRLF
- . 'MAIL FROM: SIZE=100');
-$s->read();
-$s->ok('mail from after failed pipelined auth');
-
-$s->send('AUTH PLAIN '
- . encode_base64("\0test\@example.com\0secret", '') . CRLF
- . 'MAIL FROM: SIZE=100');
-$s->read();
-$s->ok('mail from after pipelined auth');
-
-}
-
-# Try auth none
-
-$s = Test::Nginx::SMTP->new();
-$s->read();
-$s->send('EHLO example.com');
-$s->read();
-
-$s->send('MAIL FROM: SIZE=100');
-$s->ok('auth none - mail from');
-
-$s->send('RCPT TO:');
-$s->ok('auth none - rcpt to');
-
-$s->send('RSET');
-$s->ok('auth none - rset, should go to backend');
-
-# Auth none with pipelining
-
-$s = Test::Nginx::SMTP->new();
-$s->read();
-$s->send('EHLO example.com');
-$s->read();
-
-$s->send('MAIL FROM: SIZE=100' . CRLF
- . 'RCPT TO:' . CRLF
- . 'RSET');
-
-$s->ok('pipelined mail from');
-
-TODO: {
-local $TODO = 'pipelining not in official nginx';
-local $SIG{__WARN__} = sub {};
-
-$s->ok('pipelined rcpt to');
-$s->ok('pipelined rset');
-
-}
-
-# Connection must stay even if error returned to rcpt to command
-
-$s = Test::Nginx::SMTP->new();
-$s->read();
-$s->send('EHLO example.com');
-$s->read();
-
-$s->send('MAIL FROM: SIZE=100');
-$s->read(); # skip mail from reply
-
-$s->send('RCPT TO:');
-$s->check(qr/^5.. /, "bad rcpt to");
-
-$s->send('RCPT TO:');
-$s->ok('good rcpt to');
-
-# Make sure command splitted into many packets processed correctly
-
-$s = Test::Nginx::SMTP->new();
-$s->read();
-
-log_out('HEL');
-$s->print('HEL');
-$s->send('O example.com');
-$s->ok('splitted command');
-
-###############################################################################
diff --git a/LibOS/shim/test/apps/nginx/nginx-tests/mail_smtp_greeting_delay.t b/LibOS/shim/test/apps/nginx/nginx-tests/mail_smtp_greeting_delay.t
deleted file mode 100644
index 1a016e7e..00000000
--- a/LibOS/shim/test/apps/nginx/nginx-tests/mail_smtp_greeting_delay.t
+++ /dev/null
@@ -1,70 +0,0 @@
-#!/usr/bin/perl
-
-# (C) Maxim Dounin
-
-###############################################################################
-
-use warnings;
-use strict;
-
-use Test::More;
-
-BEGIN { use FindBin; chdir($FindBin::Bin); }
-
-use lib 'lib';
-use Test::Nginx;
-use Test::Nginx::SMTP;
-
-###############################################################################
-
-select STDERR; $| = 1;
-select STDOUT; $| = 1;
-
-local $SIG{PIPE} = 'IGNORE';
-
-my $t = Test::Nginx->new()->has(qw/mail smtp http/)->plan(2)
- ->write_file_expand('nginx.conf', <<'EOF')->run();
-
-%%TEST_GLOBALS%%
-
-master_process off;
-daemon off;
-
-events {
-}
-
-mail {
- proxy_pass_error_message on;
- auth_http http://127.0.0.1:8080/mail/auth;
- xclient off;
-
- server {
- listen 127.0.0.1:8025;
- protocol smtp;
- smtp_greeting_delay 100ms;
- }
-}
-
-http {
- # stub to avoid SIGSEGV when perl module compiled in, <= 0.7.30
-}
-
-EOF
-
-###############################################################################
-
-# With smtp_greeting_delay session expected to be closed after first error
-# message if client sent something before greeting.
-
-my $s = Test::Nginx::SMTP->new();
-$s->send('HELO example.com');
-$s->check(qr/^5.. /, "command before greeting - session must be rejected");
-
-TODO: {
-local $TODO = 'not in official nginx yet';
-
-ok($s->eof(), "session have to be closed");
-
-}
-
-###############################################################################
diff --git a/LibOS/shim/test/apps/nginx/nginx-tests/mail_smtp_xclient.t b/LibOS/shim/test/apps/nginx/nginx-tests/mail_smtp_xclient.t
deleted file mode 100644
index 2fd6ebf4..00000000
--- a/LibOS/shim/test/apps/nginx/nginx-tests/mail_smtp_xclient.t
+++ /dev/null
@@ -1,141 +0,0 @@
-#!/usr/bin/perl
-
-# (C) Maxim Dounin
-
-###############################################################################
-
-use warnings;
-use strict;
-
-use Test::More;
-
-use MIME::Base64;
-use Socket qw/ CRLF /;
-
-BEGIN { use FindBin; chdir($FindBin::Bin); }
-
-use lib 'lib';
-use Test::Nginx;
-use Test::Nginx::SMTP;
-
-###############################################################################
-
-select STDERR; $| = 1;
-select STDOUT; $| = 1;
-
-local $SIG{PIPE} = 'IGNORE';
-
-my $t = Test::Nginx->new()->has(qw/mail smtp http rewrite/)->plan(6)
- ->run_daemon(\&Test::Nginx::SMTP::smtp_test_daemon)
- ->write_file_expand('nginx.conf', <<'EOF')->run();
-
-%%TEST_GLOBALS%%
-
-master_process off;
-daemon off;
-
-events {
-}
-
-mail {
- proxy_pass_error_message on;
- auth_http http://127.0.0.1:8080/mail/auth;
- xclient on;
-
- server {
- listen 127.0.0.1:8025;
- protocol smtp;
- smtp_auth login plain none;
- }
-}
-
-http {
- %%TEST_GLOBALS_HTTP%%
-
- server {
- listen 127.0.0.1:8080;
- server_name localhost;
-
- location = /mail/auth {
- add_header Auth-Status OK;
- add_header Auth-Server 127.0.0.1;
- add_header Auth-Port 8026;
- add_header Auth-Wait 1;
- return 204;
- }
- }
-}
-
-EOF
-
-###############################################################################
-
-# When XCLIENT's HELO= argument isn't used, the following combinations may be
-# send to backend with xclient on:
-#
-# xclient
-# xclient, helo
-# xclient, ehlo
-# xclient, from, rcpt
-# xclient, helo, from, rcpt
-# xclient, ehlo, from, rcpt
-#
-# Test them in order.
-
-# xclient
-
-my $s = Test::Nginx::SMTP->new();
-$s->read();
-$s->send('AUTH PLAIN ' . encode_base64("\0test\@example.com\0secret", ''));
-$s->authok('xclient');
-
-# xclient, helo
-
-$s = Test::Nginx::SMTP->new();
-$s->read();
-$s->send('HELO example.com');
-$s->read();
-$s->send('AUTH PLAIN ' . encode_base64("\0test\@example.com\0secret", ''));
-$s->authok('xclient, helo');
-
-# xclient, ehlo
-
-$s = Test::Nginx::SMTP->new();
-$s->read();
-$s->send('EHLO example.com');
-$s->read();
-$s->send('AUTH PLAIN ' . encode_base64("\0test\@example.com\0secret", ''));
-$s->authok('xclient, ehlo');
-
-# xclient, from, rcpt
-
-$s = Test::Nginx::SMTP->new();
-$s->read();
-$s->send('MAIL FROM:');
-$s->read();
-$s->send('RCPT TO:');
-$s->ok('xclient, from');
-
-# xclient, helo, from, rcpt
-
-$s = Test::Nginx::SMTP->new();
-$s->read();
-$s->send('HELO example.com');
-$s->read();
-$s->send('MAIL FROM:');
-$s->read();
-$s->send('RCPT TO:');
-$s->ok('xclient, helo, from');
-
-# xclient, ehlo, from, rcpt
-
-$s = Test::Nginx::SMTP->new();
-$s->read();
-$s->send('EHLO example.com');
-$s->read();
-$s->send('MAIL FROM:');
-$s->read();
-$s->send('RCPT TO:');
-$s->ok('xclient, ehlo, from');
-
-###############################################################################
diff --git a/LibOS/shim/test/apps/nginx/nginx-tests/memcached.t b/LibOS/shim/test/apps/nginx/nginx-tests/memcached.t
deleted file mode 100644
index fa7622b4..00000000
--- a/LibOS/shim/test/apps/nginx/nginx-tests/memcached.t
+++ /dev/null
@@ -1,93 +0,0 @@
-#!/usr/bin/perl
-
-# (C) Maxim Dounin
-
-# Test for memcached backend.
-
-###############################################################################
-
-use warnings;
-use strict;
-
-use Test::More;
-
-BEGIN { use FindBin; chdir($FindBin::Bin); }
-
-use lib 'lib';
-use Test::Nginx;
-
-###############################################################################
-
-select STDERR; $| = 1;
-select STDOUT; $| = 1;
-
-eval { require Cache::Memcached; };
-plan(skip_all => 'Cache::Memcached not installed') if $@;
-
-my $t = Test::Nginx->new()->has(qw/http rewrite memcached/)
- ->has_daemon('memcached')->plan(4)
- ->write_file_expand('nginx.conf', <<'EOF');
-
-%%TEST_GLOBALS%%
-
-master_process off;
-daemon off;
-
-events {
-}
-
-http {
- %%TEST_GLOBALS_HTTP%%
-
- server {
- listen 127.0.0.1:8080;
- server_name localhost;
-
- location / {
- set $memcached_key $uri;
- memcached_pass 127.0.0.1:8081;
- }
-
- location /next {
- set $memcached_key $uri;
- memcached_next_upstream not_found;
- memcached_pass 127.0.0.1:8081;
- }
- }
-}
-
-EOF
-
-my $memhelp = `memcached -h`;
-my @memopts = ();
-
-if ($memhelp =~ /repcached/) {
- # repcached patch adds additional listen socket
- push @memopts, '-X', '8082';
-}
-if ($memhelp =~ /-U/) {
- # UDP port is on by default in memcached 1.2.7+
- push @memopts, '-U', '0';
-}
-
-$t->run_daemon('memcached', '-l', '127.0.0.1', '-p', '8081', @memopts);
-$t->run();
-
-$t->waitforsocket('127.0.0.1:8081')
- or die "Can't start memcached";
-
-###############################################################################
-
-my $memd = Cache::Memcached->new(servers => [ '127.0.0.1:8081' ]);
-$memd->set('/', 'SEE-THIS')
- or die "can't put value into memcached: $!";
-
-like(http_get('/'), qr/SEE-THIS/, 'memcached request');
-
-like(http_get('/notfound'), qr/404/, 'memcached not found');
-
-like(http_get('/next'), qr/404/, 'not found with memcached_next_upstream');
-
-unlike(http_head('/'), qr/SEE-THIS/, 'memcached no data in HEAD');
-
-###############################################################################
diff --git a/LibOS/shim/test/apps/nginx/nginx-tests/memcached_fake.t b/LibOS/shim/test/apps/nginx/nginx-tests/memcached_fake.t
deleted file mode 100644
index 24be9f4f..00000000
--- a/LibOS/shim/test/apps/nginx/nginx-tests/memcached_fake.t
+++ /dev/null
@@ -1,99 +0,0 @@
-#!/usr/bin/perl
-
-# (C) Maxim Dounin
-
-# Test for memcached backend with fake daemon.
-
-###############################################################################
-
-use warnings;
-use strict;
-
-use Test::More;
-use Socket qw/ CRLF /;
-
-BEGIN { use FindBin; chdir($FindBin::Bin); }
-
-use lib 'lib';
-use Test::Nginx;
-
-###############################################################################
-
-select STDERR; $| = 1;
-select STDOUT; $| = 1;
-
-my $t = Test::Nginx->new()->has(qw/http rewrite memcached ssi/)->plan(3)
- ->write_file_expand('nginx.conf', <<'EOF');
-
-%%TEST_GLOBALS%%
-
-master_process off;
-daemon off;
-
-events {
-}
-
-http {
- %%TEST_GLOBALS_HTTP%%
-
- server {
- listen 127.0.0.1:8080;
- server_name localhost;
-
- location / {
- set $memcached_key $uri;
- memcached_pass 127.0.0.1:8081;
- }
-
- location /ssi {
- default_type text/html;
- ssi on;
- }
- }
-}
-
-EOF
-
-$t->write_file('ssi.html', 'blah: ');
-$t->run_daemon(\&memcached_fake_daemon);
-$t->run();
-
-###############################################################################
-
-like(http_get('/'), qr/SEE-THIS/, 'memcached split trailer');
-
-like(http_get('/ssi.html'), qr/SEE-THIS/, 'memcached ssi var');
-
-like(`grep -F '[error]' ${\($t->testdir())}/error.log`, qr/^$/s, 'no error');
-
-###############################################################################
-
-sub memcached_fake_daemon {
- my $server = IO::Socket::INET->new(
- Proto => 'tcp',
- LocalAddr => '127.0.0.1:8081',
- Listen => 5,
- Reuse => 1
- )
- or die "Can't create listening socket: $!\n";
-
- while (my $client = $server->accept()) {
- $client->autoflush(1);
-
- while (<$client>) {
- last if (/\x0d\x0a$/);
- }
-
- print $client 'VALUE / 0 8' . CRLF;
- print $client 'SEE-TH';
- select(undef, undef, undef, 0.1);
- print $client 'IS';
- select(undef, undef, undef, 0.1);
- print $client CRLF . 'EN';
- select(undef, undef, undef, 0.1);
- print $client 'D' . CRLF;
- close $client;
- }
-}
-
-###############################################################################
diff --git a/LibOS/shim/test/apps/nginx/nginx-tests/not_modified.t b/LibOS/shim/test/apps/nginx/nginx-tests/not_modified.t
deleted file mode 100644
index 38f44062..00000000
--- a/LibOS/shim/test/apps/nginx/nginx-tests/not_modified.t
+++ /dev/null
@@ -1,82 +0,0 @@
-#!/usr/bin/perl
-
-# (C) Maxim Dounin
-
-# Tests for not modified filter module.
-
-###############################################################################
-
-use warnings;
-use strict;
-
-use Test::More;
-
-BEGIN { use FindBin; chdir($FindBin::Bin); }
-
-use lib 'lib';
-use Test::Nginx;
-
-###############################################################################
-
-select STDERR; $| = 1;
-select STDOUT; $| = 1;
-
-my $t = Test::Nginx->new()->has('http')->plan(4)
- ->write_file_expand('nginx.conf', <<'EOF');
-
-%%TEST_GLOBALS%%
-
-master_process off;
-daemon off;
-
-events {
-}
-
-http {
- %%TEST_GLOBALS_HTTP%%
-
- server {
- listen 127.0.0.1:8080;
- server_name localhost;
-
- location / {
- if_modified_since before;
- }
- }
-}
-
-EOF
-
-$t->write_file('t', '');
-
-$t->run();
-
-###############################################################################
-
-like(http_get_ims('/t', 'Wed, 08 Jul 2037 22:53:52 GMT'), qr/304/,
- '0x7F000000');
-like(http_get_ims('/t', 'Tue, 19 Jan 2038 03:14:07 GMT'), qr/304/,
- '0x7FFFFFFF');
-
-SKIP: {
- skip "only for 32-bit time_t", 2 if (gmtime(0xFFFFFFFF))[5] == 206;
-
- like(http_get_ims('/t', 'Tue, 19 Jan 2038 03:14:08 GMT'), qr/200/,
- '0x7FFFFFFF + 1');
- like(http_get_ims('/t', 'Fri, 25 Feb 2174 09:42:23 GMT'), qr/200/,
- '0x17FFFFFFF');
-}
-
-###############################################################################
-
-sub http_get_ims {
- my ($url, $ims) = @_;
- return http(<new()->has(qw/http perl rewrite/)->plan(1)
- ->write_file_expand('nginx.conf', <<'EOF');
-
-%%TEST_GLOBALS%%
-
-master_process off;
-daemon off;
-
-events {
-}
-
-http {
- %%TEST_GLOBALS_HTTP%%
-
- server {
- listen 127.0.0.1:8080;
- server_name localhost;
-
- location / {
- set $testvar "TEST";
- perl 'sub {
- use warnings;
- use strict;
-
- my $r = shift;
-
- $r->send_http_header("text/plain");
-
- return OK if $r->header_only;
-
- my $v = $r->variable("testvar");
-
- $r->print("$v");
-
- return OK;
- }';
- }
- }
-}
-
-EOF
-
-$t->run();
-
-###############################################################################
-
-like(http_get('/'), qr/TEST/, 'perl response');
-
-###############################################################################
diff --git a/LibOS/shim/test/apps/nginx/nginx-tests/perl_gzip.t b/LibOS/shim/test/apps/nginx/nginx-tests/perl_gzip.t
deleted file mode 100644
index c8e63a19..00000000
--- a/LibOS/shim/test/apps/nginx/nginx-tests/perl_gzip.t
+++ /dev/null
@@ -1,90 +0,0 @@
-#!/usr/bin/perl
-
-# (C) Maxim Dounin
-
-# Tests for embedded perl module.
-
-###############################################################################
-
-use warnings;
-use strict;
-
-use Test::More;
-
-BEGIN { use FindBin; chdir($FindBin::Bin); }
-
-use lib 'lib';
-use Test::Nginx qw/ :DEFAULT :gzip /;
-
-###############################################################################
-
-select STDERR; $| = 1;
-select STDOUT; $| = 1;
-
-eval { require IO::Compress::Gzip; };
-Test::More::plan(skip_all => "IO::Compress::Gzip not found") if $@;
-
-my $t = Test::Nginx->new()->has(qw/http perl gzip/)->plan(2)
- ->write_file_expand('nginx.conf', <<'EOF');
-
-%%TEST_GLOBALS%%
-
-master_process off;
-daemon off;
-
-events {
-}
-
-http {
- %%TEST_GLOBALS_HTTP%%
-
- server {
- listen 127.0.0.1:8080;
- server_name localhost;
-
- gzip on;
- gzip_types text/plain;
-
- location / {
- perl 'sub {
- my $r = shift;
- $r->send_http_header("text/plain");
- return OK if $r->header_only;
- $r->print("TEST");
- return OK;
- }';
- }
-
- location /gz {
- perl 'sub {
- my $r = shift;
- $r->header_out("Content-Encoding", "gzip");
- $r->send_http_header("text/plain");
- return OK if $r->header_only;
- use IO::Compress::Gzip;
- my $in = "TEST";
- my $out;
- IO::Compress::Gzip::gzip(\\$in => \\$out);
- $r->print($out);
- return OK;
- }';
- }
- }
-}
-
-EOF
-
-$t->run();
-
-###############################################################################
-
-http_gzip_like(http_gzip_request('/'), qr/TEST/, 'perl response gzipped');
-
-TODO: {
-local $TODO = 'patch pending';
-
-http_gzip_like(http_gzip_request('/gz'), qr/TEST/, 'not doublegzipped');
-
-}
-
-###############################################################################
diff --git a/LibOS/shim/test/apps/nginx/nginx-tests/proxy.t b/LibOS/shim/test/apps/nginx/nginx-tests/proxy.t
deleted file mode 100644
index 2a895d4e..00000000
--- a/LibOS/shim/test/apps/nginx/nginx-tests/proxy.t
+++ /dev/null
@@ -1,121 +0,0 @@
-#!/usr/bin/perl
-
-# (C) Maxim Dounin
-
-# Tests for http proxy module.
-
-###############################################################################
-
-use warnings;
-use strict;
-
-use Test::More;
-
-BEGIN { use FindBin; chdir($FindBin::Bin); }
-
-use lib 'lib';
-use Test::Nginx;
-
-###############################################################################
-
-select STDERR; $| = 1;
-select STDOUT; $| = 1;
-
-my $t = Test::Nginx->new()->has(qw/http proxy/)->plan(3);
-
-$t->write_file_expand('nginx.conf', <<'EOF');
-
-%%TEST_GLOBALS%%
-
-master_process off;
-daemon off;
-
-events {
-}
-
-http {
- %%TEST_GLOBALS_HTTP%%
-
- server {
- listen 127.0.0.1:8080;
- server_name localhost;
-
- location / {
- proxy_pass http://127.0.0.1:8081;
- proxy_read_timeout 1s;
- }
- }
-}
-
-EOF
-
-$t->run_daemon(\&http_daemon);
-$t->run();
-
-###############################################################################
-
-like(http_get('/'), qr/SEE-THIS/, 'proxy request');
-like(http_get('/multi'), qr/AND-THIS/, 'proxy request with multiple packets');
-
-unlike(http_head('/'), qr/SEE-THIS/, 'proxy head request');
-
-###############################################################################
-
-sub http_daemon {
- my $server = IO::Socket::INET->new(
- Proto => 'tcp',
- LocalHost => '127.0.0.1:8081',
- Listen => 5,
- Reuse => 1
- )
- or die "Can't create listening socket: $!\n";
-
- while (my $client = $server->accept()) {
- $client->autoflush(1);
-
- my $headers = '';
- my $uri = '';
-
- while (<$client>) {
- $headers .= $_;
- last if (/^\x0d?\x0a?$/);
- }
-
- $uri = $1 if $headers =~ /^\S+\s+([^ ]+)\s+HTTP/i;
-
- if ($uri eq '/') {
- print $client <<'EOF';
-HTTP/1.1 200 OK
-Connection: close
-
-EOF
- print $client "TEST-OK-IF-YOU-SEE-THIS"
- unless $headers =~ /^HEAD/i;
-
- } elsif ($uri eq '/multi') {
-
- print $client <<"EOF";
-HTTP/1.1 200 OK
-Connection: close
-
-TEST-OK-IF-YOU-SEE-THIS
-EOF
-
- select undef, undef, undef, 0.1;
- print $client 'AND-THIS';
-
- } else {
-
- print $client <<"EOF";
-HTTP/1.1 404 Not Found
-Connection: close
-
-Oops, '$uri' not found
-EOF
- }
-
- close $client;
- }
-}
-
-###############################################################################
diff --git a/LibOS/shim/test/apps/nginx/nginx-tests/proxy_cache.t b/LibOS/shim/test/apps/nginx/nginx-tests/proxy_cache.t
deleted file mode 100644
index 2a0c3908..00000000
--- a/LibOS/shim/test/apps/nginx/nginx-tests/proxy_cache.t
+++ /dev/null
@@ -1,174 +0,0 @@
-#!/usr/bin/perl
-
-# (C) Maxim Dounin
-
-# Tests for http proxy cache.
-
-###############################################################################
-
-use warnings;
-use strict;
-
-use Test::More;
-
-BEGIN { use FindBin; chdir($FindBin::Bin); }
-
-use lib 'lib';
-use Test::Nginx qw/ :DEFAULT :gzip /;
-
-###############################################################################
-
-select STDERR; $| = 1;
-select STDOUT; $| = 1;
-
-my $t = Test::Nginx->new()->has(qw/http proxy cache gzip/)->plan(12)
- ->write_file_expand('nginx.conf', <<'EOF');
-
-%%TEST_GLOBALS%%
-
-master_process off;
-daemon off;
-
-events {
-}
-
-http {
- %%TEST_GLOBALS_HTTP%%
-
- proxy_cache_path %%TESTDIR%%/cache levels=1:2
- keys_zone=NAME:10m;
-
- server {
- listen 127.0.0.1:8080;
- server_name localhost;
-
- gzip on;
- gzip_min_length 0;
-
- location / {
- proxy_pass http://127.0.0.1:8081;
-
- proxy_cache NAME;
-
- proxy_cache_valid 200 302 1s;
- proxy_cache_valid 301 1d;
- proxy_cache_valid any 1m;
-
- proxy_cache_min_uses 1;
-
- proxy_cache_use_stale error timeout invalid_header http_500
- http_404;
- }
-
- location /fake/ {
- proxy_pass http://127.0.0.1:8082;
- proxy_cache NAME;
- }
- }
- server {
- listen 127.0.0.1:8081;
- server_name localhost;
-
- location / {
- }
- }
-}
-
-EOF
-
-$t->write_file('t.html', 'SEE-THIS');
-$t->write_file('t2.html', 'SEE-THIS');
-$t->write_file('empty.html', '');
-$t->run_daemon(\&http_fake_daemon);
-$t->run();
-
-###############################################################################
-
-like(http_get('/t.html'), qr/SEE-THIS/, 'proxy request');
-
-$t->write_file('t.html', 'NOOP');
-like(http_get('/t.html'), qr/SEE-THIS/, 'proxy request cached');
-
-unlike(http_head('/t2.html'), qr/SEE-THIS/, 'head request');
-like(http_get('/t2.html'), qr/SEE-THIS/, 'get after head');
-unlike(http_head('/t2.html'), qr/SEE-THIS/, 'head after get');
-
-like(http_get_range('/t.html', 'Range: bytes=4-'), qr/^THIS/m, 'cached range');
-like(http_get_range('/t.html', 'Range: bytes=0-2,4-'), qr/^SEE.*^THIS/ms,
- 'cached multipart range');
-
-like(http_get('/empty.html'), qr/HTTP/, 'empty get first');
-like(http_get('/empty.html'), qr/HTTP/, 'empty get second');
-
-{
-local $TODO = 'not fixed yet';
-
-sleep(2);
-unlink $t->testdir() . '/t.html';
-like(http_gzip_request('/t.html'),
- qr/HTTP.*1c\x0d\x0a.{28}\x0d\x0a0\x0d\x0a\x0d\x0a\z/s,
- 'non-empty get stale');
-}
-
-{
-local $TODO = 'broken in 0.8.31';
-
-unlink $t->testdir() . '/empty.html';
-like(http_gzip_request('/empty.html'),
- qr/HTTP.*14\x0d\x0a.{20}\x0d\x0a0\x0d\x0a\x0d\x0a\z/s,
- 'empty get stale');
-}
-
-{
-local $TODO = 'patch pending';
-
-http_get('/fake/unfinished');
-like(http_get('/fake/unfinished'), qr/unfinished 2/, 'unfinished not cached');
-}
-
-###############################################################################
-
-sub http_get_range {
- my ($url, $extra) = @_;
- return http(<new(
- Proto => 'tcp',
- LocalAddr => '127.0.0.1:8082',
- Listen => 5,
- Reuse => 1
- )
- or die "Can't create listening socket: $!\n";
-
- my $num = 0;
-
- while (my $client = $server->accept()) {
- $client->autoflush(1);
-
- while (<$client>) {
- last if (/^\x0d?\x0a?$/);
- }
-
- $num++;
- print $client <<"EOF";
-HTTP/1.1 200 OK
-Content-Length: 100
-Cache-Control: max-age=300
-Connection: close
-
-unfinished $num
-EOF
- }
-}
-
-###############################################################################
diff --git a/LibOS/shim/test/apps/nginx/nginx-tests/proxy_chunked.t b/LibOS/shim/test/apps/nginx/nginx-tests/proxy_chunked.t
deleted file mode 100644
index e626c080..00000000
--- a/LibOS/shim/test/apps/nginx/nginx-tests/proxy_chunked.t
+++ /dev/null
@@ -1,116 +0,0 @@
-#!/usr/bin/perl
-
-# (C) Maxim Dounin
-
-# Test for http backend returning response with Transfer-Encoding: chunked.
-
-# Since nginx uses HTTP/1.0 in requests to backend it's backend bug, but we
-# want to handle this gracefully. And anyway chunked support will be required
-# for HTTP/1.1 backend connections.
-
-###############################################################################
-
-use warnings;
-use strict;
-
-use Test::More;
-
-use IO::Select;
-
-BEGIN { use FindBin; chdir($FindBin::Bin); }
-
-use lib 'lib';
-use Test::Nginx;
-
-###############################################################################
-
-select STDERR; $| = 1;
-select STDOUT; $| = 1;
-
-my $t = Test::Nginx->new()->has(qw/http proxy ssi/)->plan(3);
-
-$t->write_file_expand('nginx.conf', <<'EOF');
-
-%%TEST_GLOBALS%%
-
-master_process off;
-daemon off;
-
-events {
-}
-
-http {
- %%TEST_GLOBALS_HTTP%%
-
- server {
- listen 127.0.0.1:8080;
- server_name localhost;
-
- location / {
- proxy_pass http://127.0.0.1:8081;
- proxy_read_timeout 1s;
- }
- location /nobuffering {
- proxy_pass http://127.0.0.1:8081;
- proxy_read_timeout 1s;
- proxy_buffering off;
- }
- location /inmemory.html {
- ssi on;
- }
- }
-}
-
-EOF
-
-$t->write_file('inmemory.html',
- '');
-
-$t->run_daemon(\&http_chunked_daemon);
-$t->run();
-
-###############################################################################
-
-{
-local $TODO = 'not yet';
-
-like(http_get('/'), qr/\x0d\x0aSEE-THIS$/s, 'chunked');
-like(http_get('/nobuffering'), qr/\x0d\x0aSEE-THIS$/s, 'chunked nobuffering');
-like(http_get('/inmemory.html'), qr/\x0d\x0aSEE-THIS$/s, 'chunked inmemory');
-}
-
-###############################################################################
-
-sub http_chunked_daemon {
- my $server = IO::Socket::INET->new(
- Proto => 'tcp',
- LocalAddr => '127.0.0.1:8081',
- Listen => 5,
- Reuse => 1
- )
- or die "Can't create listening socket: $!\n";
-
- while (my $client = $server->accept()) {
- $client->autoflush(1);
-
- while (<$client>) {
- last if (/^\x0d?\x0a?$/);
- }
-
- print $client <<'EOF';
-HTTP/1.1 200 OK
-Connection: close
-Transfer-Encoding: chunked
-
-9
-SEE-THIS
-
-0
-
-EOF
-
- close $client;
- }
-}
-
-###############################################################################
diff --git a/LibOS/shim/test/apps/nginx/nginx-tests/proxy_noclose.t b/LibOS/shim/test/apps/nginx/nginx-tests/proxy_noclose.t
deleted file mode 100644
index e69e9e3d..00000000
--- a/LibOS/shim/test/apps/nginx/nginx-tests/proxy_noclose.t
+++ /dev/null
@@ -1,149 +0,0 @@
-#!/usr/bin/perl
-
-# (C) Maxim Dounin
-
-# Test for http backend not closing connection properly after sending full
-# reply. This is in fact backend bug, but it seems common, and anyway
-# correct handling is required to support persistent connections.
-
-# There are actually 2 nginx problems here:
-#
-# 1. It doesn't send reply in-time even if got Content-Length and all the data.
-#
-# 2. If upstream times out some data may be left in input buffer and won't be
-# sent to downstream.
-
-###############################################################################
-
-use warnings;
-use strict;
-
-use Test::More;
-
-use IO::Select;
-
-BEGIN { use FindBin; chdir($FindBin::Bin); }
-
-use lib 'lib';
-use Test::Nginx;
-
-###############################################################################
-
-select STDERR; $| = 1;
-select STDOUT; $| = 1;
-
-my $t = Test::Nginx->new()->has(qw/http proxy/)->plan(4);
-
-$t->write_file_expand('nginx.conf', <<'EOF');
-
-%%TEST_GLOBALS%%
-
-master_process off;
-daemon off;
-
-events {
-}
-
-http {
- %%TEST_GLOBALS_HTTP%%
-
- server {
- listen 127.0.0.1:8080;
- server_name localhost;
-
- location / {
- proxy_pass http://127.0.0.1:8081;
- proxy_read_timeout 1s;
- }
-
- location /uselen {
- proxy_pass http://127.0.0.1:8081;
-
- # test will wait only 2s for reply, we it will fail if
- # Content-Length not used as a hint
-
- proxy_read_timeout 10s;
- }
- }
-}
-
-EOF
-
-$t->run_daemon(\&http_noclose_daemon);
-$t->run();
-
-###############################################################################
-
-TODO: {
-local $TODO = 'not fixed yet, patches under review';
-local $SIG{__WARN__} = sub {};
-
-like(http_get('/'), qr/SEE-THIS/, 'request to bad backend');
-like(http_get('/multi'), qr/AND-THIS/, 'bad backend - multiple packets');
-like(http_get('/nolen'), qr/SEE-THIS/, 'bad backend - no content length');
-like(http_get('/uselen'), qr/SEE-THIS/, 'content-length actually used');
-
-}
-
-###############################################################################
-
-sub http_noclose_daemon {
- my $server = IO::Socket::INET->new(
- Proto => 'tcp',
- LocalAddr => '127.0.0.1:8081',
- Listen => 5,
- Reuse => 1
- )
- or die "Can't create listening socket: $!\n";
-
- while (my $client = $server->accept()) {
- $client->autoflush(1);
-
- my $multi = 0;
- my $nolen = 0;
-
- while (<$client>) {
- $multi = 1 if /multi/;
- $nolen = 1 if /nolen/;
- last if (/^\x0d?\x0a?$/);
- }
-
- if ($nolen) {
-
- print $client <<'EOF';
-HTTP/1.1 200 OK
-Connection: close
-
-TEST-OK-IF-YOU-SEE-THIS
-EOF
- } elsif ($multi) {
-
- print $client <<"EOF";
-HTTP/1.1 200 OK
-Content-Length: 32
-Connection: close
-
-TEST-OK-IF-YOU-SEE-THIS
-EOF
-
- select undef, undef, undef, 0.1;
- print $client 'AND-THIS';
-
- } else {
-
- print $client <<"EOF";
-HTTP/1.1 200 OK
-Content-Length: 24
-Connection: close
-
-TEST-OK-IF-YOU-SEE-THIS
-EOF
- }
-
- my $select = IO::Select->new($client);
- $select->can_read(10);
- close $client;
- }
-}
-
-###############################################################################
diff --git a/LibOS/shim/test/apps/nginx/nginx-tests/proxy_store.t b/LibOS/shim/test/apps/nginx/nginx-tests/proxy_store.t
deleted file mode 100644
index 6a86ece6..00000000
--- a/LibOS/shim/test/apps/nginx/nginx-tests/proxy_store.t
+++ /dev/null
@@ -1,103 +0,0 @@
-#!/usr/bin/perl
-
-# (C) Maxim Dounin
-
-# Tests for proxy_store functionality.
-
-###############################################################################
-
-use warnings;
-use strict;
-
-use Test::More;
-
-BEGIN { use FindBin; chdir($FindBin::Bin); }
-
-use lib 'lib';
-use Test::Nginx;
-
-###############################################################################
-
-select STDERR; $| = 1;
-select STDOUT; $| = 1;
-
-my $t = Test::Nginx->new();
-
-$t->write_file_expand('nginx.conf', <<'EOF')->has(qw/http proxy ssi/)->plan(7);
-
-%%TEST_GLOBALS%%
-
-master_process off;
-daemon off;
-
-events {
-}
-
-http {
- %%TEST_GLOBALS_HTTP%%
-
- server {
- listen 127.0.0.1:8080;
- server_name localhost;
-
- location /store- {
- proxy_pass http://127.0.0.1:8080/;
- proxy_store on;
- }
- location /ssi.html {
- ssi on;
- }
- location /index-nostore.html {
- add_header X-Accel-Expires 0;
- }
- location /index-big.html {
- limit_rate 200k;
- }
- }
-}
-
-EOF
-
-$t->write_file('index.html', 'SEE-THIS');
-$t->write_file('index-nostore.html', 'SEE-THIS');
-$t->write_file('index-big.html', 'x' x (100 << 10));
-$t->write_file('ssi.html',
- '' .
- ''
-);
-$t->run();
-
-###############################################################################
-
-like(http_get('/store-index.html'), qr/SEE-THIS/, 'proxy request');
-ok(-e $t->testdir() . '/store-index.html', 'result stored');
-
-like(http_get('/store-index-nostore.html'), qr/SEE-THIS/,
- 'proxy request with x-accel-expires');
-
-TODO: {
-local $TODO = 'patch under review';
-
-ok(!-e $t->testdir() . '/store-index-nostore.html', 'result not stored');
-}
-
-ok(scalar @{[ glob $t->testdir() . '/proxy_temp/*' ]} == 0, 'no temp files');
-
-http_get('/store-index-big.html', aborted => 1, sleep => 0.1);
-sleep(1);
-
-ok(scalar @{[ glob $t->testdir() . '/proxy_temp/*' ]} == 0,
- 'no temp files after aborted request');
-
-TODO: {
-local $TODO = 'not fixed yet';
-
-http_get('/ssi.html', aborted => 1, sleep => 0.1);
-sleep(1);
-
-ok(scalar @{[ glob $t->testdir() . '/proxy_temp/*' ]} == 0,
- 'no temp files after aborted ssi');
-
-}
-
-###############################################################################
diff --git a/LibOS/shim/test/apps/nginx/nginx-tests/proxy_xar.t b/LibOS/shim/test/apps/nginx/nginx-tests/proxy_xar.t
deleted file mode 100644
index 6384c269..00000000
--- a/LibOS/shim/test/apps/nginx/nginx-tests/proxy_xar.t
+++ /dev/null
@@ -1,84 +0,0 @@
-#!/usr/bin/perl
-
-# (C) Maxim Dounin
-
-# Tests for proxy X-Accel-Redirect functionality.
-
-###############################################################################
-
-use warnings;
-use strict;
-
-use Test::More;
-
-BEGIN { use FindBin; chdir($FindBin::Bin); }
-
-use lib 'lib';
-use Test::Nginx;
-
-###############################################################################
-
-select STDERR; $| = 1;
-select STDOUT; $| = 1;
-
-my $t = Test::Nginx->new()->has(qw/http proxy rewrite/)->plan(8);
-
-$t->write_file_expand('nginx.conf', <<'EOF');
-
-%%TEST_GLOBALS%%
-
-master_process off;
-daemon off;
-
-events {
-}
-
-http {
- %%TEST_GLOBALS_HTTP%%
-
- server {
- listen 127.0.0.1:8080;
- server_name localhost;
-
- location /proxy {
- proxy_pass http://127.0.0.1:8080/return-xar;
- }
- location /return-xar {
- add_header X-Accel-Redirect /index.html;
-
- # this headers will be preserved on
- # X-Accel-Redirect
-
- add_header Content-Type text/blah;
- add_header Set-Cookie blah=blah;
- add_header Content-Disposition attachment;
- add_header Cache-Control no-cache;
- add_header Expires fake;
- add_header Accept-Ranges parrots;
-
- # others won't be
- add_header Something other;
-
- return 204;
- }
- }
-}
-
-EOF
-
-$t->write_file('index.html', 'SEE-THIS');
-$t->run();
-
-###############################################################################
-
-my $r = http_get('/proxy');
-like($r, qr/SEE-THIS/, 'X-Accel-Redirect works');
-like($r, qr/^Content-Type: text\/blah/m, 'Content-Type preserved');
-like($r, qr/^Set-Cookie: blah=blah/m, 'Set-Cookie preserved');
-like($r, qr/^Content-Disposition: attachment/m, 'Content-Disposition preserved');
-like($r, qr/^Cache-Control: no-cache/m, 'Cache-Control preserved');
-like($r, qr/^Expires: fake/m, 'Expires preserved');
-like($r, qr/^Accept-Ranges: parrots/m, 'Accept-Ranges preserved');
-unlike($r, qr/^Something/m, 'other headers stripped');
-
-###############################################################################
diff --git a/LibOS/shim/test/apps/nginx/nginx-tests/random_index.t b/LibOS/shim/test/apps/nginx/nginx-tests/random_index.t
deleted file mode 100644
index 2d100b13..00000000
--- a/LibOS/shim/test/apps/nginx/nginx-tests/random_index.t
+++ /dev/null
@@ -1,65 +0,0 @@
-#!/usr/bin/perl
-
-# (C) Maxim Dounin
-
-# Tests for random index module.
-
-###############################################################################
-
-use warnings;
-use strict;
-
-use Test::More;
-
-BEGIN { use FindBin; chdir($FindBin::Bin); }
-
-use lib 'lib';
-use Test::Nginx;
-
-###############################################################################
-
-select STDERR; $| = 1;
-select STDOUT; $| = 1;
-
-my $t = Test::Nginx->new()->has(qw/http random_index/)->plan(1)
- ->write_file_expand('nginx.conf', <<'EOF');
-
-%%TEST_GLOBALS%%
-
-master_process off;
-daemon off;
-
-events {
-}
-
-http {
- %%TEST_GLOBALS_HTTP%%
-
- server {
- listen 127.0.0.1:8080;
- server_name localhost;
-
- location / {
- random_index on;
- }
- }
-}
-
-EOF
-
-my $d = $t->testdir();
-
-mkdir("$d/x");
-mkdir("$d/x/test-dir");
-symlink("$d/x/test-dir", "$d/x/test-dir-link");
-
-$t->write_file('test-file', 'RIGHT');
-symlink("$d/test-file", "$d/x/test-file-link");
-
-$t->run();
-
-###############################################################################
-
-like(http_get('/x/'), qr/RIGHT/s, 'file');
-
-###############################################################################
diff --git a/LibOS/shim/test/apps/nginx/nginx-tests/range.t b/LibOS/shim/test/apps/nginx/nginx-tests/range.t
deleted file mode 100644
index 8a9dc396..00000000
--- a/LibOS/shim/test/apps/nginx/nginx-tests/range.t
+++ /dev/null
@@ -1,120 +0,0 @@
-#!/usr/bin/perl
-
-# (C) Maxim Dounin
-
-# Tests for range filter module.
-
-###############################################################################
-
-use warnings;
-use strict;
-
-use Test::More;
-
-BEGIN { use FindBin; chdir($FindBin::Bin); }
-
-use lib 'lib';
-use Test::Nginx;
-
-###############################################################################
-
-select STDERR; $| = 1;
-select STDOUT; $| = 1;
-
-my $t = Test::Nginx->new()->has(qw/http charset/)->plan(25);
-
-$t->write_file_expand('nginx.conf', <<'EOF');
-
-%%TEST_GLOBALS%%
-
-master_process off;
-daemon off;
-
-events {
-}
-
-http {
- %%TEST_GLOBALS_HTTP%%
-
- charset_map B A {
- 58 59; # X -> Y
- }
-
- server {
- listen 127.0.0.1:8080;
- server_name localhost;
-
- location /t2.html {
- charset A;
- source_charset B;
- }
- }
-}
-
-EOF
-
-$t->write_file('t1.html',
- join('', map { sprintf "X%03dXXXXXX", $_ } (0 .. 99)));
-$t->write_file('t2.html',
- join('', map { sprintf "X%03dXXXXXX", $_ } (0 .. 99)));
-$t->run();
-
-###############################################################################
-
-my $t1;
-
-$t1 = http_get_range('/t1.html', 'Range: bytes=0-8');
-like($t1, qr/206/, 'range request - 206 partial reply');
-like($t1, qr/Content-Length: 9/, 'range request - correct length');
-like($t1, qr/Content-Range: bytes 0-8\/1000/, 'range request - content range');
-like($t1, qr/^X000XXXXX$/m, 'range request - correct content');
-
-$t1 = http_get_range('/t1.html', 'Range: bytes=-10');
-like($t1, qr/206/, 'final bytes - 206 partial reply');
-like($t1, qr/Content-Length: 10/, 'final bytes - content length');
-like($t1, qr/Content-Range: bytes 990-999\/1000/,
- 'final bytes - content range');
-like($t1, qr/^X099XXXXXX$/m, 'final bytes - correct content');
-
-$t1 = http_get_range('/t1.html', 'Range: bytes=990-');
-like($t1, qr/206/, 'final bytes explicit - 206 partial reply');
-like($t1, qr/Content-Length: 10/, 'final bytes explicit - content length');
-like($t1, qr/Content-Range: bytes 990-999\/1000/,
- 'final bytes explicit - content range');
-like($t1, qr/^X099XXXXXX$/m, 'final bytes explicit - correct content');
-
-$t1 = http_get_range('/t1.html', 'Range: bytes=990-1990');
-like($t1, qr/206/, 'more than length - 206 partial reply');
-like($t1, qr/Content-Length: 10/, 'more than length - content length');
-like($t1, qr/Content-Range: bytes 990-999\/1000/,
- 'more than length - content range');
-like($t1, qr/^X099XXXXXX$/m, 'more than length - correct content');
-
-$t1 = http_get_range('/t2.html', 'Range: bytes=990-1990');
-like($t1, qr/206/, 'recoded - 206 partial reply');
-like($t1, qr/Content-Length: 10/, 'recoded - content length');
-like($t1, qr/Content-Range: bytes 990-999\/1000/, 'recoded - content range');
-like($t1, qr/^Y099YYYYYY$/m, 'recoded - correct content');
-
-$t1 = http_get_range('/t1.html', 'Range: bytes=0-9, -10, 10-19');
-like($t1, qr/206/, 'multipart - 206 partial reply');
-like($t1, qr/Content-Type: multipart\/byteranges; boundary=/,
- 'multipart - content type');
-like($t1, qr/X000XXXXXX/m, 'multipart - content 0-9');
-like($t1, qr/^X099XXXXXX\x0d?$/m, 'multipart - content -10 aka 990-999');
-like($t1, qr/X001XXXXXX\x0d?$/m, 'multipart - content 10-19');
-
-###############################################################################
-
-sub http_get_range {
- my ($url, $extra) = @_;
- return http(<new()->has(qw/http flv/)->plan(12);
-
-$t->write_file_expand('nginx.conf', <<'EOF');
-
-%%TEST_GLOBALS%%
-
-master_process off;
-daemon off;
-
-events {
-}
-
-http {
- %%TEST_GLOBALS_HTTP%%
-
- server {
- listen 127.0.0.1:8080;
- server_name localhost;
- location / {
- flv;
- }
- }
-}
-
-EOF
-
-$t->write_file('t1.flv',
- join('', map { sprintf "X%03dXXXXXX", $_ } (0 .. 99)));
-$t->run();
-
-###############################################################################
-
-my $t1;
-
-# FLV has 13 byte header at start.
-
-$t1 = http_get_range('/t1.flv?start=100', 'Range: bytes=0-9');
-like($t1, qr/206/, 'first bytes - 206 partial reply');
-like($t1, qr/Content-Length: 10/, 'first bytes - correct length');
-like($t1, qr/Content-Range: bytes 0-9\/913/, 'first bytes - content range');
-like($t1, qr/^FLV.{7}$/m, 'first bytes - correct content');
-
-$t1 = http_get_range('/t1.flv?start=100', 'Range: bytes=-10');
-like($t1, qr/206/, 'final bytes - 206 partial reply');
-like($t1, qr/Content-Length: 10/, 'final bytes - content length');
-like($t1, qr/Content-Range: bytes 903-912\/913/,
- 'final bytes - content range');
-like($t1, qr/^X099XXXXXX$/m, 'final bytes - correct content');
-
-$t1 = http_get_range('/t1.flv?start=100', 'Range: bytes=0-99');
-like($t1, qr/206/, 'multi buffers - 206 partial reply');
-like($t1, qr/Content-Length: 100/, 'multi buffers - content length');
-like($t1, qr/Content-Range: bytes 0-99\/913/, 'multi buffers - content range');
-like($t1, qr/^FLV.{10}X010XXXXXX(X01[1-7]XXXXXX){7}X018XXX$/m,
- 'multi buffers - correct content');
-
-###############################################################################
-
-sub http_get_range {
- my ($url, $extra) = @_;
- return http(<new()->has(qw/http rewrite/)->plan(19)
- ->write_file_expand('nginx.conf', <<'EOF');
-
-%%TEST_GLOBALS%%
-
-master_process off;
-daemon off;
-
-events {
-}
-
-http {
- %%TEST_GLOBALS_HTTP%%
-
- server {
- listen 127.0.0.1:8080;
- server_name localhost;
-
- location / {
- rewrite ^ http://example.com/ redirect;
- }
-
- location /add {
- rewrite ^ http://example.com/?c=d redirect;
- }
-
- location /no {
- rewrite ^ http://example.com/?c=d? redirect;
- }
-
- location /return204 {
- return 204;
- }
-
- location /return200 {
- return 200;
- }
-
- location /return405 {
- return 405;
- }
-
- location /error404return405 {
- error_page 404 /return405;
- return 404;
- }
-
- location /error405return204 {
- error_page 405 /return204;
- return 405;
- }
-
- location /error405return200 {
- error_page 405 /return200;
- return 405;
- }
-
- location /return200text {
- return 200 "text";
- }
-
- location /return404text {
- return 404 "text";
- }
-
- location /return302text {
- return 302 "text";
- }
-
- location /error405return200text {
- error_page 405 /return200text;
- return 405;
- }
-
- location /error302return200text {
- error_page 302 /return200text;
- return 302 "text";
- }
-
- location /error405return302text {
- error_page 405 /return302text;
- return 405;
- }
-
- location /error405rewrite {
- error_page 405 /;
- return 405;
- }
-
- location /error405directory {
- error_page 405 /directory;
- return 405;
- }
-
- location /directory {
- }
- }
-}
-
-EOF
-
-mkdir($t->testdir() . '/directory');
-
-$t->run();
-
-###############################################################################
-
-like(http_get('/'), qr!^Location: http://example.com/\x0d?$!ms, 'simple');
-like(http_get('/?a=b'), qr!^Location: http://example.com/\?a=b\x0d?$!ms,
- 'simple with args');
-like(http_get('/add'), qr!^Location: http://example.com/\?c=d\x0d?$!ms,
- 'add args');
-
-like(http_get('/add?a=b'), qr!^Location: http://example.com/\?c=d&a=b\x0d?$!ms,
- 'add args with args');
-
-like(http_get('/no?a=b'), qr!^Location: http://example.com/\?c=d\x0d?$!ms,
- 'no args with args');
-
-like(http_get('/return204'), qr!204 No Content!, 'return 204');
-like(http_get('/return200'), qr!200 OK!, 'return 200');
-like(http_get('/return405'), qr!HTTP/1.1 405.*body!ms, 'return 405');
-
-like(http_get('/error404return405'), qr!HTTP/1.1 404!, 'error 404 return 405');
-
-TODO: {
-local $TODO = 'not yet';
-
-# status code should be 405, and entity body is expected (vs. normal 204
-# replies which doesn't expect to have body); use HTTP/1.1 for test
-# to make problem clear
-
-my $r = http(<new()->has(qw/http rewrite/)->plan(9)
- ->write_file_expand('nginx.conf', <<'EOF');
-
-%%TEST_GLOBALS%%
-
-master_process off;
-daemon off;
-
-events {
-}
-
-http {
- %%TEST_GLOBALS_HTTP%%
-
- server {
- listen 127.0.0.1:8080;
- server_name localhost;
-
- location /t1 {
- rewrite ^ $arg_r? redirect;
- }
-
- location /t2 {
- rewrite ^ http://example.com$request_uri? redirect;
- }
-
- location /t3 {
- rewrite ^ http://example.com$uri redirect;
- }
-
- location /t4 {
- rewrite ^(.*) http://example.com$1 redirect;
- }
-
- location /t5 {
- rewrite ^ http://example.com/blah%20%3Fblah redirect;
- }
-
- location /t6 {
- rewrite ^ http://example.com/blah%20%2Fblah redirect;
- }
- }
-}
-
-EOF
-
-mkdir($t->testdir() . '/directory');
-
-$t->run();
-
-###############################################################################
-
-# Some rewrites and expected (?) behaviour
-#
-# /t1?r=http%3A%2F%2Fexample.com%2F%3Ffrom
-# rewrite ^ $arg_r? redirect;
-# expected: http://example.com/?from
-# got: http://example.com/?from
-#
-# /t1?r=http%3A%2F%2Fexample.com%0D%0Asplit
-# rewrite ^ $arg_r? redirect;
-# expected: http://example.com%0D%0Asplit
-# got: http://example.com%0D%0Asplit
-#
-# /t1?r=http%3A%2F%2Fexample.com%2F%3Ffrom%3Dblah
-# rewrite ^ $arg_r? redirect;
-# expected: http://example.com/?from=blah
-# got: http://example.com/?from%3Dblah
-#
-# /blah%3Fblah
-# rewrite ^ http://example.com$request_uri? redirect;
-# expected: http://example.com/blah%3Fblah
-# got: http://example.com/blah?blah
-#
-# /blah%3Fblah
-# rewrite ^ http://example.com$uri redirect;
-# expected: http://example.com/blah%3Fblah
-# got: http://example.com/blah?blah
-#
-# /blah%3Fblah
-# rewrite ^(.*) http://example.com$1 redirect;
-# expected: http://example.com/blah%3Fblah
-# got: http://example.com/blah?blah
-#
-# /
-# rewrite ^ http://example.com/blah%3Fblah redirect;
-# expected: http://example.com/blah%3Fblah
-# got: http://example.com/blah?blah
-#
-
-location('/t1?r=http%3A%2F%2Fexample.com%2F%3Ffrom',
- 'http://example.com/?from', 'escaped argument');
-
-location('/t1?r=http%3A%2F%2Fexample.com%0D%0Asplit',
- 'http://example.com%0D%0Asplit', 'escaped argument header splitting');
-
-TODO: {
-local $TODO = 'not yet';
-
-# Fixing this cases will require major changes to the whole aproach and
-# likely to break some currently working cases. On the other hand, current
-# behaviour is far from acceptable. Should be carefully thought.
-
-location('/t1?r=http%3A%2F%2Fexample.com%2F%3Ffrom%3Dblah',
- 'http://example.com/?from=blah', 'escaped argument with complex query');
-
-location('/t2/blah%20%3Fblah',
- 'http://example.com/t2/blah%20%3Fblah', 'escaped $request_uri');
-
-location('/t3/blah%20%3Fblah',
- 'http://example.com/t3/blah%20%3Fblah', 'escaped $uri');
-
-location('/t4/blah%20%3Fblah',
- 'http://example.com/t4/blah%20%3Fblah', 'escaped $1');
-
-location('/t5',
- 'http://example.com/blah%20%3Fblah', 'escaped static');
-
-location('/t5?arg=blah',
- 'http://example.com/blah%20%3Fblah?arg=blah',
- 'escaped static with argument');
-
-location('/t6',
- 'http://example.com/blah%20%2Fblah', 'escaped static slash');
-
-}
-
-###############################################################################
-
-sub location {
- my ($url, $value, $name) = @_;
- my $data = http_get($url);
- if ($data !~ qr!^Location: (.*?)\x0d?$!ms) {
- fail($name);
- return;
- }
- my $location = $1;
- is($location, $value, $name);
-}
-
-###############################################################################
diff --git a/LibOS/shim/test/apps/nginx/nginx-tests/scgi.t b/LibOS/shim/test/apps/nginx/nginx-tests/scgi.t
deleted file mode 100644
index 957f8927..00000000
--- a/LibOS/shim/test/apps/nginx/nginx-tests/scgi.t
+++ /dev/null
@@ -1,94 +0,0 @@
-#!/usr/bin/perl
-
-# (C) Maxim Dounin
-
-# Test for scgi backend.
-
-###############################################################################
-
-use warnings;
-use strict;
-
-use Test::More;
-
-BEGIN { use FindBin; chdir($FindBin::Bin); }
-
-use lib 'lib';
-use Test::Nginx;
-
-###############################################################################
-
-select STDERR; $| = 1;
-select STDOUT; $| = 1;
-
-eval { require SCGI; };
-plan(skip_all => 'SCGI not installed') if $@;
-
-my $t = Test::Nginx->new()->has(qw/http scgi/)->plan(4)
- ->write_file_expand('nginx.conf', <<'EOF');
-
-%%TEST_GLOBALS%%
-
-master_process off;
-daemon off;
-
-events {
-}
-
-http {
- %%TEST_GLOBALS_HTTP%%
-
- server {
- listen 127.0.0.1:8080;
- server_name localhost;
-
- location / {
- scgi_pass 127.0.0.1:8081;
- scgi_param SCGI 1;
- scgi_param REQUEST_URI $request_uri;
- }
- }
-}
-
-EOF
-
-$t->run_daemon(\&scgi_daemon);
-$t->run();
-
-###############################################################################
-
-like(http_get('/'), qr/SEE-THIS/, 'scgi request');
-like(http_get('/redir'), qr/302/, 'scgi redirect');
-like(http_get('/'), qr/^3$/m, 'scgi third request');
-
-unlike(http_head('/'), qr/SEE-THIS/, 'no data in HEAD');
-
-###############################################################################
-
-sub scgi_daemon {
- my $server = IO::Socket::INET->new(
- Proto => 'tcp',
- LocalHost => '127.0.0.1:8081',
- Listen => 5,
- Reuse => 1
- )
- or die "Can't create listening socket: $!\n";
-
- my $scgi = SCGI->new($server, blocking => 1);
- my $count = 0;
-
- while (my $request = $scgi->accept()) {
- $count++;
- $request->read_env();
-
- $request->connection()->print(<new()->has(qw/http secure_link/)->plan(8);
-
-$t->write_file_expand('nginx.conf', <<'EOF');
-
-%%TEST_GLOBALS%%
-
-daemon off;
-
-events {
-}
-
-http {
- %%TEST_GLOBALS_HTTP%%
-
- server {
- listen 127.0.0.1:8080;
- server_name localhost;
-
- location / {
- # new style
- # /test.html?hash=BASE64URL
-
- secure_link $arg_hash;
- secure_link_md5 secret$uri;
-
- # invalid hash
- if ($secure_link = "") {
- return 403;
- }
-
- # expired
- if ($secure_link = "0") {
- return 403;
- }
-
- # $secure_link = "1"
- }
-
- location = /expires.html {
- # new style with expires
- # /test.html?hash=BASE64URL&expires=12345678
-
- secure_link $arg_hash,$arg_expires;
- secure_link_md5 secret$uri$arg_expires;
-
- # invalid hash
- if ($secure_link = "") {
- return 403;
- }
-
- # expired
- if ($secure_link = "0") {
- return 403;
- }
-
- # $secure_link = "1"
- }
-
- location /p/ {
- # old style
- # /p/d8e8fca2dc0f896fd7cb4cb0031ba249/test.html
-
- secure_link_secret secret;
-
- if ($secure_link = "") {
- return 403;
- }
-
- rewrite ^ /$secure_link break;
- }
- }
-}
-
-EOF
-
-$t->write_file('test.html', 'PASSED');
-$t->write_file('expires.html', 'PASSED');
-$t->run();
-
-###############################################################################
-
-# new style
-
-like(http_get('/test.html?hash=q-5vpkjBkRXXtkUMXiJVHA=='),
- qr/PASSED/, 'request md5');
-like(http_get('/test.html?hash=q-5vpkjBkRXXtkUMXiJVHA'),
- qr/PASSED/, 'request md5 no padding');
-like(http_get('/test.html'), qr/^HTTP.*403/, 'request no hash');
-
-# new style with expires
-
-my ($expires, $hash);
-
-$expires = time() + 86400;
-$hash = encode_base64url(md5("secret/expires.html$expires"));
-like(http_get('/expires.html?hash=' . $hash . '&expires=' . $expires),
- qr/PASSED/, 'request md5 not expired');
-
-$expires = time() - 86400;
-$hash = encode_base64url(md5("secret/expires.html$expires"));
-like(http_get('/expires.html?hash=' . $hash . '&expires=' . $expires),
- qr/^HTTP.*403/, 'request md5 expired');
-
-# old style
-
-like(http_get('/p/' . md5_hex('test.html' . 'secret') . '/test.html'),
- qr/PASSED/, 'request old style');
-like(http_get('/p/' . md5_hex('fake') . '/test.html'), qr/^HTTP.*403/,
- 'request old style fake hash');
-like(http_get('/p/test.html'), qr/^HTTP.*403/, 'request old style no hash');
-
-###############################################################################
-
-sub encode_base64url {
- my $e = encode_base64(shift, "");
- $e =~ s/=+\z//;
- $e =~ tr[+/][-_];
- return $e;
-}
-
-###############################################################################
diff --git a/LibOS/shim/test/apps/nginx/nginx-tests/ssi.t b/LibOS/shim/test/apps/nginx/nginx-tests/ssi.t
deleted file mode 100644
index 12f10a60..00000000
--- a/LibOS/shim/test/apps/nginx/nginx-tests/ssi.t
+++ /dev/null
@@ -1,129 +0,0 @@
-#!/usr/bin/perl
-
-# (C) Maxim Dounin
-
-# Tests for nginx ssi module.
-
-###############################################################################
-
-use warnings;
-use strict;
-
-use Test::More;
-
-BEGIN { use FindBin; chdir($FindBin::Bin); }
-
-use lib 'lib';
-use Test::Nginx;
-
-###############################################################################
-
-select STDERR; $| = 1;
-select STDOUT; $| = 1;
-
-my $t = Test::Nginx->new()->has(qw/http ssi cache proxy rewrite/)->plan(18);
-
-$t->write_file_expand('nginx.conf', <<'EOF');
-
-%%TEST_GLOBALS%%
-
-master_process off;
-daemon off;
-
-events {
-}
-
-http {
- %%TEST_GLOBALS_HTTP%%
-
- proxy_cache_path %%TESTDIR%%/cache levels=1:2
- keys_zone=NAME:10m;
-
- server {
- listen 127.0.0.1:8080;
- server_name localhost;
-
- if ($args = "found") {
- return 204;
- }
-
- location / {
- ssi on;
- }
- location /proxy/ {
- ssi on;
- proxy_pass http://127.0.0.1:8080/local/;
- }
- location /cache/ {
- proxy_pass http://127.0.0.1:8080/local/;
- proxy_cache NAME;
- proxy_cache_valid 200 1h;
- }
- location /local/ {
- ssi off;
- alias %%TESTDIR%%/;
- }
- }
-}
-
-EOF
-
-$t->write_file('test1.html', 'XX');
-$t->write_file('test2.html',
- 'XX');
-$t->write_file('test3.html',
- 'XX');
-$t->write_file('test-args-rewrite.html',
- 'XX');
-$t->write_file('test-empty1.html', 'XX');
-$t->write_file('test-empty2.html',
- 'XX');
-$t->write_file('test-empty3.html',
- 'XX');
-$t->write_file('empty.html', '');
-
-$t->run();
-
-###############################################################################
-
-like(http_get('/test1.html'), qr/^X\(none\)X$/m, 'echo no argument');
-like(http_get('/test1.html?test='), qr/^XX$/m, 'empty argument');
-like(http_get('/test1.html?test=test'), qr/^XtestX$/m, 'argument');
-like(http_get('/test1.html?test=test&a=b'), qr/^XtestX$/m, 'argument 2');
-like(http_get('/test1.html?a=b&test=test'), qr/^XtestX$/m, 'argument 3');
-like(http_get('/test1.html?a=b&test=test&d=c'), qr/^XtestX$/m, 'argument 4');
-like(http_get('/test1.html?atest=a&testb=b&ctestc=c&test=test'), qr/^XtestX$/m,
- 'argument 5');
-
-like(http_get('/test2.html'), qr/^XXtestXX$/m, 'argument via include');
-
-like(http_get('/test3.html'), qr/^XtestX$/m, 'set');
-
-# args should be in subrequest even if original request has no args and that
-# was queried somehow (e.g. by server rewrites)
-
-TODO: {
-local $TODO = 'patch under review';
-
-like(http_get('/test-args-rewrite.html'), qr/^XX$/m, 'args only subrequest');
-
-}
-
-like(http_get('/test-args-rewrite.html?wasargs'), qr/^XX$/m,
- 'args was in main request');
-
-# Last-Modified and Accept-Ranges headers should be cleared
-
-unlike(http_get('/test1.html'), qr/Last-Modified|Accept-Ranges/im,
- 'cleared headers');
-unlike(http_get('/proxy/test1.html'), qr/Last-Modified|Accept-Ranges/im,
- 'cleared headers from proxy');
-
-like(http_get('/test-empty1.html'), qr/HTTP/, 'empty with ssi');
-like(http_get('/test-empty2.html'), qr/HTTP/, 'empty without ssi');
-like(http_get('/test-empty3.html'), qr/HTTP/, 'empty with proxy');
-like(http_get('/test-empty3.html'), qr/HTTP/, 'empty with proxy cached');
-
-like(`grep -F '[alert]' ${\($t->testdir())}/error.log`, qr/^$/s, 'no alerts');
-
-###############################################################################
diff --git a/LibOS/shim/test/apps/nginx/nginx-tests/ssi_include_big.t b/LibOS/shim/test/apps/nginx/nginx-tests/ssi_include_big.t
deleted file mode 100644
index 2e0338af..00000000
--- a/LibOS/shim/test/apps/nginx/nginx-tests/ssi_include_big.t
+++ /dev/null
@@ -1,90 +0,0 @@
-#!/usr/bin/perl
-
-# (C) Maxim Dounin
-
-# Tests for nginx ssi bug with big includes.
-
-###############################################################################
-
-use warnings;
-use strict;
-
-use Test::More;
-
-BEGIN { use FindBin; chdir($FindBin::Bin); }
-
-use lib 'lib';
-use Test::Nginx qw/ :DEFAULT :gzip /;
-
-###############################################################################
-
-select STDERR; $| = 1;
-select STDOUT; $| = 1;
-
-my $t = Test::Nginx->new()->has(qw/http ssi rewrite gzip proxy/)->plan(8);
-
-$t->write_file_expand('nginx.conf', <<'EOF');
-
-%%TEST_GLOBALS%%
-
-master_process off;
-daemon off;
-
-events {
-}
-
-http {
- %%TEST_GLOBALS_HTTP%%
-
- output_buffers 2 512;
- ssi on;
- gzip on;
-
- server {
- listen 127.0.0.1:8080;
- server_name localhost;
-
- location /proxy/ {
- proxy_pass http://127.0.0.1:8080/local/;
- }
- location = /local/blah {
- return 204;
- }
- }
-}
-
-EOF
-
-$t->write_file('c1.html', 'X' x 1023);
-$t->write_file('c2.html', 'X' x 1024);
-$t->write_file('c3.html', 'X' x 1025);
-$t->write_file('test1.html', ''
- . '');
-$t->write_file('test2.html', ''
- . '');
-$t->write_file('test3.html', ''
- . '');
-$t->write_file('test4.html', ''
- . ('X' x 1025));
-
-$t->run();
-
-###############################################################################
-
-my $t1 = http_gzip_request('/test1.html');
-ok(defined $t1, 'small included file (less than output_buffers)');
-http_gzip_like($t1, qr/^X{1023}\Z/, 'small included file content');
-
-my $t2 = http_gzip_request('/test2.html');
-ok(defined $t2, 'small included file (equal to output_buffers)');
-http_gzip_like($t2, qr/^X{1024}\Z/, 'small included file content');
-
-my $t3 = http_gzip_request('/test3.html');
-ok(defined $t3, 'big included file (more than output_buffers)');
-http_gzip_like($t3, qr/^X{1025}\Z/, 'big included file content');
-
-my $t4 = http_gzip_request('/test4.html');
-ok(defined $t4, 'big ssi main file');
-http_gzip_like($t4, qr/^X{1025}\Z/, 'big ssi main file content');
-
-###############################################################################
diff --git a/LibOS/shim/test/apps/nginx/nginx-tests/ssi_waited.t b/LibOS/shim/test/apps/nginx/nginx-tests/ssi_waited.t
deleted file mode 100644
index fb96fc73..00000000
--- a/LibOS/shim/test/apps/nginx/nginx-tests/ssi_waited.t
+++ /dev/null
@@ -1,65 +0,0 @@
-#!/usr/bin/perl
-
-# (C) Maxim Dounin
-
-# Tests for nginx ssi module, waited subrequests.
-
-###############################################################################
-
-use warnings;
-use strict;
-
-use Test::More;
-
-BEGIN { use FindBin; chdir($FindBin::Bin); }
-
-use lib 'lib';
-use Test::Nginx;
-
-###############################################################################
-
-select STDERR; $| = 1;
-select STDOUT; $| = 1;
-
-my $t = Test::Nginx->new()->has(qw/http ssi/)->plan(2);
-
-$t->write_file_expand('nginx.conf', <<'EOF');
-
-%%TEST_GLOBALS%%
-
-master_process off;
-daemon off;
-
-events {
-}
-
-http {
- %%TEST_GLOBALS_HTTP%%
-
- server {
- listen 127.0.0.1:8080;
- server_name localhost;
- location / {
- ssi on;
- }
- }
-}
-
-EOF
-
-$t->write_file('index.html', 'x' .
- 'xx');
-$t->write_file('first.html', 'FIRST');
-$t->write_file('second.html',
- 'xSECOND');
-$t->write_file('waited.html', 'WAITED');
-
-$t->run();
-
-###############################################################################
-
-like(http_get('/'), qr/^xFIRSTxWAITEDxSECONDx$/m, 'waited non-active');
-
-like(`grep -F '[alert]' ${\($t->testdir())}/error.log`, qr/^$/s, 'no alerts');
-
-###############################################################################
diff --git a/LibOS/shim/test/apps/nginx/nginx.manifest.template b/LibOS/shim/test/apps/nginx/nginx.manifest.template
deleted file mode 100755
index 1d43f2d3..00000000
--- a/LibOS/shim/test/apps/nginx/nginx.manifest.template
+++ /dev/null
@@ -1,54 +0,0 @@
-#!$(PAL)
-
-loader.preload = file:$(SHIMPATH)
-loader.exec = file:build/sbin/nginx
-loader.execname = nginx
-loader.env.LD_LIBRARY_PATH = /lib:/lib/x86_64-linux-gnu:/usr/lib:/usr/lib/x86_64-linux-gnu
-loader.debug_type = none
-
-fs.mount.lib1.type = chroot
-fs.mount.lib1.path = /lib
-fs.mount.lib1.uri = file:$(LIBCDIR)
-
-fs.mount.lib2.type = chroot
-fs.mount.lib2.path = /lib/x86_64-linux-gnu
-fs.mount.lib2.uri = file:/lib/x86_64-linux-gnu
-
-fs.mount.usr.type = chroot
-fs.mount.usr.path = /usr
-fs.mount.usr.uri = file:/usr
-
-fs.mount.cwd.type = chroot
-fs.mount.cwd.path = $(PWD)
-fs.mount.cwd.uri = file:
-
-fs.mount.etc.type = chroot
-fs.mount.etc.path = /etc
-fs.mount.etc.uri = file:etc
-
-# allow to bind on port for listening
-net.allow_bind.1 = $(HOST):$(PORT)
-
-sgx.enclave_size = 512M
-
-sgx.trusted_files.ld = file:$(LIBCDIR)/ld-linux-x86-64.so.2
-sgx.trusted_files.libc = file:$(LIBCDIR)/libc.so.6
-sgx.trusted_files.libdl = file:$(LIBCDIR)/libdl.so.2
-sgx.trusted_files.libm = file:$(LIBCDIR)/libm.so.6
-sgx.trusted_files.libpthread = file:$(LIBCDIR)/libpthread.so.0
-sgx.trusted_files.libcrypt = file:/lib/x86_64-linux-gnu/libcrypt.so.1
-sgx.trusted_files.libpcre = file:/lib/x86_64-linux-gnu/libpcre.so.3
-sgx.trusted_files.libcrypto = file:/lib/x86_64-linux-gnu/libcrypto.so.1.0.0
-sgx.trusted_files.libz = file:/lib/x86_64-linux-gnu/libz.so.1
-sgx.trusted_files.libnssdns = file:/lib/x86_64-linux-gnu/libnss_dns.so.2
-sgx.trusted_files.libnssfiles = file:/lib/x86_64-linux-gnu/libnss_files.so.2
-sgx.trusted_files.libnsscompact = file:/lib/x86_64-linux-gnu/libnss_compat.so.2
-sgx.trusted_files.libnssnis = file:/lib/x86_64-linux-gnu/libnss_nis.so.2
-sgx.trusted_files.libgnutls = file:/usr/lib/x86_64-linux-gnu/libgnutls.so.26
-sgx.trusted_files.libgcrypt = file:/lib/x86_64-linux-gnu/libgcrypt.so.11
-sgx.trusted_files.libnsl = file:/lib/x86_64-linux-gnu/libnsl.so.1
-
-sgx.trusted_files.conf = file:http.t
-
-sgx.allowed_files.root = file:build
-sgx.allowed_files.etc = file:etc
diff --git a/LibOS/shim/test/apps/openjdk/.gitignore b/LibOS/shim/test/apps/openjdk/.gitignore
deleted file mode 100644
index 767b9336..00000000
--- a/LibOS/shim/test/apps/openjdk/.gitignore
+++ /dev/null
@@ -1,6 +0,0 @@
-/openjdk-*/
-/openjdk-*-jre/
-*.tar.bz2
-*.class
-/pal_loader
-/jdk-*/
diff --git a/LibOS/shim/test/apps/openjdk/Makefile b/LibOS/shim/test/apps/openjdk/Makefile
deleted file mode 100644
index c66bfb9c..00000000
--- a/LibOS/shim/test/apps/openjdk/Makefile
+++ /dev/null
@@ -1,101 +0,0 @@
-NPROCS := 1
-OS := $(shell uname -s)
-ifeq ($(OS),Linux)
- NPROCS := $(shell grep -c ^processor /proc/cpuinfo)
-endif
-
-target = build-java $(patsubst %.java,%.class,$(wildcard classes/*.java))
-exec_target = java.manifest
-
-clean-extra = clean-classes
-
-ifeq ($(HUGE),)
-RESOURCE_RULE = sys.stack.size = 256K\nsys.brk.size = 16M\nglibc.heap_size = 4M\nsgx.enclave_size = 256M\nsgx.thread_num = 12
-else
-RESOURCE_RULE = sys.stack.size = 4M\nsys.brk.size = 64M\nglibc.heap_size = 16M\nsgx.enclave_size = 8G\nsgx.thread_num = 32
-endif
-
-extra_rules = \
- -e 's:\$$(DEBUGTYPE):$(if $(DEBUG),inline,none):g' \
- -e 's:\$$(JAVA_HOME):$(JAVA_HOME):g' \
- -e 's:\$$(RESOURCE_RULE):$(RESOURCE_RULE):g'
-
-level = ../../
-include ../../Makefile
-
-TEST_CLASS = $(patsubst %.java,%,$(wildcard classes/*.java))
-
-USE_UBUNTU_SRC = no
-VERSION = 7
-ICEDTEA_URL = http://icedtea.wildebeest.org/download/drops/icedtea7/2.6.4/
-JAVA_DIR = openjdk-7
-JAVA_SRC = $(JAVA_DIR) $(JAVA_DIR)/hotspot $(JAVA_DIR)/jdk $(JAVA_DIR)/jdk/src/share/lib/security/nss.cfg
-JAVA_HOME = openjdk-7-jre
-
-$(JAVA_DIR): openjdk.tar.bz2
- tar -xmjf $<
- rm -rf $@
- mv $(shell tar -tjf $< | sed -e 's@/.*@@' | head -n 1) $@
-
-$(JAVA_DIR)/hotspot: hotspot.tar.bz2 | $(JAVA_DIR)
- tar -xmjf $<
- rm -rf $@
- mv $(shell tar -tjf $< | sed -e 's@/.*@@' | head -n 1) $@
-
-$(JAVA_DIR)/jdk: jdk.tar.bz2 | $(JAVA_DIR)
- tar -xmjf $<
- rm -rf $@
- cd $(shell tar -tjf $< | sed -e 's@/.*@@' | head -n 1) && patch -p1 < ../JDK-8015880.patch
- mv $(shell tar -tjf $< | sed -e 's@/.*@@' | head -n 1) $@
-
-openjdk.tar.bz2 hotspot.tar.bz2 jdk.tar.bz2:
- wget $(ICEDTEA_URL)$@
-
-$(JAVA_DIR)/jdk/src/share/lib/security/nss.cfg: $(JAVA_DIR)/jdk/src/share/lib/security/nss.cfg.in | $(JAVA_DIR)/jdk
- sed 's:@NSS_LIBDIR@:/usr/lib/x86_64-linux-gnu:g' $< > $@
-
-
-HOST_JAVA_HOME=$(subst /jre/bin/java,,$(shell readlink -f $(shell which java)))
-INSTALL_DIR = $(JAVA_DIR)/build/linux-amd64
-JRE_DIR = $(INSTALL_DIR)/j2sdk-image/jre
-JDK_DIR = $(INSTALL_DIR)/j2sdk-image
-JAVAC = $(JDK_DIR)/bin/javac
-
-$(JRE_DIR)/bin/java $(JAVAC): $(JAVA_SRC)
- cd $(JAVA_DIR) && \
- make \
- ALT_BOOTDIR=$(HOST_JAVA_HOME) \
- ALT_JDK_IMPORT_PATH=$(HOST_JAVA_HOME) \
- ANT=/usr/bin/ant \
- INSANE="true" \
- FT2_CFLAGS=$(shell pkg-config --cflags freetype2) \
- FT2_LIBS=$(shell pkg-config --libs freetype2) \
- STATIC_CXX="false" \
- EXTRA_CFLAGS="-fPIC" \
- NO_DOCS="true" \
- BUILD_HEADLESS_ONLY="true" \
- BUILD_HOTSPOT="true" BUILD_JDK="true" \
- BUILD_LANGTOOLS="false" \
- BUILD_JAXP="false" BUILD_JAXWS="false" BUILD_CORBA="false" \
- HOTSPOT_BUILD_JOBS="$(NPROCS)" \
- TEST_IN_BUILD="false" \
- product_build
-
-$(JAVA_HOME)/bin/java: $(JRE_DIR)/bin/java
- rm -rf $(JAVA_HOME)
- cp -rf $(JRE_DIR) $(JAVA_HOME)
- find $(JAVA_HOME) -type f -executable -exec strip --strip-debug {} \;
-
-distclean: clean
- rm -rf $(JAVA_DIR) $(JAVA_HOME)
-
-build-java: $(JAVA_HOME)/bin/java $(JAVAC)
-
-java_home:
- @echo $(JAVA_HOME)
-
-%.class: %.java $(JAVAC)
- $(JAVAC) $<
-
-clean-classes:
- rm -f $(addsuffix .class,$(TEST_CLASS))
diff --git a/LibOS/shim/test/apps/openjdk/classes/HelloWorld.java b/LibOS/shim/test/apps/openjdk/classes/HelloWorld.java
deleted file mode 100644
index 05d1de5d..00000000
--- a/LibOS/shim/test/apps/openjdk/classes/HelloWorld.java
+++ /dev/null
@@ -1,5 +0,0 @@
-public class HelloWorld {
- public static void main(String[] args) {
- System.out.println("Hello, World");
- }
-}
diff --git a/LibOS/shim/test/apps/openjdk/classes/jmh/pom.xml b/LibOS/shim/test/apps/openjdk/classes/jmh/pom.xml
deleted file mode 100644
index 1bf8915b..00000000
--- a/LibOS/shim/test/apps/openjdk/classes/jmh/pom.xml
+++ /dev/null
@@ -1,163 +0,0 @@
-
-
-
- 4.0.0
-
- org.sample
- test
- 1.0
- jar
-
- JMH benchmark sample: Java
-
-
-
-
- 3.0
-
-
-
-
- org.openjdk.jmh
- jmh-core
- ${jmh.version}
-
-
- org.openjdk.jmh
- jmh-generator-annprocess
- ${jmh.version}
- provided
-
-
-
-
- UTF-8
- 1.5.2
- 1.6
- benchmarks
-
-
-
-
-
- org.apache.maven.plugins
- maven-compiler-plugin
- 3.1
-
- ${javac.target}
- ${javac.target}
- ${javac.target}
-
-
-
- org.apache.maven.plugins
- maven-shade-plugin
- 2.2
-
-
- package
-
- shade
-
-
- ${uberjar.name}
-
-
- org.openjdk.jmh.Main
-
-
-
-
-
- *:*
-
- META-INF/*.SF
- META-INF/*.DSA
- META-INF/*.RSA
-
-
-
-
-
-
-
-
-
-
-
- maven-clean-plugin
- 2.5
-
-
- maven-deploy-plugin
- 2.8.1
-
-
- maven-install-plugin
- 2.5.1
-
-
- maven-jar-plugin
- 2.4
-
-
- maven-javadoc-plugin
- 2.9.1
-
-
- maven-resources-plugin
- 2.6
-
-
- maven-site-plugin
- 3.3
-
-
- maven-source-plugin
- 2.2.1
-
-
- maven-surefire-plugin
- 2.17
-
-
-
-
-
-
diff --git a/LibOS/shim/test/apps/openjdk/classes/jmh/src/main/java/org/sample/MyBenchmark.java b/LibOS/shim/test/apps/openjdk/classes/jmh/src/main/java/org/sample/MyBenchmark.java
deleted file mode 100644
index b8a86b35..00000000
--- a/LibOS/shim/test/apps/openjdk/classes/jmh/src/main/java/org/sample/MyBenchmark.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Copyright (c) 2014, Oracle America, Inc.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * * Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * * Neither the name of Oracle nor the names of its contributors may be used
- * to endorse or promote products derived from this software without
- * specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-package org.sample;
-
-import org.openjdk.jmh.annotations.Benchmark;
-
-public class MyBenchmark {
-
- @Benchmark
- public void testMethod() {
- // This is a demo/sample template for building your JMH benchmarks. Edit as needed.
- // Put your benchmark code here.
- }
-
-}
diff --git a/LibOS/shim/test/apps/openjdk/classes/jmh/target/benchmarks.jar b/LibOS/shim/test/apps/openjdk/classes/jmh/target/benchmarks.jar
deleted file mode 100644
index e69de29b..00000000
diff --git a/LibOS/shim/test/apps/openjdk/classes/jmh/target/classes/META-INF/BenchmarkList b/LibOS/shim/test/apps/openjdk/classes/jmh/target/classes/META-INF/BenchmarkList
deleted file mode 100644
index 09565687..00000000
--- a/LibOS/shim/test/apps/openjdk/classes/jmh/target/classes/META-INF/BenchmarkList
+++ /dev/null
@@ -1 +0,0 @@
-org.sample.MyBenchmark.testMethod===,===org.sample.generated.MyBenchmark_testMethod.testMethod===,===Throughput===,===1====,===[]===,===[]===,===[]===,===[]===,===[]===,===[]===,===[]===,===[]===,===[]===,===[]===,===[]===,===[]===,===[]===,===[]===,===[]===,===[]===,===[]
diff --git a/LibOS/shim/test/apps/openjdk/classes/jmh/target/classes/META-INF/CompilerHints b/LibOS/shim/test/apps/openjdk/classes/jmh/target/classes/META-INF/CompilerHints
deleted file mode 100644
index 57a297e5..00000000
--- a/LibOS/shim/test/apps/openjdk/classes/jmh/target/classes/META-INF/CompilerHints
+++ /dev/null
@@ -1,7 +0,0 @@
-dontinline,*.*_all_jmhStub
-dontinline,*.*_avgt_jmhStub
-dontinline,*.*_sample_jmhStub
-dontinline,*.*_ss_jmhStub
-dontinline,*.*_thrpt_jmhStub
-inline,org/openjdk/jmh/infra/Blackhole.clearSinks
-inline,org/sample/MyBenchmark.testMethod
diff --git a/LibOS/shim/test/apps/openjdk/classes/jmh/target/classes/org/openjdk/jmh/infra/generated/Blackhole_jmh.class b/LibOS/shim/test/apps/openjdk/classes/jmh/target/classes/org/openjdk/jmh/infra/generated/Blackhole_jmh.class
deleted file mode 100644
index e69de29b..00000000
diff --git a/LibOS/shim/test/apps/openjdk/classes/jmh/target/classes/org/openjdk/jmh/infra/generated/Blackhole_jmh_B1.class b/LibOS/shim/test/apps/openjdk/classes/jmh/target/classes/org/openjdk/jmh/infra/generated/Blackhole_jmh_B1.class
deleted file mode 100644
index e69de29b..00000000
diff --git a/LibOS/shim/test/apps/openjdk/classes/jmh/target/classes/org/openjdk/jmh/infra/generated/Blackhole_jmh_B2.class b/LibOS/shim/test/apps/openjdk/classes/jmh/target/classes/org/openjdk/jmh/infra/generated/Blackhole_jmh_B2.class
deleted file mode 100644
index e69de29b..00000000
diff --git a/LibOS/shim/test/apps/openjdk/classes/jmh/target/classes/org/openjdk/jmh/infra/generated/Blackhole_jmh_B3.class b/LibOS/shim/test/apps/openjdk/classes/jmh/target/classes/org/openjdk/jmh/infra/generated/Blackhole_jmh_B3.class
deleted file mode 100644
index e69de29b..00000000
diff --git a/LibOS/shim/test/apps/openjdk/classes/jmh/target/classes/org/sample/MyBenchmark.class b/LibOS/shim/test/apps/openjdk/classes/jmh/target/classes/org/sample/MyBenchmark.class
deleted file mode 100644
index e69de29b..00000000
diff --git a/LibOS/shim/test/apps/openjdk/classes/jmh/target/classes/org/sample/generated/MyBenchmark_jmh.class b/LibOS/shim/test/apps/openjdk/classes/jmh/target/classes/org/sample/generated/MyBenchmark_jmh.class
deleted file mode 100644
index e69de29b..00000000
diff --git a/LibOS/shim/test/apps/openjdk/classes/jmh/target/classes/org/sample/generated/MyBenchmark_jmh_B1.class b/LibOS/shim/test/apps/openjdk/classes/jmh/target/classes/org/sample/generated/MyBenchmark_jmh_B1.class
deleted file mode 100644
index e69de29b..00000000
diff --git a/LibOS/shim/test/apps/openjdk/classes/jmh/target/classes/org/sample/generated/MyBenchmark_jmh_B2.class b/LibOS/shim/test/apps/openjdk/classes/jmh/target/classes/org/sample/generated/MyBenchmark_jmh_B2.class
deleted file mode 100644
index e69de29b..00000000
diff --git a/LibOS/shim/test/apps/openjdk/classes/jmh/target/classes/org/sample/generated/MyBenchmark_jmh_B3.class b/LibOS/shim/test/apps/openjdk/classes/jmh/target/classes/org/sample/generated/MyBenchmark_jmh_B3.class
deleted file mode 100644
index e69de29b..00000000
diff --git a/LibOS/shim/test/apps/openjdk/classes/jmh/target/classes/org/sample/generated/MyBenchmark_testMethod.class b/LibOS/shim/test/apps/openjdk/classes/jmh/target/classes/org/sample/generated/MyBenchmark_testMethod.class
deleted file mode 100644
index e69de29b..00000000
diff --git a/LibOS/shim/test/apps/openjdk/classes/jmh/target/generated-sources/annotations/org/openjdk/jmh/infra/generated/Blackhole_jmh.java b/LibOS/shim/test/apps/openjdk/classes/jmh/target/generated-sources/annotations/org/openjdk/jmh/infra/generated/Blackhole_jmh.java
deleted file mode 100644
index 24e746eb..00000000
--- a/LibOS/shim/test/apps/openjdk/classes/jmh/target/generated-sources/annotations/org/openjdk/jmh/infra/generated/Blackhole_jmh.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package org.openjdk.jmh.infra.generated;
-public class Blackhole_jmh extends Blackhole_jmh_B3 {
-}
-
diff --git a/LibOS/shim/test/apps/openjdk/classes/jmh/target/generated-sources/annotations/org/openjdk/jmh/infra/generated/Blackhole_jmh_B1.java b/LibOS/shim/test/apps/openjdk/classes/jmh/target/generated-sources/annotations/org/openjdk/jmh/infra/generated/Blackhole_jmh_B1.java
deleted file mode 100644
index 105de18d..00000000
--- a/LibOS/shim/test/apps/openjdk/classes/jmh/target/generated-sources/annotations/org/openjdk/jmh/infra/generated/Blackhole_jmh_B1.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package org.openjdk.jmh.infra.generated;
-import org.openjdk.jmh.infra.Blackhole;
-public class Blackhole_jmh_B1 extends org.openjdk.jmh.infra.Blackhole {
- boolean p000, p001, p002, p003, p004, p005, p006, p007, p008, p009, p010, p011, p012, p013, p014, p015;
- boolean p016, p017, p018, p019, p020, p021, p022, p023, p024, p025, p026, p027, p028, p029, p030, p031;
- boolean p032, p033, p034, p035, p036, p037, p038, p039, p040, p041, p042, p043, p044, p045, p046, p047;
- boolean p048, p049, p050, p051, p052, p053, p054, p055, p056, p057, p058, p059, p060, p061, p062, p063;
- boolean p064, p065, p066, p067, p068, p069, p070, p071, p072, p073, p074, p075, p076, p077, p078, p079;
- boolean p080, p081, p082, p083, p084, p085, p086, p087, p088, p089, p090, p091, p092, p093, p094, p095;
- boolean p096, p097, p098, p099, p100, p101, p102, p103, p104, p105, p106, p107, p108, p109, p110, p111;
- boolean p112, p113, p114, p115, p116, p117, p118, p119, p120, p121, p122, p123, p124, p125, p126, p127;
- boolean p128, p129, p130, p131, p132, p133, p134, p135, p136, p137, p138, p139, p140, p141, p142, p143;
- boolean p144, p145, p146, p147, p148, p149, p150, p151, p152, p153, p154, p155, p156, p157, p158, p159;
- boolean p160, p161, p162, p163, p164, p165, p166, p167, p168, p169, p170, p171, p172, p173, p174, p175;
- boolean p176, p177, p178, p179, p180, p181, p182, p183, p184, p185, p186, p187, p188, p189, p190, p191;
- boolean p192, p193, p194, p195, p196, p197, p198, p199, p200, p201, p202, p203, p204, p205, p206, p207;
- boolean p208, p209, p210, p211, p212, p213, p214, p215, p216, p217, p218, p219, p220, p221, p222, p223;
- boolean p224, p225, p226, p227, p228, p229, p230, p231, p232, p233, p234, p235, p236, p237, p238, p239;
- boolean p240, p241, p242, p243, p244, p245, p246, p247, p248, p249, p250, p251, p252, p253, p254, p255;
-}
diff --git a/LibOS/shim/test/apps/openjdk/classes/jmh/target/generated-sources/annotations/org/openjdk/jmh/infra/generated/Blackhole_jmh_B2.java b/LibOS/shim/test/apps/openjdk/classes/jmh/target/generated-sources/annotations/org/openjdk/jmh/infra/generated/Blackhole_jmh_B2.java
deleted file mode 100644
index 4ed3c9c8..00000000
--- a/LibOS/shim/test/apps/openjdk/classes/jmh/target/generated-sources/annotations/org/openjdk/jmh/infra/generated/Blackhole_jmh_B2.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package org.openjdk.jmh.infra.generated;
-import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
-public class Blackhole_jmh_B2 extends Blackhole_jmh_B1 {
- public volatile int setupTrialMutex;
- public volatile int tearTrialMutex;
- public final static AtomicIntegerFieldUpdater setupTrialMutexUpdater = AtomicIntegerFieldUpdater.newUpdater(Blackhole_jmh_B2.class, "setupTrialMutex");
- public final static AtomicIntegerFieldUpdater tearTrialMutexUpdater = AtomicIntegerFieldUpdater.newUpdater(Blackhole_jmh_B2.class, "tearTrialMutex");
-
- public volatile int setupIterationMutex;
- public volatile int tearIterationMutex;
- public final static AtomicIntegerFieldUpdater setupIterationMutexUpdater = AtomicIntegerFieldUpdater.newUpdater(Blackhole_jmh_B2.class, "setupIterationMutex");
- public final static AtomicIntegerFieldUpdater tearIterationMutexUpdater = AtomicIntegerFieldUpdater.newUpdater(Blackhole_jmh_B2.class, "tearIterationMutex");
-
- public volatile int setupInvocationMutex;
- public volatile int tearInvocationMutex;
- public final static AtomicIntegerFieldUpdater setupInvocationMutexUpdater = AtomicIntegerFieldUpdater.newUpdater(Blackhole_jmh_B2.class, "setupInvocationMutex");
- public final static AtomicIntegerFieldUpdater tearInvocationMutexUpdater = AtomicIntegerFieldUpdater.newUpdater(Blackhole_jmh_B2.class, "tearInvocationMutex");
-
-}
diff --git a/LibOS/shim/test/apps/openjdk/classes/jmh/target/generated-sources/annotations/org/openjdk/jmh/infra/generated/Blackhole_jmh_B3.java b/LibOS/shim/test/apps/openjdk/classes/jmh/target/generated-sources/annotations/org/openjdk/jmh/infra/generated/Blackhole_jmh_B3.java
deleted file mode 100644
index 5fe8daa3..00000000
--- a/LibOS/shim/test/apps/openjdk/classes/jmh/target/generated-sources/annotations/org/openjdk/jmh/infra/generated/Blackhole_jmh_B3.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package org.openjdk.jmh.infra.generated;
-public class Blackhole_jmh_B3 extends Blackhole_jmh_B2 {
- boolean p000, p001, p002, p003, p004, p005, p006, p007, p008, p009, p010, p011, p012, p013, p014, p015;
- boolean p016, p017, p018, p019, p020, p021, p022, p023, p024, p025, p026, p027, p028, p029, p030, p031;
- boolean p032, p033, p034, p035, p036, p037, p038, p039, p040, p041, p042, p043, p044, p045, p046, p047;
- boolean p048, p049, p050, p051, p052, p053, p054, p055, p056, p057, p058, p059, p060, p061, p062, p063;
- boolean p064, p065, p066, p067, p068, p069, p070, p071, p072, p073, p074, p075, p076, p077, p078, p079;
- boolean p080, p081, p082, p083, p084, p085, p086, p087, p088, p089, p090, p091, p092, p093, p094, p095;
- boolean p096, p097, p098, p099, p100, p101, p102, p103, p104, p105, p106, p107, p108, p109, p110, p111;
- boolean p112, p113, p114, p115, p116, p117, p118, p119, p120, p121, p122, p123, p124, p125, p126, p127;
- boolean p128, p129, p130, p131, p132, p133, p134, p135, p136, p137, p138, p139, p140, p141, p142, p143;
- boolean p144, p145, p146, p147, p148, p149, p150, p151, p152, p153, p154, p155, p156, p157, p158, p159;
- boolean p160, p161, p162, p163, p164, p165, p166, p167, p168, p169, p170, p171, p172, p173, p174, p175;
- boolean p176, p177, p178, p179, p180, p181, p182, p183, p184, p185, p186, p187, p188, p189, p190, p191;
- boolean p192, p193, p194, p195, p196, p197, p198, p199, p200, p201, p202, p203, p204, p205, p206, p207;
- boolean p208, p209, p210, p211, p212, p213, p214, p215, p216, p217, p218, p219, p220, p221, p222, p223;
- boolean p224, p225, p226, p227, p228, p229, p230, p231, p232, p233, p234, p235, p236, p237, p238, p239;
- boolean p240, p241, p242, p243, p244, p245, p246, p247, p248, p249, p250, p251, p252, p253, p254, p255;
-}
-
diff --git a/LibOS/shim/test/apps/openjdk/classes/jmh/target/generated-sources/annotations/org/sample/generated/MyBenchmark_jmh.java b/LibOS/shim/test/apps/openjdk/classes/jmh/target/generated-sources/annotations/org/sample/generated/MyBenchmark_jmh.java
deleted file mode 100644
index 8e845fb7..00000000
--- a/LibOS/shim/test/apps/openjdk/classes/jmh/target/generated-sources/annotations/org/sample/generated/MyBenchmark_jmh.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package org.sample.generated;
-public class MyBenchmark_jmh extends MyBenchmark_jmh_B3 {
-}
-
diff --git a/LibOS/shim/test/apps/openjdk/classes/jmh/target/generated-sources/annotations/org/sample/generated/MyBenchmark_jmh_B1.java b/LibOS/shim/test/apps/openjdk/classes/jmh/target/generated-sources/annotations/org/sample/generated/MyBenchmark_jmh_B1.java
deleted file mode 100644
index 6d09cfa7..00000000
--- a/LibOS/shim/test/apps/openjdk/classes/jmh/target/generated-sources/annotations/org/sample/generated/MyBenchmark_jmh_B1.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package org.sample.generated;
-import org.sample.MyBenchmark;
-public class MyBenchmark_jmh_B1 extends org.sample.MyBenchmark {
- boolean p000, p001, p002, p003, p004, p005, p006, p007, p008, p009, p010, p011, p012, p013, p014, p015;
- boolean p016, p017, p018, p019, p020, p021, p022, p023, p024, p025, p026, p027, p028, p029, p030, p031;
- boolean p032, p033, p034, p035, p036, p037, p038, p039, p040, p041, p042, p043, p044, p045, p046, p047;
- boolean p048, p049, p050, p051, p052, p053, p054, p055, p056, p057, p058, p059, p060, p061, p062, p063;
- boolean p064, p065, p066, p067, p068, p069, p070, p071, p072, p073, p074, p075, p076, p077, p078, p079;
- boolean p080, p081, p082, p083, p084, p085, p086, p087, p088, p089, p090, p091, p092, p093, p094, p095;
- boolean p096, p097, p098, p099, p100, p101, p102, p103, p104, p105, p106, p107, p108, p109, p110, p111;
- boolean p112, p113, p114, p115, p116, p117, p118, p119, p120, p121, p122, p123, p124, p125, p126, p127;
- boolean p128, p129, p130, p131, p132, p133, p134, p135, p136, p137, p138, p139, p140, p141, p142, p143;
- boolean p144, p145, p146, p147, p148, p149, p150, p151, p152, p153, p154, p155, p156, p157, p158, p159;
- boolean p160, p161, p162, p163, p164, p165, p166, p167, p168, p169, p170, p171, p172, p173, p174, p175;
- boolean p176, p177, p178, p179, p180, p181, p182, p183, p184, p185, p186, p187, p188, p189, p190, p191;
- boolean p192, p193, p194, p195, p196, p197, p198, p199, p200, p201, p202, p203, p204, p205, p206, p207;
- boolean p208, p209, p210, p211, p212, p213, p214, p215, p216, p217, p218, p219, p220, p221, p222, p223;
- boolean p224, p225, p226, p227, p228, p229, p230, p231, p232, p233, p234, p235, p236, p237, p238, p239;
- boolean p240, p241, p242, p243, p244, p245, p246, p247, p248, p249, p250, p251, p252, p253, p254, p255;
-}
diff --git a/LibOS/shim/test/apps/openjdk/classes/jmh/target/generated-sources/annotations/org/sample/generated/MyBenchmark_jmh_B2.java b/LibOS/shim/test/apps/openjdk/classes/jmh/target/generated-sources/annotations/org/sample/generated/MyBenchmark_jmh_B2.java
deleted file mode 100644
index 1e0978ef..00000000
--- a/LibOS/shim/test/apps/openjdk/classes/jmh/target/generated-sources/annotations/org/sample/generated/MyBenchmark_jmh_B2.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package org.sample.generated;
-import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
-public class MyBenchmark_jmh_B2 extends MyBenchmark_jmh_B1 {
- public volatile int setupTrialMutex;
- public volatile int tearTrialMutex;
- public final static AtomicIntegerFieldUpdater setupTrialMutexUpdater = AtomicIntegerFieldUpdater.newUpdater(MyBenchmark_jmh_B2.class, "setupTrialMutex");
- public final static AtomicIntegerFieldUpdater tearTrialMutexUpdater = AtomicIntegerFieldUpdater.newUpdater(MyBenchmark_jmh_B2.class, "tearTrialMutex");
-
- public volatile int setupIterationMutex;
- public volatile int tearIterationMutex;
- public final static AtomicIntegerFieldUpdater setupIterationMutexUpdater = AtomicIntegerFieldUpdater.newUpdater(MyBenchmark_jmh_B2.class, "setupIterationMutex");
- public final static AtomicIntegerFieldUpdater tearIterationMutexUpdater = AtomicIntegerFieldUpdater.newUpdater(MyBenchmark_jmh_B2.class, "tearIterationMutex");
-
- public volatile int setupInvocationMutex;
- public volatile int tearInvocationMutex;
- public final static AtomicIntegerFieldUpdater setupInvocationMutexUpdater = AtomicIntegerFieldUpdater.newUpdater(MyBenchmark_jmh_B2.class, "setupInvocationMutex");
- public final static AtomicIntegerFieldUpdater tearInvocationMutexUpdater = AtomicIntegerFieldUpdater.newUpdater(MyBenchmark_jmh_B2.class, "tearInvocationMutex");
-
-}
diff --git a/LibOS/shim/test/apps/openjdk/classes/jmh/target/generated-sources/annotations/org/sample/generated/MyBenchmark_jmh_B3.java b/LibOS/shim/test/apps/openjdk/classes/jmh/target/generated-sources/annotations/org/sample/generated/MyBenchmark_jmh_B3.java
deleted file mode 100644
index 63a79ea5..00000000
--- a/LibOS/shim/test/apps/openjdk/classes/jmh/target/generated-sources/annotations/org/sample/generated/MyBenchmark_jmh_B3.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package org.sample.generated;
-public class MyBenchmark_jmh_B3 extends MyBenchmark_jmh_B2 {
- boolean p000, p001, p002, p003, p004, p005, p006, p007, p008, p009, p010, p011, p012, p013, p014, p015;
- boolean p016, p017, p018, p019, p020, p021, p022, p023, p024, p025, p026, p027, p028, p029, p030, p031;
- boolean p032, p033, p034, p035, p036, p037, p038, p039, p040, p041, p042, p043, p044, p045, p046, p047;
- boolean p048, p049, p050, p051, p052, p053, p054, p055, p056, p057, p058, p059, p060, p061, p062, p063;
- boolean p064, p065, p066, p067, p068, p069, p070, p071, p072, p073, p074, p075, p076, p077, p078, p079;
- boolean p080, p081, p082, p083, p084, p085, p086, p087, p088, p089, p090, p091, p092, p093, p094, p095;
- boolean p096, p097, p098, p099, p100, p101, p102, p103, p104, p105, p106, p107, p108, p109, p110, p111;
- boolean p112, p113, p114, p115, p116, p117, p118, p119, p120, p121, p122, p123, p124, p125, p126, p127;
- boolean p128, p129, p130, p131, p132, p133, p134, p135, p136, p137, p138, p139, p140, p141, p142, p143;
- boolean p144, p145, p146, p147, p148, p149, p150, p151, p152, p153, p154, p155, p156, p157, p158, p159;
- boolean p160, p161, p162, p163, p164, p165, p166, p167, p168, p169, p170, p171, p172, p173, p174, p175;
- boolean p176, p177, p178, p179, p180, p181, p182, p183, p184, p185, p186, p187, p188, p189, p190, p191;
- boolean p192, p193, p194, p195, p196, p197, p198, p199, p200, p201, p202, p203, p204, p205, p206, p207;
- boolean p208, p209, p210, p211, p212, p213, p214, p215, p216, p217, p218, p219, p220, p221, p222, p223;
- boolean p224, p225, p226, p227, p228, p229, p230, p231, p232, p233, p234, p235, p236, p237, p238, p239;
- boolean p240, p241, p242, p243, p244, p245, p246, p247, p248, p249, p250, p251, p252, p253, p254, p255;
-}
-
diff --git a/LibOS/shim/test/apps/openjdk/classes/jmh/target/generated-sources/annotations/org/sample/generated/MyBenchmark_testMethod.java b/LibOS/shim/test/apps/openjdk/classes/jmh/target/generated-sources/annotations/org/sample/generated/MyBenchmark_testMethod.java
deleted file mode 100644
index 4b959fce..00000000
--- a/LibOS/shim/test/apps/openjdk/classes/jmh/target/generated-sources/annotations/org/sample/generated/MyBenchmark_testMethod.java
+++ /dev/null
@@ -1,282 +0,0 @@
-package org.sample.generated;
-
-import java.util.List;
-import java.util.concurrent.atomic.AtomicInteger;
-import java.util.Collection;
-import java.util.ArrayList;
-import java.util.concurrent.TimeUnit;
-import javax.annotation.Generated;
-import org.openjdk.jmh.annotations.CompilerControl;
-import org.openjdk.jmh.runner.InfraControl;
-import org.openjdk.jmh.infra.ThreadParams;
-import org.openjdk.jmh.results.Result;
-import org.openjdk.jmh.results.ThroughputResult;
-import org.openjdk.jmh.results.AverageTimeResult;
-import org.openjdk.jmh.results.SampleTimeResult;
-import org.openjdk.jmh.results.SingleShotResult;
-import org.openjdk.jmh.util.SampleBuffer;
-import org.openjdk.jmh.annotations.Mode;
-import org.openjdk.jmh.annotations.Fork;
-import org.openjdk.jmh.annotations.Measurement;
-import org.openjdk.jmh.annotations.Threads;
-import org.openjdk.jmh.annotations.Warmup;
-import org.openjdk.jmh.annotations.BenchmarkMode;
-import org.openjdk.jmh.results.RawResults;
-import org.openjdk.jmh.results.ResultRole;
-import java.lang.reflect.Field;
-import org.openjdk.jmh.infra.BenchmarkParams;
-import org.openjdk.jmh.infra.IterationParams;
-
-import org.openjdk.jmh.infra.generated.Blackhole_jmh;
-import org.sample.generated.MyBenchmark_jmh;
-@Generated("org.openjdk.jmh.generators.core.BenchmarkGenerator")
-public final class MyBenchmark_testMethod {
-
- boolean p000, p001, p002, p003, p004, p005, p006, p007, p008, p009, p010, p011, p012, p013, p014, p015;
- boolean p016, p017, p018, p019, p020, p021, p022, p023, p024, p025, p026, p027, p028, p029, p030, p031;
- boolean p032, p033, p034, p035, p036, p037, p038, p039, p040, p041, p042, p043, p044, p045, p046, p047;
- boolean p048, p049, p050, p051, p052, p053, p054, p055, p056, p057, p058, p059, p060, p061, p062, p063;
- boolean p064, p065, p066, p067, p068, p069, p070, p071, p072, p073, p074, p075, p076, p077, p078, p079;
- boolean p080, p081, p082, p083, p084, p085, p086, p087, p088, p089, p090, p091, p092, p093, p094, p095;
- boolean p096, p097, p098, p099, p100, p101, p102, p103, p104, p105, p106, p107, p108, p109, p110, p111;
- boolean p112, p113, p114, p115, p116, p117, p118, p119, p120, p121, p122, p123, p124, p125, p126, p127;
- boolean p128, p129, p130, p131, p132, p133, p134, p135, p136, p137, p138, p139, p140, p141, p142, p143;
- boolean p144, p145, p146, p147, p148, p149, p150, p151, p152, p153, p154, p155, p156, p157, p158, p159;
- boolean p160, p161, p162, p163, p164, p165, p166, p167, p168, p169, p170, p171, p172, p173, p174, p175;
- boolean p176, p177, p178, p179, p180, p181, p182, p183, p184, p185, p186, p187, p188, p189, p190, p191;
- boolean p192, p193, p194, p195, p196, p197, p198, p199, p200, p201, p202, p203, p204, p205, p206, p207;
- boolean p208, p209, p210, p211, p212, p213, p214, p215, p216, p217, p218, p219, p220, p221, p222, p223;
- boolean p224, p225, p226, p227, p228, p229, p230, p231, p232, p233, p234, p235, p236, p237, p238, p239;
- boolean p240, p241, p242, p243, p244, p245, p246, p247, p248, p249, p250, p251, p252, p253, p254, p255;
- int startRndMask;
-
- public Collection testMethod_Throughput(InfraControl control, ThreadParams threadParams) throws Throwable {
- if (threadParams.getSubgroupIndex() == 0) {
- Blackhole_jmh l_blackhole1_1 = _jmh_tryInit_f_blackhole1_1(control, threadParams);
- MyBenchmark_jmh l_mybenchmark0_0 = _jmh_tryInit_f_mybenchmark0_0(control, threadParams);
-
- control.preSetup();
- l_blackhole1_1.clearSinks();
-
- control.announceWarmupReady();
- while (control.warmupShouldWait) {
- l_mybenchmark0_0.testMethod();
- }
-
- RawResults res = new RawResults(control.benchmarkParams.getOpsPerInvocation());
- testMethod_thrpt_jmhStub(control, res, l_mybenchmark0_0, l_blackhole1_1);
- res.operations /= control.iterationParams.getBatchSize();
- control.announceWarmdownReady();
- try {
- while (control.warmdownShouldWait) {
- l_mybenchmark0_0.testMethod();
- }
- control.preTearDown();
- } catch (InterruptedException ie) {
- control.preTearDownForce();
- }
-
- if (control.isLastIteration()) {
- f_mybenchmark0_0 = null;
- f_blackhole1_1 = null;
- }
- Collection results = new ArrayList();
- results.add(new ThroughputResult(ResultRole.PRIMARY, "testMethod", res.getOperations(), res.getTime(), control.benchmarkParams.getTimeUnit()));
- return results;
- } else
- throw new IllegalStateException("Harness failed to distribute threads among groups properly");
- }
-
- public void testMethod_thrpt_jmhStub(InfraControl control, RawResults result, MyBenchmark_jmh l_mybenchmark0_0, Blackhole_jmh l_blackhole1_1) throws Throwable {
- long operations = 0;
- long realTime = 0;
- result.startTime = System.nanoTime();
- do {
- l_mybenchmark0_0.testMethod();
- operations++;
- } while(!control.isDone);
- result.stopTime = System.nanoTime();
- result.realTime = realTime;
- result.operations = operations;
- }
-
-
- public Collection testMethod_AverageTime(InfraControl control, ThreadParams threadParams) throws Throwable {
- if (threadParams.getSubgroupIndex() == 0) {
- Blackhole_jmh l_blackhole1_1 = _jmh_tryInit_f_blackhole1_1(control, threadParams);
- MyBenchmark_jmh l_mybenchmark0_0 = _jmh_tryInit_f_mybenchmark0_0(control, threadParams);
-
- control.preSetup();
- l_blackhole1_1.clearSinks();
-
- control.announceWarmupReady();
- while (control.warmupShouldWait) {
- l_mybenchmark0_0.testMethod();
- }
-
- RawResults res = new RawResults(control.benchmarkParams.getOpsPerInvocation());
- testMethod_avgt_jmhStub(control, res, l_mybenchmark0_0, l_blackhole1_1);
- res.operations /= control.iterationParams.getBatchSize();
- control.announceWarmdownReady();
- try {
- while (control.warmdownShouldWait) {
- l_mybenchmark0_0.testMethod();
- }
- control.preTearDown();
- } catch (InterruptedException ie) {
- control.preTearDownForce();
- }
-
- if (control.isLastIteration()) {
- f_mybenchmark0_0 = null;
- f_blackhole1_1 = null;
- }
- Collection results = new ArrayList();
- results.add(new AverageTimeResult(ResultRole.PRIMARY, "testMethod", res.getOperations(), res.getTime(), control.benchmarkParams.getTimeUnit()));
- return results;
- } else
- throw new IllegalStateException("Harness failed to distribute threads among groups properly");
- }
-
- public void testMethod_avgt_jmhStub(InfraControl control, RawResults result, MyBenchmark_jmh l_mybenchmark0_0, Blackhole_jmh l_blackhole1_1) throws Throwable {
- long operations = 0;
- long realTime = 0;
- result.startTime = System.nanoTime();
- do {
- l_mybenchmark0_0.testMethod();
- operations++;
- } while(!control.isDone);
- result.stopTime = System.nanoTime();
- result.realTime = realTime;
- result.operations = operations;
- }
-
-
- public Collection testMethod_SampleTime(InfraControl control, ThreadParams threadParams) throws Throwable {
- if (threadParams.getSubgroupIndex() == 0) {
- Blackhole_jmh l_blackhole1_1 = _jmh_tryInit_f_blackhole1_1(control, threadParams);
- MyBenchmark_jmh l_mybenchmark0_0 = _jmh_tryInit_f_mybenchmark0_0(control, threadParams);
-
- control.preSetup();
- l_blackhole1_1.clearSinks();
-
- control.announceWarmupReady();
- while (control.warmupShouldWait) {
- l_mybenchmark0_0.testMethod();
- }
-
- int targetSamples = (int) (control.getDuration(TimeUnit.MILLISECONDS) * 20); // at max, 20 timestamps per millisecond
- int batchSize = control.iterationParams.getBatchSize();
- SampleBuffer buffer = new SampleBuffer();
- testMethod_sample_jmhStub(control, buffer, targetSamples, control.benchmarkParams.getOpsPerInvocation(), batchSize, l_mybenchmark0_0, l_blackhole1_1);
- control.announceWarmdownReady();
- try {
- while (control.warmdownShouldWait) {
- l_mybenchmark0_0.testMethod();
- }
- control.preTearDown();
- } catch (InterruptedException ie) {
- control.preTearDownForce();
- }
-
- if (control.isLastIteration()) {
- f_mybenchmark0_0 = null;
- f_blackhole1_1 = null;
- }
- Collection results = new ArrayList();
- results.add(new SampleTimeResult(ResultRole.PRIMARY, "testMethod", buffer, control.benchmarkParams.getTimeUnit()));
- return results;
- } else
- throw new IllegalStateException("Harness failed to distribute threads among groups properly");
- }
-
- public void testMethod_sample_jmhStub(InfraControl control, SampleBuffer buffer, int targetSamples, long opsPerInv, int batchSize, MyBenchmark_jmh l_mybenchmark0_0, Blackhole_jmh l_blackhole1_1) throws Throwable {
- long realTime = 0;
- int rnd = (int)System.nanoTime();
- int rndMask = startRndMask;
- long time = 0;
- int currentStride = 0;
- do {
- rnd = (rnd * 1664525 + 1013904223);
- boolean sample = (rnd & rndMask) == 0;
- if (sample) {
- time = System.nanoTime();
- }
- for (int b = 0; b < batchSize; b++) {
- if (control.volatileSpoiler) return;
- l_mybenchmark0_0.testMethod();
- }
- if (sample) {
- buffer.add((System.nanoTime() - time) / opsPerInv);
- if (currentStride++ > targetSamples) {
- buffer.half();
- currentStride = 0;
- rndMask = (rndMask << 1) + 1;
- }
- }
- } while(!control.isDone);
- startRndMask = Math.max(startRndMask, rndMask);
- }
-
-
- public Collection testMethod_SingleShotTime(InfraControl control, ThreadParams threadParams) throws Throwable {
- if (threadParams.getSubgroupIndex() == 0) {
- Blackhole_jmh l_blackhole1_1 = _jmh_tryInit_f_blackhole1_1(control, threadParams);
- MyBenchmark_jmh l_mybenchmark0_0 = _jmh_tryInit_f_mybenchmark0_0(control, threadParams);
-
- control.preSetup();
- l_blackhole1_1.clearSinks();
-
- RawResults res = new RawResults(control.benchmarkParams.getOpsPerInvocation());
- int batchSize = control.iterationParams.getBatchSize();
- testMethod_ss_jmhStub(control, batchSize, res, l_mybenchmark0_0, l_blackhole1_1);
- control.preTearDown();
-
- if (control.isLastIteration()) {
- f_mybenchmark0_0 = null;
- f_blackhole1_1 = null;
- }
- Collection results = new ArrayList();
- results.add(new SingleShotResult(ResultRole.PRIMARY, "testMethod", res.getTime(), control.benchmarkParams.getTimeUnit()));
- return results;
- } else
- throw new IllegalStateException("Harness failed to distribute threads among groups properly");
- }
-
- public void testMethod_ss_jmhStub(InfraControl control, int batchSize, RawResults result, MyBenchmark_jmh l_mybenchmark0_0, Blackhole_jmh l_blackhole1_1) throws Throwable {
- long realTime = 0;
- result.startTime = System.nanoTime();
- for (int b = 0; b < batchSize; b++) {
- if (control.volatileSpoiler) return;
- l_mybenchmark0_0.testMethod();
- }
- result.stopTime = System.nanoTime();
- result.realTime = realTime;
- }
-
-
- Blackhole_jmh f_blackhole1_1;
-
- Blackhole_jmh _jmh_tryInit_f_blackhole1_1(InfraControl control, ThreadParams threadParams) throws Throwable {
- Blackhole_jmh val = f_blackhole1_1;
- if (val == null) {
- val = new Blackhole_jmh();
- f_blackhole1_1 = val;
- }
- return val;
- }
-
- MyBenchmark_jmh f_mybenchmark0_0;
-
- MyBenchmark_jmh _jmh_tryInit_f_mybenchmark0_0(InfraControl control, ThreadParams threadParams) throws Throwable {
- MyBenchmark_jmh val = f_mybenchmark0_0;
- if (val == null) {
- val = new MyBenchmark_jmh();
- f_mybenchmark0_0 = val;
- }
- return val;
- }
-
-
-}
-
diff --git a/LibOS/shim/test/apps/openjdk/classes/jmh/target/maven-archiver/pom.properties b/LibOS/shim/test/apps/openjdk/classes/jmh/target/maven-archiver/pom.properties
deleted file mode 100644
index 78255c5c..00000000
--- a/LibOS/shim/test/apps/openjdk/classes/jmh/target/maven-archiver/pom.properties
+++ /dev/null
@@ -1,5 +0,0 @@
-#Generated by Maven
-#Mon Feb 09 18:39:08 EST 2015
-version=1.0
-groupId=org.sample
-artifactId=test
diff --git a/LibOS/shim/test/apps/openjdk/classes/jmh/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/LibOS/shim/test/apps/openjdk/classes/jmh/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
deleted file mode 100644
index 691824b6..00000000
--- a/LibOS/shim/test/apps/openjdk/classes/jmh/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
+++ /dev/null
@@ -1,12 +0,0 @@
-org/sample/generated/MyBenchmark_jmh_B3.class
-org/openjdk/jmh/infra/generated/Blackhole_jmh_B1.class
-org/openjdk/jmh/infra/generated/Blackhole_jmh.class
-org/sample/generated/MyBenchmark_jmh.class
-org/openjdk/jmh/infra/generated/Blackhole_jmh_B2.class
-META-INF/BenchmarkList
-org/sample/generated/MyBenchmark_jmh_B1.class
-org/sample/generated/MyBenchmark_jmh_B2.class
-META-INF/CompilerHints
-org/sample/generated/MyBenchmark_testMethod.class
-org/openjdk/jmh/infra/generated/Blackhole_jmh_B3.class
-org/sample/MyBenchmark.class
diff --git a/LibOS/shim/test/apps/openjdk/classes/jmh/target/test-1.0.jar b/LibOS/shim/test/apps/openjdk/classes/jmh/target/test-1.0.jar
deleted file mode 100644
index e69de29b..00000000
diff --git a/LibOS/shim/test/apps/openjdk/java.manifest.template b/LibOS/shim/test/apps/openjdk/java.manifest.template
deleted file mode 100644
index 39606a46..00000000
--- a/LibOS/shim/test/apps/openjdk/java.manifest.template
+++ /dev/null
@@ -1,58 +0,0 @@
-#!$(PAL)
-
-loader.preload = file:$(SHIMPATH)
-loader.exec = file:$(JAVA_HOME)/bin/java
-loader.execname = java
-loader.env.LD_LIBRARY_PATH = /jre/lib/amd64:/jre/lib/amd64/jli:/graphene:/lib/x86_64-linux-gnu:/usr/lib:/usr/lib/x86_64-linux-gnu
-loader.env.PATH = /jre/bin:/bin:/usr/bin
-loader.debug_type = $(DEBUGTYPE)
-
-fs.mount.lib1.type = chroot
-fs.mount.lib1.path = /graphene
-fs.mount.lib1.uri = file:$(LIBCDIR)
-
-fs.mount.lib2.type = chroot
-fs.mount.lib2.path = /lib/x86_64-linux-gnu
-fs.mount.lib2.uri = file:/lib/x86_64-linux-gnu
-
-fs.mount.jre.type = chroot
-fs.mount.jre.path = /jre
-fs.mount.jre.uri = file:$(JAVA_HOME)
-
-fs.mount.usr.type = chroot
-fs.mount.usr.path = /usr
-fs.mount.usr.uri = file:/usr
-
-fs.mount.tmp.type = chroot
-fs.mount.tmp.path = /tmp
-fs.mount.tmp.uri = file:/tmp
-
-$(RESOURCE_RULE)
-
-sgx.search_trusted_libs.libc = file:$(LIBCDIR)
-sgx.search_trusted_libs.java = file:$(JAVA_HOME)/lib/amd64
-sgx.search_trusted_libs.java_server = file:$(JAVA_HOME)/lib/amd64/server
-
-sgx.trusted_libs.librt = file:$(LIBCDIR)/librt.so.1
-sgx.trusted_libs.libjava = file:$(JAVA_HOME)/lib/amd64/libjava.so
-sgx.trusted_libs.libjli = file:$(JAVA_HOME)/lib/amd64/jli/libjli.so
-sgx.trusted_libs.libjvm = file:$(JAVA_HOME)/lib/amd64/server/libjvm.so
-sgx.trusted_libs.libzip = file:$(JAVA_HOME)/lib/amd64/libzip.so
-sgx.trusted_libs.libnet = file:$(JAVA_HOME)/lib/amd64/libnet.so
-sgx.trusted_libs.libnio = file:$(JAVA_HOME)/lib/amd64/libnio.so
-sgx.trusted_libs.libnssc = file:/lib/x86_64-linux-gnu/libnss_compat.so.2
-sgx.trusted_libs.libnssf = file:/lib/x86_64-linux-gnu/libnss_files.so.2
-sgx.trusted_libs.libnssn = file:/lib/x86_64-linux-gnu/libnss_nis.so.2
-
-sgx.trusted_files.jvmcfg = file:$(JAVA_HOME)/lib/amd64/jvm.cfg
-sgx.trusted_files.meta = file:$(JAVA_HOME)/lib/meta-index
-sgx.trusted_files.tzdb = file:$(JAVA_HOME)/lib/tzdb.dat
-sgx.trusted_files.currency = file:$(JAVA_HOME)/lib/currency.data
-sgx.trusted_files.rt = file:$(JAVA_HOME)/lib/rt.jar
-sgx.trusted_files.resources = file:$(JAVA_HOME)/lib/resources.jar
-
-sgx.allowed_files.ext = file:$(JAVA_HOME)/lib/ext
-sgx.allowed_files.classes = file:classes
-sgx.allowed_files.tmp = file:/tmp
-sgx.allowed_files.xml_out = file:xml_out
-sgx.allowed_files.SPECjvm2008 = file:SPECjvm2008
diff --git a/LibOS/shim/test/apps/python/.gitignore b/LibOS/shim/test/apps/python/.gitignore
deleted file mode 100644
index a6bb834d..00000000
--- a/LibOS/shim/test/apps/python/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/benchmarks/
diff --git a/LibOS/shim/test/apps/python/Makefile b/LibOS/shim/test/apps/python/Makefile
deleted file mode 100644
index 30cef484..00000000
--- a/LibOS/shim/test/apps/python/Makefile
+++ /dev/null
@@ -1,52 +0,0 @@
-PYTHON_SRC = Python-2.7.9
-PYTHON_INSTALL = $(PYTHON_SRC)/build
-
-manifests = python.manifest
-
-target = benchmarks
-exec_target = $(manifests)
-
-extra_rules = -e 's:\$$(PYTHONDIR):$(PYTHON_INSTALL)/:g'
-clean-extra += clean-tmp
-
-level = ../../
-include ../../Makefile
-
-$(PYTHON_INSTALL)/bin/python: $(PYTHON_SRC)/Makefile
- cd $(PYTHON_SRC) && $(MAKE)
- cd $(PYTHON_SRC) && $(MAKE) install
-
-$(PYTHON_SRC)/Makefile: $(PYTHON_SRC)/configure
- cd $(PYTHON_SRC) && \
- ./configure --prefix=$(shell readlink -f $(PYTHON_INSTALL))
-
-$(PYTHON_SRC)/configure: $(PYTHON_SRC).tgz
- tar -xmzf $<
-
-benchmarks: benchmarks.tar.gz
- tar -xmzf $<
-
-regression:
- @echo "\n\nBuilding Python..."
- @$(MAKE) >> /dev/null 2>&1
-
- @echo "\n\nRun helloworld.py:"
- -./python.manifest scripts/helloworld.py > OUTPUT
- -grep -q "Hello World" OUTPUT
- @rm OUTPUT
-
- @echo "\n\nRun fibonacci.py:"
- -./python.manifest scripts/fibonacci.py > OUTPUT
- -grep -q "fib2 55" OUTPUT
- @rm -f OUTPUT
-
- ./web-test.sh
-
-
-BENCHMARK = all,-rietveld,-spitfire,-tornado_http
-
-clean-tmp:
- rm -f python.manifest.sgx
-
-distclean: clean
- rm -rf $(PYTHON_SRC) benchmarks
diff --git a/LibOS/shim/test/apps/python/Python-2.7.9.tgz b/LibOS/shim/test/apps/python/Python-2.7.9.tgz
deleted file mode 100644
index 080fd7a5..00000000
Binary files a/LibOS/shim/test/apps/python/Python-2.7.9.tgz and /dev/null differ
diff --git a/LibOS/shim/test/apps/python/benchmarks.tar.gz b/LibOS/shim/test/apps/python/benchmarks.tar.gz
deleted file mode 100644
index f276672c..00000000
Binary files a/LibOS/shim/test/apps/python/benchmarks.tar.gz and /dev/null differ
diff --git a/LibOS/shim/test/apps/python/gai.conf b/LibOS/shim/test/apps/python/gai.conf
deleted file mode 100644
index 4616ed00..00000000
--- a/LibOS/shim/test/apps/python/gai.conf
+++ /dev/null
@@ -1,65 +0,0 @@
-# Configuration for getaddrinfo(3).
-#
-# So far only configuration for the destination address sorting is needed.
-# RFC 3484 governs the sorting. But the RFC also says that system
-# administrators should be able to overwrite the defaults. This can be
-# achieved here.
-#
-# All lines have an initial identifier specifying the option followed by
-# up to two values. Information specified in this file replaces the
-# default information. Complete absence of data of one kind causes the
-# appropriate default information to be used. The supported commands include:
-#
-# reload
-# If set to yes, each getaddrinfo(3) call will check whether this file
-# changed and if necessary reload. This option should not really be
-# used. There are possible runtime problems. The default is no.
-#
-# label
-# Add another rule to the RFC 3484 label table. See section 2.1 in
-# RFC 3484. The default is:
-#
-#label ::1/128 0
-#label ::/0 1
-#label 2002::/16 2
-#label ::/96 3
-#label ::ffff:0:0/96 4
-#label fec0::/10 5
-#label fc00::/7 6
-#label 2001:0::/32 7
-#
-# This default differs from the tables given in RFC 3484 by handling
-# (now obsolete) site-local IPv6 addresses and Unique Local Addresses.
-# The reason for this difference is that these addresses are never
-# NATed while IPv4 site-local addresses most probably are. Given
-# the precedence of IPv6 over IPv4 (see below) on machines having only
-# site-local IPv4 and IPv6 addresses a lookup for a global address would
-# see the IPv6 be preferred. The result is a long delay because the
-# site-local IPv6 addresses cannot be used while the IPv4 address is
-# (at least for the foreseeable future) NATed. We also treat Teredo
-# tunnels special.
-#
-# precedence
-# Add another rule to the RFC 3484 precedence table. See section 2.1
-# and 10.3 in RFC 3484. The default is:
-#
-#precedence ::1/128 50
-#precedence ::/0 40
-#precedence 2002::/16 30
-#precedence ::/96 20
-#precedence ::ffff:0:0/96 10
-#
-# For sites which prefer IPv4 connections change the last line to
-#
-#precedence ::ffff:0:0/96 100
-
-#
-# scopev4
-# Add another rule to the RFC 6724 scope table for IPv4 addresses.
-# By default the scope IDs described in section 3.2 in RFC 6724 are
-# used. Changing these defaults should hardly ever be necessary.
-# The defaults are equivalent to:
-#
-#scopev4 ::ffff:169.254.0.0/112 2
-#scopev4 ::ffff:127.0.0.0/104 2
-#scopev4 ::ffff:0.0.0.0/96 14
diff --git a/LibOS/shim/test/apps/python/hosts b/LibOS/shim/test/apps/python/hosts
deleted file mode 100644
index 2925909e..00000000
--- a/LibOS/shim/test/apps/python/hosts
+++ /dev/null
@@ -1,8 +0,0 @@
-127.0.0.1 localhost
-
-# The following lines are desirable for IPv6 capable hosts
-::1 ip6-localhost ip6-loopback
-fe00::0 ip6-localnet
-ff00::0 ip6-mcastprefix
-ff02::1 ip6-allnodes
-ff02::2 ip6-allrouters
diff --git a/LibOS/shim/test/apps/python/python.manifest.template b/LibOS/shim/test/apps/python/python.manifest.template
deleted file mode 100644
index 66c14979..00000000
--- a/LibOS/shim/test/apps/python/python.manifest.template
+++ /dev/null
@@ -1,55 +0,0 @@
-#!$(PAL)
-
-loader.preload = file:$(SHIMPATH)
-loader.exec = file:/usr/bin/python
-loader.execname = python
-loader.env.LD_LIBRARY_PATH = /graphene:/graphene/resolv:/host:/usr/lib:/usr/lib/x86_64-linux-gnu
-loader.env.PATH = /usr/bin:/bin
-loader.env.USERNAME =
-loader.env.HOME =
-loader.env.PWD =
-loader.debug_type = none
-
-fs.mount.lib1.type = chroot
-fs.mount.lib1.path = /graphene
-fs.mount.lib1.uri = file:$(LIBCDIR)
-
-fs.mount.lib2.type = chroot
-fs.mount.lib2.path = /host
-fs.mount.lib2.uri = file:/lib/x86_64-linux-gnu
-
-fs.mount.bin.type = chroot
-fs.mount.bin.path = /bin
-fs.mount.bin.uri = file:/bin
-
-fs.mount.usr.type = chroot
-fs.mount.usr.path = /usr
-fs.mount.usr.uri = file:/usr
-
-fs.mount.etc.type = chroot
-fs.mount.etc.path = /etc
-fs.mount.etc.uri = file:
-
-sys.stack.size = 256K
-sys.brk.size = 4M
-glibc.heap_size = 16M
-
-sgx.trusted_files.ld = file:$(LIBCDIR)/ld-linux-x86-64.so.2
-sgx.trusted_files.libc = file:$(LIBCDIR)/libc.so.6
-sgx.trusted_files.libdl = file:$(LIBCDIR)/libdl.so.2
-sgx.trusted_files.libm = file:$(LIBCDIR)/libm.so.6
-sgx.trusted_files.libpthread = file:$(LIBCDIR)/libpthread.so.0
-sgx.trusted_files.liburil = file:$(LIBCDIR)/libutil.so.1
-sgx.trusted_files.libz = file:/lib/x86_64-linux-gnu/libz.so.1
-sgx.trusted_files.libnss1 = file:/lib/x86_64-linux-gnu/libnss_compat.so.2
-sgx.trusted_files.libnss2 = file:/lib/x86_64-linux-gnu/libnss_files.so.2
-sgx.trusted_files.libnss3 = file:$(LIBCDIR)/libnss_dns.so.2
-sgx.trusted_files.libssl = file:/lib/x86_64-linux-gnu/libssl.so.1.0.0
-sgx.trusted_files.libcrypto = file:/lib/x86_64-linux-gnu/libcrypto.so.1.0.0
-sgx.trusted_files.libresolv = file:$(LIBCDIR)/libresolv.so.2
-sgx.trusted_files.hosts = file:hosts
-sgx.trusted_files.resolv = file:resolv.conf
-sgx.trusted_files.gai = file:gai.conf
-
-sgx.allowed_files.pyhome = file:/usr/lib/python2.7
-sgx.allowed_files.scripts = file:scripts
diff --git a/LibOS/shim/test/apps/python/resolv.conf b/LibOS/shim/test/apps/python/resolv.conf
deleted file mode 100644
index 276c26b1..00000000
--- a/LibOS/shim/test/apps/python/resolv.conf
+++ /dev/null
@@ -1,2 +0,0 @@
-nameserver 8.8.8.8
-nameserver 8.8.4.4
diff --git a/LibOS/shim/test/apps/python/scripts/benchrun.py b/LibOS/shim/test/apps/python/scripts/benchrun.py
deleted file mode 100644
index bbefbfb7..00000000
--- a/LibOS/shim/test/apps/python/scripts/benchrun.py
+++ /dev/null
@@ -1,116 +0,0 @@
-"""
-Downloaded from https://code.google.com/p/benchrun/
-
-A benchmark is defined by creating a subclass of Benchmark.
-The subclass should define a method run() that executes the code
-to be timed and returns the elapsed time in seconds (as a float),
-or None if the benchmark should be skipped.
-
-See fibonacci.py for example.
-"""
-
-import sys
-if sys.platform=='win32':
- from time import clock
-else:
- from time import time as clock
-
-# http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/302478
-def combinations(*seqin):
- def rloop(seqin,comb):
- if seqin:
- for item in seqin[0]:
- newcomb = comb + [item]
- for item in rloop(seqin[1:],newcomb):
- yield item
- else:
- yield comb
- return rloop(seqin,[])
-
-
-class Benchmark:
- sort_by = []
- reference = None
-
- def __init__(self):
- self.pnames = []
- self.pvalues = []
- self.results = []
- self.results_dict = {}
- for pname in self.parameters:
- value = getattr(self, pname)
- self.pnames.append(pname)
- self.pvalues.append(value)
- self.pcombos = list(combinations(*self.pvalues))
- if self.reference:
- self.reference_param = self.reference[0]
- self.reference_value = self.reference[1]
-
- def time_all(self):
- """Run benchmark for all versions and parameters."""
- for params in self.pcombos:
- args = dict(zip(self.pnames, params))
- t = self.run(**args)
- self.results.append(tuple(params) + (t,))
- self.results_dict[tuple(params)] = t
-
- def sort_results(self):
- sort_keys = []
- for name in self.sort_by:
- sort_keys += [self.pnames.index(name)]
- for i, name in enumerate(self.pnames):
- if i not in sort_keys:
- sort_keys += [i]
- def key(v):
- return list(v[i] for i in sort_keys)
- self.results.sort(key=key)
-
- def get_factor(self, pvalues, time):
- if not self.reference or not time:
- return None
- pvalues = list(pvalues)
- i = self.pnames.index(self.reference_param)
- if pvalues[i] == self.reference_value:
- return None
- else:
- pvalues[i] = self.reference_value
- ref = self.results_dict[tuple(pvalues)]
- if ref == None:
- return None
- return ref / time
-
- def print_result(self):
- """Run benchmark for all versions and parameters and print results
- in tabular form to the standard output."""
- self.time_all()
- self.sort_results()
-
- print "=" * 78
- print
- print self.__class__.__name__
- print self.__doc__, "\n"
-
- colwidth = 15
- reftimes = {}
-
- ts = "seconds"
- if self.reference:
- ts += " (x faster than " + (str(self.reference_value)) + ")"
- print " ", " ".join([str(r).ljust(colwidth) for r in self.pnames + [ts]])
- print "-"*79
-
- rows = []
- for vals in self.results:
- pvalues = vals[:-1]
- time = vals[-1]
- if time == None:
- stime = "(n/a)"
- else:
- stime = "%.8f" % time
- factor = self.get_factor(pvalues, time)
- if factor != None:
- stime += (" (%.2f)" % factor)
- vals = pvalues + (stime,)
- row = [str(val).ljust(colwidth) for val in vals]
- print " ", " ".join(row)
- print
diff --git a/LibOS/shim/test/apps/python/scripts/dummy-web-server.py b/LibOS/shim/test/apps/python/scripts/dummy-web-server.py
deleted file mode 100644
index 86bdd1a0..00000000
--- a/LibOS/shim/test/apps/python/scripts/dummy-web-server.py
+++ /dev/null
@@ -1,54 +0,0 @@
-#!/usr/bin/env python2
-
-"""
-Very simple HTTP server in python.
-Downloaded from: https://gist.github.com/bradmontgomery/2219997
-
-Usage::
- ./dummy-web-server.py []
-
-Send a GET request::
- curl http://localhost
-
-Send a HEAD request::
- curl -I http://localhost
-
-Send a POST request::
- curl -d "foo=bar&bin=baz" http://localhost
-
-"""
-
-from BaseHTTPServer import BaseHTTPRequestHandler, HTTPServer
-import SocketServer
-
-class S(BaseHTTPRequestHandler):
- def _set_headers(self):
- self.send_response(200)
- self.send_header('Content-type', 'text/html')
- self.end_headers()
-
- def do_GET(self):
- self._set_headers()
- self.wfile.write("hi!
")
-
- def do_HEAD(self):
- self._set_headers()
-
- def do_POST(self):
- # Doesn't do anything with posted data
- self._set_headers()
- self.wfile.write("POST!
")
-
-def run(server_class=HTTPServer, handler_class=S, port=80):
- server_address = ('', port)
- httpd = server_class(server_address, handler_class)
- print 'Starting httpd...'
- httpd.serve_forever()
-
-if __name__ == "__main__":
- from sys import argv
-
- if len(argv) == 2:
- run(port=int(argv[1]))
- else:
- run()
diff --git a/LibOS/shim/test/apps/python/scripts/fibonacci.py b/LibOS/shim/test/apps/python/scripts/fibonacci.py
deleted file mode 100644
index 91b3f505..00000000
--- a/LibOS/shim/test/apps/python/scripts/fibonacci.py
+++ /dev/null
@@ -1,54 +0,0 @@
-"""
-Downloaded from https://code.google.com/p/benchrun/
-
-Fibonacci numbers test benchmark
-"""
-
-from benchrun import Benchmark, clock
-
-def fib1(n):
- if n < 2:
- return n
- return fib1(n-1) + fib1(n-2)
-
-def fib2(n):
- if n < 2:
- return n
- a, b = 1, 0
- for i in xrange(n-1):
- a, b = a+b, a
- return a
-
-class FibonacciBenchmark(Benchmark):
- """Compare time to compute the nth Fibonacci number recursively
- (fib1) and iteratively (fib2)."""
-
- # Execute for all combinations of these parameters
- parameters = ['version', 'n']
- version = ['fib1', 'fib2']
- n = range(0, 60, 5)
-
- # Compare timings against this parameter value
- reference = ('version', 'fib1')
-
- def run(self, n, version):
- f = globals()[version]
- # Don't repeat when slow
- if version == 'fib1' and n > 10:
- # Skip altogether
- if n > 30:
- return None
- t1 = clock()
- f(n)
- t2 = clock()
- return t2-t1
- # Need to repeat many times to get accurate timings for small n
- else:
- t1 = clock()
- f(n); f(n); f(n); f(n); f(n); f(n); f(n)
- f(n); f(n); f(n); f(n); f(n); f(n); f(n)
- t2 = clock()
- return (t2 - t1) / 14
-
-if __name__ == '__main__':
- FibonacciBenchmark().print_result()
diff --git a/LibOS/shim/test/apps/python/scripts/helloworld.py b/LibOS/shim/test/apps/python/scripts/helloworld.py
deleted file mode 100644
index 27291062..00000000
--- a/LibOS/shim/test/apps/python/scripts/helloworld.py
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/usr/bin/env python2
-
-print "Hello World"
diff --git a/LibOS/shim/test/apps/python/scripts/sympybench.py b/LibOS/shim/test/apps/python/scripts/sympybench.py
deleted file mode 100644
index 1319f994..00000000
--- a/LibOS/shim/test/apps/python/scripts/sympybench.py
+++ /dev/null
@@ -1,70 +0,0 @@
-"""
-Downloaded from https://code.google.com/p/benchrun/
-
-Test code for benchrun: sympy performance benchmark.
-"""
-
-from benchrun import Benchmark, clock
-
-import sympycore
-import sympy
-
-class SympyBenchmark(Benchmark):
- version = ['sympy', 'sympycore']
- reference = ('version', 'sympy')
-
-
-class DirectSymbolicAddition(SympyBenchmark):
- """Add small polynomials with rational coefficients"""
- parameters = ['version']
- def run(self, version):
- module = __import__(version)
- x, y, z = map(module.Symbol, 'xyz')
- a = 3*x + 2*x*y - module.Rational(1,2)*z + 2
- b = 2*x + module.Rational(3,2)*x*y + 4*z - 2
- n = N = 100
- t1 = clock()
- while n:
- a + n*b
- n -= 1
- t2 = clock()
- return (t2-t1)/N
-
-class PowerExpansion(SympyBenchmark):
- """Expand (x+y+z)**n * (y+x)**(n-1)"""
- parameters = ['version', 'n']
- n = [5, 10, 20]
- def run(self, version, n):
- module = __import__(version)
- if version == 'sympy' and n > 10:
- return None
- x, y, z = map(module.Symbol, 'xyz')
- t1 = clock()
- e = ((x+y+z)**n * (y+x)**(n-1)).expand()
- t2 = clock()
- return t2-t1
-
-class LegendreRecurrence(SympyBenchmark):
- """Calculate the nth Legendre polynomial by recurrence."""
- parameters = ['version', 'n']
- n = [3, 10, 30, 100]
- def run(self, version, n):
- module = __import__(version)
- x = module.Symbol('x')
- if version == 'sympy' and n > 30:
- return None
- b, a = x, 1
- t1 = clock()
- for n in range(1, n):
- b, a = (((2*n+1)*x*b - n*a)/(n+1)).expand(), b
- t2 = clock()
- return t2-t1
-
-all_benchmarks = [
- DirectSymbolicAddition(),
- PowerExpansion(),
- LegendreRecurrence(),
-]
-
-for bench in all_benchmarks:
- bench.print_result()
diff --git a/LibOS/shim/test/apps/python/scripts/test-http.py b/LibOS/shim/test/apps/python/scripts/test-http.py
deleted file mode 100644
index 65a6dfd7..00000000
--- a/LibOS/shim/test/apps/python/scripts/test-http.py
+++ /dev/null
@@ -1,11 +0,0 @@
-import sys,urllib2
-
-request = urllib2.Request("http://" + sys.argv[1] + ":" + sys.argv[2] + "/index.html")
-opener = urllib2.build_opener()
-response = opener.open(request, timeout=10)
-while True:
- data = response.read(1024)
- if data:
- sys.stdout.write(data)
- else:
- break
diff --git a/LibOS/shim/test/apps/python/web-test.sh b/LibOS/shim/test/apps/python/web-test.sh
deleted file mode 100755
index 661fbc07..00000000
--- a/LibOS/shim/test/apps/python/web-test.sh
+++ /dev/null
@@ -1,14 +0,0 @@
-#!/usr/bin/env bash
-
-## We really need to pick a unique ephemeral port; start by just picking pid+1024
-PORT=$(($$ + 1024))
-
-echo "\n\nRun a HTTP server in the background on port " + $PORT
-python scripts/dummy-web-server.py $PORT & echo $! > server.PID
-sleep 1
-echo "\n\nRun test-http.py:"
-./python.manifest scripts/test-http.py 127.0.0.1 $PORT > OUTPUT1
-wget -q http://127.0.0.1:$PORT/ -O OUTPUT2
-diff -q OUTPUT1 OUTPUT2
-kill `cat server.PID`
-rm -f OUTPUT1 OUTPUT2 server.PID
diff --git a/LibOS/shim/test/apps/r/Makefile b/LibOS/shim/test/apps/r/Makefile
deleted file mode 100644
index 9c2b6924..00000000
--- a/LibOS/shim/test/apps/r/Makefile
+++ /dev/null
@@ -1,26 +0,0 @@
-R_SRC = R-3.1.2
-R_INSTALL = $(R_SRC)/build
-
-manifests = R.manifest Rscript.manifest sh.manifest $(if $(wildcard R-local),R-local.manifest,)
-
-target =
-exec_target = $(manifests)
-
-extra_rules = -e 's:\$$(RDIR):$(R_INSTALL)/lib/R/:g'
-
-level = ../../
-include ../../Makefile
-
-$(R_INSTALL)/lib/R/bin/exec/R: $(R_SRC)/Makefile
- cd $(R_SRC) && $(MAKE)
- cd $(R_SRC) && $(MAKE) install
-
-$(R_SRC)/Makefile: $(R_SRC)/configure
- cd $(R_SRC) && \
- ./configure --prefix=$(shell readlink -f $(R_INSTALL))
-
-$(R_SRC)/configure: $(R_SRC).tar.gz
- tar -xmzf $<
-
-distclean: clean
- rm -rf $(R_SRC)
diff --git a/LibOS/shim/test/apps/r/R-3.1.2.tar.gz b/LibOS/shim/test/apps/r/R-3.1.2.tar.gz
deleted file mode 100644
index 4a20a81a..00000000
Binary files a/LibOS/shim/test/apps/r/R-3.1.2.tar.gz and /dev/null differ
diff --git a/LibOS/shim/test/apps/r/R.manifest.template b/LibOS/shim/test/apps/r/R.manifest.template
deleted file mode 100644
index 4feb0c67..00000000
--- a/LibOS/shim/test/apps/r/R.manifest.template
+++ /dev/null
@@ -1,73 +0,0 @@
-#!$(PAL)
-
-loader.preload = file:$(SHIMPATH)
-loader.exec = file:/usr/lib/R/bin/exec/R
-loader.execname = /usr/lib/R/bin/exec/R
-loader.env.LD_LIBRARY_PATH = /lib:/lib/x86_64-linux-gnu:/usr/lib:/usr/lib/x86_64-linux-gnu
-loader.env.PATH = /usr/lib/R/bin:/usr/bin:/bin
-loader.env.USERNAME =
-loader.env.HOME =
-loader.env.PWD =
-loader.env.R_ARCH =
-loader.env.R_HOME = /usr/lib/R
-loader.env.R_SHARE_DIR = /usr/share/R/share
-loader.env.R_INCLUDE_DIR = /usr/share/R/include
-loader.env.R_DOC_DIR = /usr/share/R/doc
-loader.debug_type = none
-
-fs.mount.lib1.type = chroot
-fs.mount.lib1.path = /lib
-fs.mount.lib1.uri = file:$(LIBCDIR)
-
-fs.mount.lib2.type = chroot
-fs.mount.lib2.path = /lib/x86_64-linux-gnu
-fs.mount.lib2.uri = file:/lib/x86_64-linux-gnu
-
-fs.mount.usr.type = chroot
-fs.mount.usr.path = /usr
-fs.mount.usr.uri = file:/usr
-
-fs.mount.bin.type = chroot
-fs.mount.bin.path = /bin
-fs.mount.bin.uri = file:/bin
-
-fs.mount.tmp.type = chroot
-fs.mount.tmp.path = /tmp
-fs.mount.tmp.uri = file:/tmp
-
-sys.stack.size = 256K
-sys.brk.size = 4M
-glibc.heap_size = 16M
-
-sgx.enclave_size = 1G
-
-sgx.trusted_files.ld = file:$(LIBCDIR)/ld-linux-x86-64.so.2
-sgx.trusted_files.libc = file:$(LIBCDIR)/libc.so.6
-sgx.trusted_files.libdl = file:$(LIBCDIR)/libdl.so.2
-sgx.trusted_files.libm = file:$(LIBCDIR)/libm.so.6
-sgx.trusted_files.libpthread = file:$(LIBCDIR)/libpthread.so.0
-sgx.trusted_files.libutil = file:$(LIBCDIR)/libutil.so.1
-sgx.trusted_files.librt = file:$(LIBCDIR)/librt.so.1
-sgx.trusted_files.libnsl = file:/lib/x86_64-linux-gnu/libnsl.so.1
-sgx.trusted_files.libreadline = file:/lib/x86_64-linux-gnu/libreadline.so.6
-sgx.trusted_files.libpcre = file:/lib/x86_64-linux-gnu/libpcre.so.3
-sgx.trusted_files.liblzma = file:/lib/x86_64-linux-gnu/liblzma.so.5
-sgx.trusted_files.libz2 = file:/lib/x86_64-linux-gnu/libbz2.so.1.0
-sgx.trusted_files.libz = file:/lib/x86_64-linux-gnu/libz.so.1
-sgx.trusted_files.libtinfo = file:/lib/x86_64-linux-gnu/libtinfo.so.5
-sgx.trusted_files.libgomp = file:/usr/lib/x86_64-linux-gnu/libgomp.so.1
-sgx.trusted_files.libR = file:/usr/lib/libR.so
-sgx.trusted_files.libblas = file:/usr/lib/libblas.so.3
-sgx.trusted_files.liblapack = file:/usr/lib/liblapack.so.3
-sgx.trusted_files.libnssfiles = file:/lib/x86_64-linux-gnu/libnss_files.so.2
-sgx.trusted_files.libnsscompact = file:/lib/x86_64-linux-gnu/libnss_compat.so.2
-sgx.trusted_files.libnssnis = file:/lib/x86_64-linux-gnu/libnss_nis.so.2
-sgx.trusted_files.libgfortran = file:/usr/lib/x86_64-linux-gnu/libgfortran.so.3
-sgx.trusted_files.libgcc = file:/lib/x86_64-linux-gnu/libgcc_s.so.1
-sgx.trusted_files.libquadmath = file:/usr/lib/x86_64-linux-gnu/libquadmath.so.0
-sgx.trusted_files.sh = file:/bin/sh
-
-sgx.allowed_files.rhome = file:/usr/lib/R
-sgx.allowed_files.scripts = file:scripts
-
-sgx.trusted_children.sh = file:sh.sig
diff --git a/LibOS/shim/test/apps/r/Rscript.manifest.template b/LibOS/shim/test/apps/r/Rscript.manifest.template
deleted file mode 100644
index 41375fbc..00000000
--- a/LibOS/shim/test/apps/r/Rscript.manifest.template
+++ /dev/null
@@ -1,72 +0,0 @@
-#!$(PAL)
-
-loader.preload = file:$(SHIMPATH)
-loader.exec = file:/usr/bin/Rscript
-loader.execname = /usr/bin/Rscript
-loader.env.LD_LIBRARY_PATH = /lib:/lib/x86_64-linux-gnu:/usr/lib:/usr/lib/x86_64-linux-gnu
-loader.env.PATH = /usr/lib/R/bin:/usr/bin:/bin
-loader.env.USERNAME =
-loader.env.HOME =
-loader.env.PWD =
-loader.env.R_ARCH =
-loader.env.R_HOME = /usr/lib/R
-loader.env.R_SHARE_DIR = /usr/share/R/share
-loader.env.R_INCLUDE_DIR = /usr/share/R/include
-loader.env.R_DOC_DIR = /usr/share/R/doc
-loader.debug_type = none
-
-fs.mount.lib1.type = chroot
-fs.mount.lib1.path = /lib
-fs.mount.lib1.uri = file:$(LIBCDIR)
-
-fs.mount.lib2.type = chroot
-fs.mount.lib2.path = /lib/x86_64-linux-gnu
-fs.mount.lib2.uri = file:/lib/x86_64-linux-gnu
-
-fs.mount.usr.type = chroot
-fs.mount.usr.path = /usr
-fs.mount.usr.uri = file:/usr
-
-fs.mount.bin.type = chroot
-fs.mount.bin.path = /bin
-fs.mount.bin.uri = file:/bin
-
-fs.mount.tmp.type = chroot
-fs.mount.tmp.path = /tmp
-fs.mount.tmp.uri = file:/tmp
-
-sys.stack.size = 256K
-sys.brk.size = 4M
-glibc.heap_size = 16M
-
-sgx.trusted_files.ld = file:$(LIBCDIR)/ld-linux-x86-64.so.2
-sgx.trusted_files.libc = file:$(LIBCDIR)/libc.so.6
-sgx.trusted_files.libdl = file:$(LIBCDIR)/libdl.so.2
-sgx.trusted_files.libm = file:$(LIBCDIR)/libm.so.6
-sgx.trusted_files.libpthread = file:$(LIBCDIR)/libpthread.so.0
-sgx.trusted_files.libutil = file:$(LIBCDIR)/libutil.so.1
-sgx.trusted_files.librt = file:$(LIBCDIR)/librt.so.1
-sgx.trusted_files.libnsl = file:/lib/x86_64-linux-gnu/libnsl.so.1
-sgx.trusted_files.libreadline = file:/lib/x86_64-linux-gnu/libreadline.so.6
-sgx.trusted_files.libpcre = file:/lib/x86_64-linux-gnu/libpcre.so.3
-sgx.trusted_files.liblzma = file:/lib/x86_64-linux-gnu/liblzma.so.5
-sgx.trusted_files.libz2 = file:/lib/x86_64-linux-gnu/libbz2.so.1.0
-sgx.trusted_files.libz = file:/lib/x86_64-linux-gnu/libz.so.1
-sgx.trusted_files.libtinfo = file:/lib/x86_64-linux-gnu/libtinfo.so.5
-sgx.trusted_files.libgomp = file:/usr/lib/x86_64-linux-gnu/libgomp.so.1
-sgx.trusted_files.libR = file:/usr/lib/libR.so
-sgx.trusted_files.libblas = file:/usr/lib/libblas.so.3
-sgx.trusted_files.liblapack = file:/usr/lib/liblapack.so.3
-sgx.trusted_files.libnssfiles = file:/lib/x86_64-linux-gnu/libnss_files.so.2
-sgx.trusted_files.libnsscompact = file:/lib/x86_64-linux-gnu/libnss_compat.so.2
-sgx.trusted_files.libnssnis = file:/lib/x86_64-linux-gnu/libnss_nis.so.2
-sgx.trusted_files.libgfortran = file:/usr/lib/x86_64-linux-gnu/libgfortran.so.3
-sgx.trusted_files.libgcc = file:/lib/x86_64-linux-gnu/libgcc_s.so.1
-sgx.trusted_files.libquadmath = file:/usr/lib/x86_64-linux-gnu/libquadmath.so.0
-sgx.trusted_files.sh = file:/bin/sh
-
-sgx.allowed_files.rhome = file:/usr/lib/R
-sgx.allowed_files.scripts = file:scripts
-
-sgx.trusted_children.R = file:R.sig
-sgx.trusted_children.sh = file:sh.sig
diff --git a/LibOS/shim/test/apps/r/scripts/sample.r b/LibOS/shim/test/apps/r/scripts/sample.r
deleted file mode 100644
index 95f08237..00000000
--- a/LibOS/shim/test/apps/r/scripts/sample.r
+++ /dev/null
@@ -1,4 +0,0 @@
-print(sample(1:3))
-print(sample(1:3, size=3, replace=FALSE)) # same as previous line
-print(sample(c(2,5,3), size=4, replace=TRUE))
-print(sample(1:2, size=10, prob=c(1,3), replace=TRUE))
diff --git a/LibOS/shim/test/apps/web-data/oscar-web-static.tar.gz b/LibOS/shim/test/apps/web-data/oscar-web-static.tar.gz
deleted file mode 100644
index 94d0928f..00000000
Binary files a/LibOS/shim/test/apps/web-data/oscar-web-static.tar.gz and /dev/null differ
diff --git a/LibOS/shim/test/apps/web-data/oscar-web.tar.gz b/LibOS/shim/test/apps/web-data/oscar-web.tar.gz
deleted file mode 100644
index 6a4c7da8..00000000
Binary files a/LibOS/shim/test/apps/web-data/oscar-web.tar.gz and /dev/null differ
diff --git a/README.md b/README.md
index 14fd48a8..e98cb2f1 100644
--- a/README.md
+++ b/README.md
@@ -62,7 +62,7 @@ be installed with 'apt-get install'):
To build the system, simply run the following commands in the root of the
source tree:
- git submodule update --init
+ git submodule update --init -- Pal/src/host/Linux-SGX/sgx-driver/
make
Each part of Graphene can be built separately in the subdirectories.
@@ -184,6 +184,12 @@ There are a few built-in examples under LibOS/shim/test/. The "native" folder in
SGX=1 ./python.manifest.sgx scripts/helloworld.py
+#### 2.1.3 Including Application Test Cases
+
+To add the application test cases, issue the following command from the root
+of the source tree:
+
+ git submodule update --init -- LibOS/shim/test/apps/
## 3. HOW TO RUN AN APPLICATION IN GRAPHENE?