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 @@ - 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?