mirror of
https://github.com/urbit/shrub.git
synced 2024-11-23 20:26:54 +03:00
Misc cleanup blocking CC-Release. (#1249)
* Move extraneous stuff out of pkg/urbit/* * s/urb/herb/g * Removed some boilerplate for `urbit` builds. * Build urbit tests and run them in the nix build.
This commit is contained in:
parent
62e7c8272b
commit
3c3f7e761e
4
Makefile
4
Makefile
@ -5,13 +5,13 @@ PKGS = minima extrema rusthello prog
|
||||
.PHONY: build build-all install release test clean
|
||||
|
||||
build:
|
||||
nix-build -A urbit -A urb --no-out-link
|
||||
nix-build -A urbit -A herb --no-out-link
|
||||
|
||||
build-all:
|
||||
nix-build --no-out-link
|
||||
|
||||
install:
|
||||
nix-env -f . -iA urbit -iA urbit-debug -iA urb
|
||||
nix-env -f . -iA urbit -iA urbit-debug -iA herb
|
||||
|
||||
release:
|
||||
sh/release urbit linux32
|
||||
|
@ -15,13 +15,13 @@ cleanup () {
|
||||
|
||||
trap cleanup EXIT
|
||||
|
||||
urb ./zod -p hood -d '+hood/autoload |'
|
||||
urb ./zod -p hood -d "+hood/mount %"
|
||||
herb ./zod -p hood -d '+hood/autoload |'
|
||||
herb ./zod -p hood -d "+hood/mount %"
|
||||
|
||||
rm -r ./zod/home
|
||||
cp -r $ARVO ./zod/home
|
||||
|
||||
urb ./zod -p hood -d "+hood/commit %home"
|
||||
urb ./zod -P brass.pill -d '+brass'
|
||||
herb ./zod -p hood -d "+hood/commit %home"
|
||||
herb ./zod -P brass.pill -d '+brass'
|
||||
|
||||
mv brass.pill $out
|
||||
|
@ -3,7 +3,7 @@
|
||||
pkgs.stdenv.mkDerivation rec {
|
||||
name = "brass";
|
||||
builder = ./builder.sh;
|
||||
buildInputs = [ urbit tlon.urb pkgs.coreutils ];
|
||||
buildInputs = [ urbit tlon.herb pkgs.coreutils ];
|
||||
|
||||
FAKEZOD = fakezod;
|
||||
ARVO = arvo;
|
||||
|
@ -5,13 +5,13 @@ set -ex
|
||||
urbit -d -F $SHIP -B "$PILL" $out
|
||||
|
||||
check () {
|
||||
[ 3 -eq "$(urb $out -d 3)" ]
|
||||
[ 3 -eq "$(herb $out -d 3)" ]
|
||||
}
|
||||
|
||||
if check
|
||||
then
|
||||
echo "Boot success." >&2
|
||||
urb $out -p hood -d '+hood/exit' || true
|
||||
herb $out -p hood -d '+hood/exit' || true
|
||||
else
|
||||
echo "Boot failure." >&2
|
||||
kill $(< $out/.vere.lock) || true
|
||||
|
@ -3,7 +3,7 @@
|
||||
pkgs.stdenv.mkDerivation rec {
|
||||
name = "fake" + ship;
|
||||
builder = ./builder.sh;
|
||||
buildInputs = [ urbit tlon.urb ];
|
||||
buildInputs = [ urbit tlon.herb ];
|
||||
PILL = brass;
|
||||
SHIP = ship;
|
||||
}
|
||||
|
@ -15,8 +15,8 @@ cleanup () {
|
||||
|
||||
trap cleanup EXIT
|
||||
|
||||
urb ./zod -p hood -d '+hood/autoload |'
|
||||
urb ./zod -p hood -d "+hood/mount %"
|
||||
herb ./zod -p hood -d '+hood/autoload |'
|
||||
herb ./zod -p hood -d "+hood/mount %"
|
||||
|
||||
rm -r ./zod/home
|
||||
cp -r $ARVO ./zod/home
|
||||
@ -25,7 +25,7 @@ cp -r $ARVO ./zod/home
|
||||
# cp $ARVO/gen/solid.hoon ./zod/home/gen/
|
||||
# cp $ARVO/lib/pill.hoon ./zod/home/lib/
|
||||
|
||||
urb ./zod -p hood -d "+hood/commit %home"
|
||||
urb ./zod -P urbit.pill -d '+solid, =dub &'
|
||||
herb ./zod -p hood -d "+hood/commit %home"
|
||||
herb ./zod -P urbit.pill -d '+solid, =dub &'
|
||||
|
||||
mv urbit.pill $out
|
||||
|
@ -3,7 +3,7 @@
|
||||
pkgs.stdenv.mkDerivation rec {
|
||||
name = "solid";
|
||||
builder = ./builder.sh;
|
||||
buildInputs = [ urbit tlon.urb pkgs.coreutils ];
|
||||
buildInputs = [ urbit tlon.herb pkgs.coreutils ];
|
||||
|
||||
FAKEZOD = fakezod;
|
||||
ARVO = arvo;
|
||||
|
@ -20,29 +20,29 @@ shutdown () {
|
||||
|
||||
trap shutdown EXIT
|
||||
|
||||
urb ./ship -p hood -d '+hood/autoload |'
|
||||
urb ./ship -p hood -d '+hood/mount %'
|
||||
herb ./ship -p hood -d '+hood/autoload |'
|
||||
herb ./ship -p hood -d '+hood/mount %'
|
||||
|
||||
rm -r ./ship/home
|
||||
cp -r $ARVO ./ship/home
|
||||
|
||||
urb ./ship -p hood -d '+hood/commit %home'
|
||||
herb ./ship -p hood -d '+hood/commit %home'
|
||||
|
||||
# Start the test app
|
||||
urb ./ship -p hood -d '+hood/start %test'
|
||||
herb ./ship -p hood -d '+hood/start %test'
|
||||
|
||||
# Run the %cores tests
|
||||
urb ./ship -d '~& ~ ~& %start-test-cores ~'
|
||||
urb ./ship -p test -d ':- %cores /'
|
||||
urb ./ship -d '~& %finish-test-cores ~'
|
||||
herb ./ship -d '~& ~ ~& %start-test-cores ~'
|
||||
herb ./ship -p test -d ':- %cores /'
|
||||
herb ./ship -d '~& %finish-test-cores ~'
|
||||
|
||||
# Run the %renders tests
|
||||
urb ./ship -d '~& ~ ~& %start-test-renders ~'
|
||||
urb ./ship -p test -d ':- %renders /'
|
||||
urb ./ship -d '~& %finish-test-renders ~'
|
||||
herb ./ship -d '~& ~ ~& %start-test-renders ~'
|
||||
herb ./ship -p test -d ':- %renders /'
|
||||
herb ./ship -d '~& %finish-test-renders ~'
|
||||
|
||||
# Run the test generator
|
||||
urb ./ship -d '+test, =seed `@uvI`(shaz %reproducible)' |
|
||||
herb ./ship -d '+test, =seed `@uvI`(shaz %reproducible)' |
|
||||
tee test-generator-output
|
||||
|
||||
shutdown
|
||||
|
@ -3,7 +3,7 @@
|
||||
pkgs.stdenv.mkDerivation rec {
|
||||
name = "test";
|
||||
builder = ./builder.sh;
|
||||
buildInputs = [ urbit tlon.urb pkgs.coreutils ];
|
||||
buildInputs = [ urbit tlon.herb pkgs.coreutils ];
|
||||
|
||||
SHIP = ship;
|
||||
ARVO = arvo;
|
||||
|
@ -4,26 +4,20 @@ let
|
||||
|
||||
deps = import ../deps { inherit pkgs; };
|
||||
|
||||
ent = import ./ent { inherit pkgs; };
|
||||
arvo = import ./arvo { inherit pkgs; };
|
||||
herb = import ../../pkg/herb { inherit pkgs; };
|
||||
|
||||
mkUrbit = { debug }:
|
||||
import ./urbit {
|
||||
inherit pkgs ent debug;
|
||||
inherit (deps) argon2 murmur3 uv ed25519 sni scrypt softfloat3;
|
||||
inherit (deps) secp256k1 h2o;
|
||||
};
|
||||
|
||||
urbit = mkUrbit { debug=false; };
|
||||
urbit-debug = mkUrbit { debug=true; };
|
||||
|
||||
in
|
||||
|
||||
rec {
|
||||
arvo = import ./arvo { inherit pkgs; };
|
||||
ent = import ./ent { inherit pkgs; };
|
||||
urb = import ../../pkg/urb { inherit pkgs; };
|
||||
|
||||
urbit = import ./urbit {
|
||||
inherit pkgs ent;
|
||||
inherit (deps) argon2 murmur3 uv ed25519 sni scrypt softfloat3;
|
||||
inherit (deps) secp256k1 h2o;
|
||||
name = "urbit";
|
||||
debug = false;
|
||||
};
|
||||
|
||||
urbit-debug = import ./urbit {
|
||||
inherit pkgs ent;
|
||||
inherit (deps) argon2 murmur3 uv ed25519 sni scrypt softfloat3;
|
||||
inherit (deps) secp256k1 h2o;
|
||||
name = "urbit-debug";
|
||||
debug = true;
|
||||
};
|
||||
}
|
||||
{ inherit ent arvo herb urbit urbit-debug; }
|
||||
|
@ -6,7 +6,9 @@ cd src
|
||||
|
||||
bash ./configure
|
||||
|
||||
make clean
|
||||
make urbit urbit-worker -j8
|
||||
make test
|
||||
|
||||
mkdir -p $out/bin
|
||||
cp urbit $out/bin/$exename
|
||||
|
@ -1,12 +1,14 @@
|
||||
{
|
||||
pkgs,
|
||||
name ? "urbit",
|
||||
debug ? false,
|
||||
debug,
|
||||
argon2, ed25519, ent, h2o, murmur3, scrypt, secp256k1, sni, softfloat3, uv
|
||||
}:
|
||||
|
||||
let
|
||||
|
||||
name =
|
||||
if debug then "urbit-debug" else "urbit";
|
||||
|
||||
deps =
|
||||
with pkgs;
|
||||
[ curl gmp libsigsegv ncurses openssl zlib ];
|
||||
@ -14,16 +16,6 @@ let
|
||||
vendor =
|
||||
[ argon2 softfloat3 ed25519 ent h2o scrypt uv murmur3 secp256k1 sni ];
|
||||
|
||||
# osx =
|
||||
# with pkgs;
|
||||
# lib.optionals stdenv.isDarwin (
|
||||
# with darwin.apple_sdk.frameworks;
|
||||
# [ Cocoa CoreServices ]);
|
||||
|
||||
# NIX_LDFLAGS =
|
||||
# pkgs.lib.optionalString pkgs.stdenv.isDarwin
|
||||
# "-framework CoreServices -framework CoreFoundation";
|
||||
|
||||
in
|
||||
|
||||
pkgs.stdenv.mkDerivation {
|
||||
|
@ -8,6 +8,7 @@ in
|
||||
|
||||
import ./default.nix {
|
||||
inherit pkgs;
|
||||
debug = false;
|
||||
inherit (tlon) ent;
|
||||
inherit (deps)
|
||||
argon2 ed25519 h2o murmur3 scrypt secp256k1 sni softfloat3 uv;
|
||||
|
@ -1,4 +1,4 @@
|
||||
# urb
|
||||
# Herb
|
||||
|
||||
Unix control of Urbit
|
||||
|
||||
@ -7,10 +7,10 @@ Unix control of Urbit
|
||||
To run without installing anything:
|
||||
|
||||
```bash
|
||||
nix-shell --pure --command 'python ./urb -d "(add 3 4)"'
|
||||
nix-shell --pure --command 'python ./herb -d "(add 3 4)"'
|
||||
```
|
||||
|
||||
To install `urb`:
|
||||
To install `herb`:
|
||||
|
||||
```bash
|
||||
nix-env -if .
|
@ -21,19 +21,19 @@ let
|
||||
in
|
||||
|
||||
pkgs.stdenv.mkDerivation rec {
|
||||
name = "urb";
|
||||
name = "herb";
|
||||
buildInputs = [ pyenv ];
|
||||
unpackPhase = "true";
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin
|
||||
|
||||
cp ${./urb} $out/bin/urb.py
|
||||
cp ${./herb} $out/bin/herb.py
|
||||
|
||||
cat > $out/bin/urb <<EOF
|
||||
cat > $out/bin/herb <<EOF
|
||||
#!/usr/bin/env bash
|
||||
${pyexe} $out/bin/urb.py "\$@"
|
||||
${pyexe} $out/bin/herb.py "\$@"
|
||||
EOF
|
||||
|
||||
chmod +x $out/bin/urb
|
||||
chmod +x $out/bin/herb
|
||||
'';
|
||||
}
|
2
pkg/urbit/.gitignore
vendored
2
pkg/urbit/.gitignore
vendored
@ -23,3 +23,5 @@ GRTAGS
|
||||
GTAGS
|
||||
*.swo
|
||||
*.swp
|
||||
hash_tests
|
||||
hashtable_tests
|
||||
|
@ -1,62 +0,0 @@
|
||||
dist: xenial
|
||||
language: node_js
|
||||
node_js:
|
||||
- 4
|
||||
|
||||
# Uncomment me if this gets annoying
|
||||
#
|
||||
# notifications:
|
||||
# email: false
|
||||
|
||||
before_install:
|
||||
# try to get pill early, so configuration errors will be quickly caught
|
||||
- cd .travis
|
||||
- bash check-trailing-whitespace.sh
|
||||
- bash get-brass-pill.sh
|
||||
- cd ..
|
||||
- wget https://github.com/ninja-build/ninja/releases/download/v1.8.2/ninja-linux.zip
|
||||
- unzip ninja-linux.zip
|
||||
- sudo mv ninja /usr/bin/
|
||||
|
||||
install:
|
||||
# pwd: ~/urbit
|
||||
- pip3 install --user -I meson
|
||||
|
||||
script:
|
||||
- meson . ./build --buildtype=debugoptimized -Dgc=true -Dprof=true
|
||||
- cd ./build
|
||||
- ninja
|
||||
- ninja test
|
||||
- sudo ninja install
|
||||
- cd ../.travis
|
||||
- npm install
|
||||
- ulimit -c unlimited -S
|
||||
- npm run -s test; bash print-core-backtrace.sh $?
|
||||
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- python3
|
||||
- python3-pip
|
||||
- python3-setuptools
|
||||
- python3-wheel
|
||||
- libgmp3-dev
|
||||
- libsigsegv-dev
|
||||
- openssl
|
||||
- libssl-dev
|
||||
- libncurses5-dev
|
||||
- gcc
|
||||
- libcurl4-gnutls-dev
|
||||
- unzip
|
||||
- gdb
|
||||
# before_deploy: "make deb" # TODO
|
||||
# deploy:
|
||||
# skip_cleanup: true
|
||||
# provider: releases
|
||||
# prerelease: true # turn this off for official releases
|
||||
# api_key:
|
||||
# secure: XX
|
||||
# file: ./build/urbit # TODO upload package from before_deploy
|
||||
# on:
|
||||
# repo: urbit/urbit
|
||||
# tags: true
|
2
pkg/urbit/.travis/.gitattributes
vendored
2
pkg/urbit/.travis/.gitattributes
vendored
@ -1,2 +0,0 @@
|
||||
# Don't show in diffs or auto-merge
|
||||
package-lock.json binary
|
1
pkg/urbit/.travis/.gitignore
vendored
1
pkg/urbit/.travis/.gitignore
vendored
@ -1 +0,0 @@
|
||||
node_modules/
|
@ -1,15 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
whitespace=$(
|
||||
find .. -path ../.git -prune -o \
|
||||
-path ../subprojects -prune -o \
|
||||
-type f \
|
||||
-exec egrep -l " +$" {} ';' \
|
||||
)
|
||||
|
||||
if [ -n "$whitespace" ]
|
||||
then
|
||||
echo 'found trailing whitespace in:';
|
||||
echo $whitespace;
|
||||
exit 1;
|
||||
fi
|
@ -1,19 +0,0 @@
|
||||
#!/bin/bash
|
||||
set -euo pipefail
|
||||
set -x
|
||||
|
||||
if [ ! -f ./pin-arvo-commit.txt ]; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if [ ! -f ./pin-brass-pill.txt ]; then
|
||||
echo "missing .travis/pin-brass-pill.txt"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
PILL_NAME=$(cat ./pin-brass-pill.txt | tr -d [:space:])
|
||||
|
||||
wget https://bootstrap.urbit.org/$PILL_NAME -O brass.pill && exit 0
|
||||
|
||||
echo "$PILL_NAME download failed"
|
||||
exit 1
|
753
pkg/urbit/.travis/package-lock.json
generated
753
pkg/urbit/.travis/package-lock.json
generated
@ -1,753 +0,0 @@
|
||||
{
|
||||
"name": "vere-tests",
|
||||
"version": "1.0.0",
|
||||
"lockfileVersion": 1,
|
||||
"requires": true,
|
||||
"dependencies": {
|
||||
"ajv": {
|
||||
"version": "5.5.2",
|
||||
"resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz",
|
||||
"integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=",
|
||||
"requires": {
|
||||
"co": "^4.6.0",
|
||||
"fast-deep-equal": "^1.0.0",
|
||||
"fast-json-stable-stringify": "^2.0.0",
|
||||
"json-schema-traverse": "^0.3.0"
|
||||
}
|
||||
},
|
||||
"array-differ": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz",
|
||||
"integrity": "sha1-7/UuN1gknTO+QCuLuOVkuytdQDE="
|
||||
},
|
||||
"array-union": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz",
|
||||
"integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=",
|
||||
"requires": {
|
||||
"array-uniq": "^1.0.1"
|
||||
}
|
||||
},
|
||||
"array-uniq": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz",
|
||||
"integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY="
|
||||
},
|
||||
"arrify": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
|
||||
"integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0="
|
||||
},
|
||||
"asap": {
|
||||
"version": "2.0.6",
|
||||
"resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
|
||||
"integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY="
|
||||
},
|
||||
"asn1": {
|
||||
"version": "0.2.4",
|
||||
"resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz",
|
||||
"integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==",
|
||||
"requires": {
|
||||
"safer-buffer": "~2.1.0"
|
||||
}
|
||||
},
|
||||
"assert-plus": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
|
||||
"integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
|
||||
},
|
||||
"asynckit": {
|
||||
"version": "0.4.0",
|
||||
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
|
||||
"integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
|
||||
},
|
||||
"aws-sign2": {
|
||||
"version": "0.7.0",
|
||||
"resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
|
||||
"integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg="
|
||||
},
|
||||
"aws4": {
|
||||
"version": "1.8.0",
|
||||
"resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz",
|
||||
"integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ=="
|
||||
},
|
||||
"balanced-match": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
|
||||
"integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c="
|
||||
},
|
||||
"bcrypt-pbkdf": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
|
||||
"integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
|
||||
"requires": {
|
||||
"tweetnacl": "^0.14.3"
|
||||
}
|
||||
},
|
||||
"bluebird": {
|
||||
"version": "2.11.0",
|
||||
"resolved": "http://registry.npmjs.org/bluebird/-/bluebird-2.11.0.tgz",
|
||||
"integrity": "sha1-U0uQM8AiyVecVro7Plpcqvu2UOE="
|
||||
},
|
||||
"brace-expansion": {
|
||||
"version": "1.1.11",
|
||||
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
|
||||
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
|
||||
"requires": {
|
||||
"balanced-match": "^1.0.0",
|
||||
"concat-map": "0.0.1"
|
||||
}
|
||||
},
|
||||
"caseless": {
|
||||
"version": "0.12.0",
|
||||
"resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
|
||||
"integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw="
|
||||
},
|
||||
"co": {
|
||||
"version": "4.6.0",
|
||||
"resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
|
||||
"integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ="
|
||||
},
|
||||
"colors": {
|
||||
"version": "1.3.2",
|
||||
"resolved": "https://registry.npmjs.org/colors/-/colors-1.3.2.tgz",
|
||||
"integrity": "sha512-rhP0JSBGYvpcNQj4s5AdShMeE5ahMop96cTeDl/v9qQQm2fYClE2QXZRi8wLzc+GmXSxdIqqbOIAhyObEXDbfQ=="
|
||||
},
|
||||
"combined-stream": {
|
||||
"version": "1.0.7",
|
||||
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.7.tgz",
|
||||
"integrity": "sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w==",
|
||||
"requires": {
|
||||
"delayed-stream": "~1.0.0"
|
||||
}
|
||||
},
|
||||
"concat-map": {
|
||||
"version": "0.0.1",
|
||||
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
|
||||
"integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
|
||||
},
|
||||
"core-js": {
|
||||
"version": "2.5.7",
|
||||
"resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.7.tgz",
|
||||
"integrity": "sha512-RszJCAxg/PP6uzXVXL6BsxSXx/B05oJAQ2vkJRjyjrEcNVycaqOmNb5OTxZPE3xa5gwZduqza6L9JOCenh/Ecw=="
|
||||
},
|
||||
"core-util-is": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
|
||||
"integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
|
||||
},
|
||||
"dashdash": {
|
||||
"version": "1.14.1",
|
||||
"resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
|
||||
"integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
|
||||
"requires": {
|
||||
"assert-plus": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"del": {
|
||||
"version": "2.2.2",
|
||||
"resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz",
|
||||
"integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=",
|
||||
"requires": {
|
||||
"globby": "^5.0.0",
|
||||
"is-path-cwd": "^1.0.0",
|
||||
"is-path-in-cwd": "^1.0.0",
|
||||
"object-assign": "^4.0.1",
|
||||
"pify": "^2.0.0",
|
||||
"pinkie-promise": "^2.0.0",
|
||||
"rimraf": "^2.2.8"
|
||||
}
|
||||
},
|
||||
"delayed-stream": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
|
||||
"integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk="
|
||||
},
|
||||
"ecc-jsbn": {
|
||||
"version": "0.1.2",
|
||||
"resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
|
||||
"integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
|
||||
"requires": {
|
||||
"jsbn": "~0.1.0",
|
||||
"safer-buffer": "^2.1.0"
|
||||
}
|
||||
},
|
||||
"emitter-mixin": {
|
||||
"version": "0.0.3",
|
||||
"resolved": "https://registry.npmjs.org/emitter-mixin/-/emitter-mixin-0.0.3.tgz",
|
||||
"integrity": "sha1-WUjLKG8uSO3DslGnz8H3iDOW1lw="
|
||||
},
|
||||
"errno": {
|
||||
"version": "0.1.7",
|
||||
"resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz",
|
||||
"integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==",
|
||||
"requires": {
|
||||
"prr": "~1.0.1"
|
||||
}
|
||||
},
|
||||
"escape-string-regexp": {
|
||||
"version": "1.0.5",
|
||||
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
|
||||
"integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ="
|
||||
},
|
||||
"extend": {
|
||||
"version": "1.2.1",
|
||||
"resolved": "https://registry.npmjs.org/extend/-/extend-1.2.1.tgz",
|
||||
"integrity": "sha1-oPX9bPyDpf5J72mNYOyKYk3UV2w="
|
||||
},
|
||||
"extsprintf": {
|
||||
"version": "1.3.0",
|
||||
"resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
|
||||
"integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU="
|
||||
},
|
||||
"fast-deep-equal": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "http://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz",
|
||||
"integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ="
|
||||
},
|
||||
"fast-json-stable-stringify": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
|
||||
"integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I="
|
||||
},
|
||||
"forever-agent": {
|
||||
"version": "0.6.1",
|
||||
"resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
|
||||
"integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE="
|
||||
},
|
||||
"form-data": {
|
||||
"version": "2.3.3",
|
||||
"resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
|
||||
"integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
|
||||
"requires": {
|
||||
"asynckit": "^0.4.0",
|
||||
"combined-stream": "^1.0.6",
|
||||
"mime-types": "^2.1.12"
|
||||
}
|
||||
},
|
||||
"fs.realpath": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
|
||||
"integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
|
||||
},
|
||||
"getpass": {
|
||||
"version": "0.1.7",
|
||||
"resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
|
||||
"integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
|
||||
"requires": {
|
||||
"assert-plus": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"glob": {
|
||||
"version": "7.1.3",
|
||||
"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz",
|
||||
"integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==",
|
||||
"requires": {
|
||||
"fs.realpath": "^1.0.0",
|
||||
"inflight": "^1.0.4",
|
||||
"inherits": "2",
|
||||
"minimatch": "^3.0.4",
|
||||
"once": "^1.3.0",
|
||||
"path-is-absolute": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"globby": {
|
||||
"version": "5.0.0",
|
||||
"resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz",
|
||||
"integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=",
|
||||
"requires": {
|
||||
"array-union": "^1.0.1",
|
||||
"arrify": "^1.0.0",
|
||||
"glob": "^7.0.3",
|
||||
"object-assign": "^4.0.1",
|
||||
"pify": "^2.0.0",
|
||||
"pinkie-promise": "^2.0.0"
|
||||
}
|
||||
},
|
||||
"graceful-fs": {
|
||||
"version": "4.1.15",
|
||||
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz",
|
||||
"integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA=="
|
||||
},
|
||||
"har-schema": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
|
||||
"integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI="
|
||||
},
|
||||
"har-validator": {
|
||||
"version": "5.1.0",
|
||||
"resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.0.tgz",
|
||||
"integrity": "sha512-+qnmNjI4OfH2ipQ9VQOw23bBd/ibtfbVdK2fYbY4acTDqKTW/YDp9McimZdDbG8iV9fZizUqQMD5xvriB146TA==",
|
||||
"requires": {
|
||||
"ajv": "^5.3.0",
|
||||
"har-schema": "^2.0.0"
|
||||
}
|
||||
},
|
||||
"hoek": {
|
||||
"version": "4.2.1",
|
||||
"resolved": "http://registry.npmjs.org/hoek/-/hoek-4.2.1.tgz",
|
||||
"integrity": "sha512-QLg82fGkfnJ/4iy1xZ81/9SIJiq1NGFUMGs6ParyjBZr6jW2Ufj/snDqTHixNlHdPNwN2RLVD0Pi3igeK9+JfA=="
|
||||
},
|
||||
"http-signature": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
|
||||
"integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
|
||||
"requires": {
|
||||
"assert-plus": "^1.0.0",
|
||||
"jsprim": "^1.2.2",
|
||||
"sshpk": "^1.7.0"
|
||||
}
|
||||
},
|
||||
"inflight": {
|
||||
"version": "1.0.6",
|
||||
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
|
||||
"integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
|
||||
"requires": {
|
||||
"once": "^1.3.0",
|
||||
"wrappy": "1"
|
||||
}
|
||||
},
|
||||
"inherits": {
|
||||
"version": "2.0.3",
|
||||
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
|
||||
"integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
|
||||
},
|
||||
"is-path-cwd": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz",
|
||||
"integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0="
|
||||
},
|
||||
"is-path-in-cwd": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz",
|
||||
"integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==",
|
||||
"requires": {
|
||||
"is-path-inside": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"is-path-inside": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz",
|
||||
"integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=",
|
||||
"requires": {
|
||||
"path-is-inside": "^1.0.1"
|
||||
}
|
||||
},
|
||||
"is-typedarray": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
|
||||
"integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo="
|
||||
},
|
||||
"isemail": {
|
||||
"version": "2.2.1",
|
||||
"resolved": "http://registry.npmjs.org/isemail/-/isemail-2.2.1.tgz",
|
||||
"integrity": "sha1-A1PT2aYpUQgMJiwqoKQrjqjp4qY="
|
||||
},
|
||||
"isstream": {
|
||||
"version": "0.1.2",
|
||||
"resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
|
||||
"integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo="
|
||||
},
|
||||
"items": {
|
||||
"version": "2.1.1",
|
||||
"resolved": "https://registry.npmjs.org/items/-/items-2.1.1.tgz",
|
||||
"integrity": "sha1-i9FtnIOxlSneWuoyGsqtp4NkoZg="
|
||||
},
|
||||
"joi": {
|
||||
"version": "9.2.0",
|
||||
"resolved": "http://registry.npmjs.org/joi/-/joi-9.2.0.tgz",
|
||||
"integrity": "sha1-M4WseQGSEwy+Iw6ALsAskhW7/to=",
|
||||
"requires": {
|
||||
"hoek": "4.x.x",
|
||||
"isemail": "2.x.x",
|
||||
"items": "2.x.x",
|
||||
"moment": "2.x.x",
|
||||
"topo": "2.x.x"
|
||||
}
|
||||
},
|
||||
"jsbn": {
|
||||
"version": "0.1.1",
|
||||
"resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
|
||||
"integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM="
|
||||
},
|
||||
"json-schema": {
|
||||
"version": "0.2.3",
|
||||
"resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
|
||||
"integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM="
|
||||
},
|
||||
"json-schema-traverse": {
|
||||
"version": "0.3.1",
|
||||
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz",
|
||||
"integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A="
|
||||
},
|
||||
"json-stringify-safe": {
|
||||
"version": "5.0.1",
|
||||
"resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
|
||||
"integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus="
|
||||
},
|
||||
"jsprim": {
|
||||
"version": "1.4.1",
|
||||
"resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
|
||||
"integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
|
||||
"requires": {
|
||||
"assert-plus": "1.0.0",
|
||||
"extsprintf": "1.3.0",
|
||||
"json-schema": "0.2.3",
|
||||
"verror": "1.10.0"
|
||||
}
|
||||
},
|
||||
"junk": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/junk/-/junk-1.0.3.tgz",
|
||||
"integrity": "sha1-h75jSIZJy9ym9Tqzm+yczSNH9ZI="
|
||||
},
|
||||
"maximatch": {
|
||||
"version": "0.1.0",
|
||||
"resolved": "https://registry.npmjs.org/maximatch/-/maximatch-0.1.0.tgz",
|
||||
"integrity": "sha1-hs2NawTJ8wfAWmuUGZBtA2D7E6I=",
|
||||
"requires": {
|
||||
"array-differ": "^1.0.0",
|
||||
"array-union": "^1.0.1",
|
||||
"arrify": "^1.0.0",
|
||||
"minimatch": "^3.0.0"
|
||||
}
|
||||
},
|
||||
"mime-db": {
|
||||
"version": "1.37.0",
|
||||
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.37.0.tgz",
|
||||
"integrity": "sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg=="
|
||||
},
|
||||
"mime-types": {
|
||||
"version": "2.1.21",
|
||||
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.21.tgz",
|
||||
"integrity": "sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg==",
|
||||
"requires": {
|
||||
"mime-db": "~1.37.0"
|
||||
}
|
||||
},
|
||||
"minimatch": {
|
||||
"version": "3.0.4",
|
||||
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
|
||||
"integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
|
||||
"requires": {
|
||||
"brace-expansion": "^1.1.7"
|
||||
}
|
||||
},
|
||||
"minimist": {
|
||||
"version": "0.0.8",
|
||||
"resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
|
||||
"integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0="
|
||||
},
|
||||
"mkdirp": {
|
||||
"version": "0.5.1",
|
||||
"resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
|
||||
"integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
|
||||
"requires": {
|
||||
"minimist": "0.0.8"
|
||||
}
|
||||
},
|
||||
"moment": {
|
||||
"version": "2.22.2",
|
||||
"resolved": "https://registry.npmjs.org/moment/-/moment-2.22.2.tgz",
|
||||
"integrity": "sha1-PCV/mDn8DpP/UxSWMiOeuQeD/2Y="
|
||||
},
|
||||
"nan": {
|
||||
"version": "2.3.5",
|
||||
"resolved": "http://registry.npmjs.org/nan/-/nan-2.3.5.tgz",
|
||||
"integrity": "sha1-gioNwmYpDOTNOhIoLKPn42Rmigg="
|
||||
},
|
||||
"oauth-sign": {
|
||||
"version": "0.9.0",
|
||||
"resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
|
||||
"integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ=="
|
||||
},
|
||||
"object-assign": {
|
||||
"version": "4.1.1",
|
||||
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
|
||||
"integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
|
||||
},
|
||||
"once": {
|
||||
"version": "1.4.0",
|
||||
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
|
||||
"integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
|
||||
"requires": {
|
||||
"wrappy": "1"
|
||||
}
|
||||
},
|
||||
"path-is-absolute": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
|
||||
"integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18="
|
||||
},
|
||||
"path-is-inside": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz",
|
||||
"integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM="
|
||||
},
|
||||
"performance-now": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
|
||||
"integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns="
|
||||
},
|
||||
"pify": {
|
||||
"version": "2.3.0",
|
||||
"resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
|
||||
"integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw="
|
||||
},
|
||||
"pinkie": {
|
||||
"version": "2.0.4",
|
||||
"resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
|
||||
"integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA="
|
||||
},
|
||||
"pinkie-promise": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
|
||||
"integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
|
||||
"requires": {
|
||||
"pinkie": "^2.0.0"
|
||||
}
|
||||
},
|
||||
"promise": {
|
||||
"version": "7.3.1",
|
||||
"resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz",
|
||||
"integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==",
|
||||
"requires": {
|
||||
"asap": "~2.0.3"
|
||||
}
|
||||
},
|
||||
"promise-streams": {
|
||||
"version": "2.1.1",
|
||||
"resolved": "https://registry.npmjs.org/promise-streams/-/promise-streams-2.1.1.tgz",
|
||||
"integrity": "sha1-cwnx02mDMOp/rasZIvE5iSKayFo=",
|
||||
"requires": {
|
||||
"bluebird": "^2.10.2"
|
||||
}
|
||||
},
|
||||
"prr": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz",
|
||||
"integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY="
|
||||
},
|
||||
"psl": {
|
||||
"version": "1.1.29",
|
||||
"resolved": "https://registry.npmjs.org/psl/-/psl-1.1.29.tgz",
|
||||
"integrity": "sha512-AeUmQ0oLN02flVHXWh9sSJF7mcdFq0ppid/JkErufc3hGIV/AMa8Fo9VgDo/cT2jFdOWoFvHp90qqBH54W+gjQ=="
|
||||
},
|
||||
"pty.js": {
|
||||
"version": "0.3.1",
|
||||
"resolved": "https://registry.npmjs.org/pty.js/-/pty.js-0.3.1.tgz",
|
||||
"integrity": "sha1-gfW+0zLW5eeraFaI0boDc0ENUbU=",
|
||||
"requires": {
|
||||
"extend": "~1.2.1",
|
||||
"nan": "2.3.5"
|
||||
}
|
||||
},
|
||||
"punycode": {
|
||||
"version": "1.4.1",
|
||||
"resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
|
||||
"integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4="
|
||||
},
|
||||
"qs": {
|
||||
"version": "6.5.2",
|
||||
"resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
|
||||
"integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA=="
|
||||
},
|
||||
"recursive-copy": {
|
||||
"version": "2.0.9",
|
||||
"resolved": "https://registry.npmjs.org/recursive-copy/-/recursive-copy-2.0.9.tgz",
|
||||
"integrity": "sha512-0AkHV+QtfS/1jW01z3m2t/TRTW56Fpc+xYbsoa/bqn8BCYPwmsaNjlYmUU/dyGg9w8MmGoUWihU5W+s+qjxvBQ==",
|
||||
"requires": {
|
||||
"del": "^2.2.0",
|
||||
"emitter-mixin": "0.0.3",
|
||||
"errno": "^0.1.2",
|
||||
"graceful-fs": "^4.1.4",
|
||||
"junk": "^1.0.1",
|
||||
"maximatch": "^0.1.0",
|
||||
"mkdirp": "^0.5.1",
|
||||
"pify": "^2.3.0",
|
||||
"promise": "^7.0.1",
|
||||
"slash": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"request": {
|
||||
"version": "2.88.0",
|
||||
"resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz",
|
||||
"integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==",
|
||||
"requires": {
|
||||
"aws-sign2": "~0.7.0",
|
||||
"aws4": "^1.8.0",
|
||||
"caseless": "~0.12.0",
|
||||
"combined-stream": "~1.0.6",
|
||||
"extend": "~3.0.2",
|
||||
"forever-agent": "~0.6.1",
|
||||
"form-data": "~2.3.2",
|
||||
"har-validator": "~5.1.0",
|
||||
"http-signature": "~1.2.0",
|
||||
"is-typedarray": "~1.0.0",
|
||||
"isstream": "~0.1.2",
|
||||
"json-stringify-safe": "~5.0.1",
|
||||
"mime-types": "~2.1.19",
|
||||
"oauth-sign": "~0.9.0",
|
||||
"performance-now": "^2.1.0",
|
||||
"qs": "~6.5.2",
|
||||
"safe-buffer": "^5.1.2",
|
||||
"tough-cookie": "~2.4.3",
|
||||
"tunnel-agent": "^0.6.0",
|
||||
"uuid": "^3.3.2"
|
||||
},
|
||||
"dependencies": {
|
||||
"extend": {
|
||||
"version": "3.0.2",
|
||||
"resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
|
||||
"integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="
|
||||
}
|
||||
}
|
||||
},
|
||||
"rimraf": {
|
||||
"version": "2.6.2",
|
||||
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz",
|
||||
"integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==",
|
||||
"requires": {
|
||||
"glob": "^7.0.5"
|
||||
}
|
||||
},
|
||||
"rx": {
|
||||
"version": "4.1.0",
|
||||
"resolved": "https://registry.npmjs.org/rx/-/rx-4.1.0.tgz",
|
||||
"integrity": "sha1-pfE/957zt0D+MKqAP7CfmIBdR4I="
|
||||
},
|
||||
"safe-buffer": {
|
||||
"version": "5.1.2",
|
||||
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
|
||||
"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
|
||||
},
|
||||
"safer-buffer": {
|
||||
"version": "2.1.2",
|
||||
"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
|
||||
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
|
||||
},
|
||||
"slash": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz",
|
||||
"integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU="
|
||||
},
|
||||
"split": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz",
|
||||
"integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==",
|
||||
"requires": {
|
||||
"through": "2"
|
||||
}
|
||||
},
|
||||
"sshpk": {
|
||||
"version": "1.15.2",
|
||||
"resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.15.2.tgz",
|
||||
"integrity": "sha512-Ra/OXQtuh0/enyl4ETZAfTaeksa6BXks5ZcjpSUNrjBr0DvrJKX+1fsKDPpT9TBXgHAFsa4510aNVgI8g/+SzA==",
|
||||
"requires": {
|
||||
"asn1": "~0.2.3",
|
||||
"assert-plus": "^1.0.0",
|
||||
"bcrypt-pbkdf": "^1.0.0",
|
||||
"dashdash": "^1.12.0",
|
||||
"ecc-jsbn": "~0.1.1",
|
||||
"getpass": "^0.1.1",
|
||||
"jsbn": "~0.1.0",
|
||||
"safer-buffer": "^2.0.2",
|
||||
"tweetnacl": "~0.14.0"
|
||||
}
|
||||
},
|
||||
"stream-snitch": {
|
||||
"version": "0.0.3",
|
||||
"resolved": "https://registry.npmjs.org/stream-snitch/-/stream-snitch-0.0.3.tgz",
|
||||
"integrity": "sha1-iXp48TonFPqESqd74VR3qJbYUqk="
|
||||
},
|
||||
"through": {
|
||||
"version": "2.3.8",
|
||||
"resolved": "http://registry.npmjs.org/through/-/through-2.3.8.tgz",
|
||||
"integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU="
|
||||
},
|
||||
"topo": {
|
||||
"version": "2.0.2",
|
||||
"resolved": "http://registry.npmjs.org/topo/-/topo-2.0.2.tgz",
|
||||
"integrity": "sha1-zVYVdSU5BXwNwEkaYhw7xvvh0YI=",
|
||||
"requires": {
|
||||
"hoek": "4.x.x"
|
||||
}
|
||||
},
|
||||
"tough-cookie": {
|
||||
"version": "2.4.3",
|
||||
"resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz",
|
||||
"integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==",
|
||||
"requires": {
|
||||
"psl": "^1.1.24",
|
||||
"punycode": "^1.4.1"
|
||||
}
|
||||
},
|
||||
"tunnel-agent": {
|
||||
"version": "0.6.0",
|
||||
"resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
|
||||
"integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
|
||||
"requires": {
|
||||
"safe-buffer": "^5.0.1"
|
||||
}
|
||||
},
|
||||
"tweetnacl": {
|
||||
"version": "0.14.5",
|
||||
"resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
|
||||
"integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q="
|
||||
},
|
||||
"urbit-runner": {
|
||||
"version": "github:urbit/runner-js#ee2455015dc4ea243d0e0ec623975632c9249c4e",
|
||||
"from": "github:urbit/runner-js#ee24550",
|
||||
"requires": {
|
||||
"colors": "^1.1.2",
|
||||
"escape-string-regexp": "^1.0.5",
|
||||
"once": "^1.4.0",
|
||||
"promise-streams": "^2.1.1",
|
||||
"pty.js": "^0.3.1",
|
||||
"recursive-copy": "^2.0.7",
|
||||
"split": "^1.0.1",
|
||||
"stream-snitch": "0.0.3",
|
||||
"wait-on": "^2.0.2"
|
||||
}
|
||||
},
|
||||
"uuid": {
|
||||
"version": "3.3.2",
|
||||
"resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz",
|
||||
"integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA=="
|
||||
},
|
||||
"verror": {
|
||||
"version": "1.10.0",
|
||||
"resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
|
||||
"integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
|
||||
"requires": {
|
||||
"assert-plus": "^1.0.0",
|
||||
"core-util-is": "1.0.2",
|
||||
"extsprintf": "^1.2.0"
|
||||
}
|
||||
},
|
||||
"wait-on": {
|
||||
"version": "2.1.2",
|
||||
"resolved": "https://registry.npmjs.org/wait-on/-/wait-on-2.1.2.tgz",
|
||||
"integrity": "sha512-Jm6pzZkbswtcRUXohxY1Ek5MrL16AwHj83drgW2FTQuglHuhZhVMyBLPIYG0rL1wvr5rdC1uzRuU/7Bc+B9Pwg==",
|
||||
"requires": {
|
||||
"core-js": "^2.4.1",
|
||||
"joi": "^9.2.0",
|
||||
"minimist": "^1.2.0",
|
||||
"request": "^2.78.0",
|
||||
"rx": "^4.1.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"minimist": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
|
||||
"integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ="
|
||||
}
|
||||
}
|
||||
},
|
||||
"wrappy": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
|
||||
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
|
||||
}
|
||||
}
|
||||
}
|
@ -1,14 +0,0 @@
|
||||
{
|
||||
"name": "vere-tests",
|
||||
"version": "1.0.0",
|
||||
"description": "Test harness for the Urbit runtime",
|
||||
"scripts": {
|
||||
"test": "node test.js"
|
||||
},
|
||||
"private": true,
|
||||
"author": "~fyr",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"urbit-runner": "github:urbit/runner-js#ee24550"
|
||||
}
|
||||
}
|
@ -1 +0,0 @@
|
||||
urbit-0.7.2.brass.pill
|
@ -1,17 +0,0 @@
|
||||
#!/bin/bash
|
||||
set -euo pipefail
|
||||
set -x
|
||||
|
||||
RESULT=$1
|
||||
|
||||
if [[ ${RESULT} -eq 0 ]]; then
|
||||
exit 0
|
||||
else
|
||||
for i in $(find ./ -maxdepth 1 -name 'core*' -print)
|
||||
do
|
||||
gdb urbit core* -ex "thread apply all bt" -ex "set pagination 0" -batch
|
||||
done
|
||||
fi
|
||||
|
||||
echo "build failed with status code $RESULT"
|
||||
exit $RESULT
|
@ -1,68 +0,0 @@
|
||||
'use strict';
|
||||
|
||||
var fs = require('fs')
|
||||
var runner = require('urbit-runner')
|
||||
var Urbit = runner.Urbit;
|
||||
var ERROR = runner.ERROR;
|
||||
var actions = runner.actions
|
||||
|
||||
var args =
|
||||
(function() {
|
||||
var commit;
|
||||
|
||||
try {
|
||||
commit = fs.readFileSync('./pin-arvo-commit.txt', 'utf-8');
|
||||
}
|
||||
catch (e) {
|
||||
return ['-cgSF', 'zod', '-B', 'brass.pill', 'zod'];
|
||||
}
|
||||
|
||||
var hash = commit.slice(0, 10);
|
||||
var pill = 'https://bootstrap.urbit.org/git-' + hash + '.pill';
|
||||
return ['-u', pill, '-cgPSF', 'zod', 'zod'];
|
||||
})();
|
||||
|
||||
var urbit = new Urbit(args);
|
||||
|
||||
// vere hangs (always?) with run in travis-ci with -P
|
||||
// so we send ^Z if we hang for ~s30
|
||||
function exit() {
|
||||
setTimeout(function(){
|
||||
urbit.pty.write('\x1a');
|
||||
urbit.pty.on('exit', function(code, signal){
|
||||
process.exit(0);
|
||||
})
|
||||
}, 30 * 1000);
|
||||
|
||||
return urbit.exit(0);
|
||||
}
|
||||
|
||||
Promise.resolve(urbit)
|
||||
// XX temporary
|
||||
// send ctrl-x to select dojo
|
||||
//
|
||||
.then(function(){
|
||||
return urbit.expect(/talk\[\] /)
|
||||
.then(function() {
|
||||
return urbit.pty.write("\x18")
|
||||
})
|
||||
.then(function() { return urbit })
|
||||
})
|
||||
.then(actions.safeBoot)
|
||||
.then(actions.test)
|
||||
.then(function(){
|
||||
return urbit.line("|mass")
|
||||
.then(function(){
|
||||
return urbit.expectEcho("%ran-mass")
|
||||
.then(function(){ return urbit.resetListeners(); })
|
||||
})
|
||||
})
|
||||
.then(exit)
|
||||
.catch(function(err){
|
||||
// we still exit 0, Arvo errors are not our fault ...
|
||||
return urbit.waitSilent()
|
||||
.then(function(){
|
||||
return urbit.warn("Arvo test aborted:", err);
|
||||
})
|
||||
.then(exit);
|
||||
});
|
@ -15,23 +15,36 @@ worker_objs = $(shell echo $(worker) | sed 's/\.c/.o/g')
|
||||
|
||||
all_objs = $(common_objs) $(daemon_objs) $(worker_objs)
|
||||
all_srcs = $(common) $(daemon) $(worker)
|
||||
all_exes = ./hash_tests ./hashtable_tests ./urbit ./urbit-worker
|
||||
|
||||
################################################################################
|
||||
|
||||
.PHONY: all clean mkproper
|
||||
.PHONY: all test clean mkproper
|
||||
|
||||
################################################################################
|
||||
|
||||
all: urbit urbit-worker
|
||||
all: urbit urbit-worker hashtable_tests hash_tests
|
||||
|
||||
test: hashtable_tests hash_tests
|
||||
./hashtable_tests
|
||||
./hash_tests
|
||||
|
||||
clean:
|
||||
rm -f $(all_objs) ./urbit ./urbit-worker ./tags
|
||||
rm -f ./tags $(all_objs) $(all_exes)
|
||||
|
||||
mrproper: clean
|
||||
rm -f config.mk include/config.h
|
||||
|
||||
################################################################################
|
||||
|
||||
hashtable_tests: $(common_objs) tests/hashtable_tests.o
|
||||
@echo CC -o $@
|
||||
@$(CC) $^ $(LDFLAGS) -o $@
|
||||
|
||||
hash_tests: $(common_objs) tests/hash_tests.o
|
||||
@echo CC -o $@
|
||||
@$(CC) $^ $(LDFLAGS) -o $@
|
||||
|
||||
urbit: $(common_objs) $(daemon_objs)
|
||||
@echo CC -o $@
|
||||
@$(CC) $^ $(LDFLAGS) -o $@
|
||||
|
@ -1,5 +0,0 @@
|
||||
urbit (0.6-0) unstable; urgency=high
|
||||
|
||||
* Memory-allocation bug fix in _box_slot in Vere. Breaking change.
|
||||
|
||||
-- Keaton Dunsford <keaton@tlon.io> Fri, 8 Jun 2018 14:31:08 -0700
|
@ -1 +0,0 @@
|
||||
10
|
@ -1,12 +0,0 @@
|
||||
Source: urbit
|
||||
Section: net
|
||||
Priority: extra
|
||||
Maintainer: Ted Blackman <ted@tlon.io>
|
||||
Build-Depends: debhelper (>= 9), libgmp3-dev, libsigsegv-dev, openssl, libssl-dev,libtool, meson, re2c, libcurl4-gnutls-dev
|
||||
Standards-Version: 3.9.5
|
||||
Homepage: http://urbit.org
|
||||
|
||||
Package: urbit
|
||||
Architecture: any
|
||||
Depends: libgmp3-dev, libsigsegv-dev, openssl, libcurl4-gnutls-dev
|
||||
Description: An operating function
|
@ -1,27 +0,0 @@
|
||||
Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
|
||||
Upstream-Name: urbit
|
||||
Source: <http://urbit.org>
|
||||
|
||||
Files: *
|
||||
License: MIT
|
||||
The MIT License (MIT)
|
||||
.
|
||||
Copyright (c) 2017 Urbit
|
||||
.
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
.
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
.
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
@ -1 +0,0 @@
|
||||
urbit
|
@ -1,2 +0,0 @@
|
||||
LICENSE.txt
|
||||
README.md
|
@ -1 +0,0 @@
|
||||
bin/urbit usr/bin
|
@ -1,5 +0,0 @@
|
||||
#!/usr/bin/make -f
|
||||
%:
|
||||
dh $@
|
||||
|
||||
override_dh_auto_install:
|
@ -1 +0,0 @@
|
||||
3.0 (quilt)
|
@ -1,4 +0,0 @@
|
||||
file bin/test_hash
|
||||
handle SIGSEGV nostop noprint
|
||||
start
|
||||
|
@ -1,4 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
git submodule init
|
||||
git submodule update
|
@ -1,5 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
mkdir ./build &> /dev/null
|
||||
meson . ./build --buildtype=release "$@"
|
||||
ninja -C build
|
@ -1,273 +0,0 @@
|
||||
/* w/test.c
|
||||
**
|
||||
*/
|
||||
#define C3_GLOBAL
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <fcntl.h>
|
||||
#include <sys/ioctl.h>
|
||||
#include <sys/stat.h>
|
||||
#include <unistd.h>
|
||||
#include <setjmp.h>
|
||||
#include <gmp.h>
|
||||
#include <dirent.h>
|
||||
#include <stdint.h>
|
||||
#include <uv.h>
|
||||
#include <ncurses/curses.h>
|
||||
#include <termios.h>
|
||||
#include <ncurses/term.h>
|
||||
#include <errno.h>
|
||||
|
||||
#include "all.h"
|
||||
|
||||
#if 1
|
||||
/* u3_walk_load(): load file or bail.
|
||||
*/
|
||||
static u3_noun
|
||||
u3_walk_load(c3_c* pas_c)
|
||||
{
|
||||
struct stat buf_b;
|
||||
c3_i fid_i = open(pas_c, O_RDONLY, 0644);
|
||||
c3_w fln_w, red_w;
|
||||
c3_y* pad_y;
|
||||
|
||||
if ( (fid_i < 0) || (fstat(fid_i, &buf_b) < 0) ) {
|
||||
fprintf(stderr, "%s: %s\r\n", pas_c, strerror(errno));
|
||||
return u3m_bail(c3__fail);
|
||||
}
|
||||
fln_w = buf_b.st_size;
|
||||
pad_y = c3_malloc(buf_b.st_size);
|
||||
|
||||
red_w = read(fid_i, pad_y, fln_w);
|
||||
close(fid_i);
|
||||
|
||||
if ( fln_w != red_w ) {
|
||||
free(pad_y);
|
||||
return u3m_bail(c3__fail);
|
||||
}
|
||||
else {
|
||||
u3_noun pad = u3i_bytes(fln_w, (c3_y *)pad_y);
|
||||
free(pad_y);
|
||||
|
||||
return pad;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
#if 0
|
||||
static c3_w*
|
||||
_test_walloc(c3_w siz_w)
|
||||
{
|
||||
c3_w *ptr_w = u3a_walloc(siz_w);
|
||||
c3_w i_w;
|
||||
|
||||
c3_assert(siz_w >= 1);
|
||||
*ptr_w = siz_w;
|
||||
|
||||
for ( i_w = 1; i_w < siz_w; i_w++ ) {
|
||||
ptr_w[i_w] = u3r_mug((0xffff & (c3_p)(ptr_w)) + i_w);
|
||||
}
|
||||
return ptr_w;
|
||||
}
|
||||
|
||||
static void
|
||||
_test_free(c3_w* ptr_w)
|
||||
{
|
||||
c3_w i_w, siz_w = *ptr_w;
|
||||
|
||||
for ( i_w = 1; i_w < siz_w; i_w++ ) {
|
||||
c3_assert(ptr_w[i_w] == u3r_mug((0xffff & (c3_p)(ptr_w)) + i_w));
|
||||
}
|
||||
u3a_free(ptr_w);
|
||||
}
|
||||
|
||||
#define NUM 16384
|
||||
|
||||
// Simple allocation test.
|
||||
//
|
||||
void
|
||||
test(void)
|
||||
{
|
||||
c3_w* one_w[NUM];
|
||||
c3_w* two_w[NUM];
|
||||
c3_w i_w;
|
||||
|
||||
for ( i_w = 0; i_w < NUM; i_w++ ) {
|
||||
c3_w siz_w = c3_max(1, u3r_mug(i_w) & 0xff);
|
||||
|
||||
one_w[i_w] = _test_walloc(siz_w);
|
||||
two_w[i_w] = _test_walloc(siz_w);
|
||||
}
|
||||
_road_sane();
|
||||
|
||||
for ( i_w = 0; i_w < NUM; i_w++ ) {
|
||||
_test_free(two_w[NUM - (i_w + 1)]);
|
||||
_road_sane();
|
||||
}
|
||||
for ( i_w = 0; i_w < NUM; i_w++ ) {
|
||||
c3_w siz_w = c3_max(1, u3r_mug(i_w + 1) & 0xff);
|
||||
|
||||
two_w[i_w] = _test_walloc(siz_w);
|
||||
_road_sane();
|
||||
}
|
||||
|
||||
for ( i_w = 0; i_w < NUM; i_w++ ) {
|
||||
_test_free(one_w[NUM - (i_w + 1)]);
|
||||
_road_sane();
|
||||
}
|
||||
for ( i_w = 0; i_w < NUM; i_w++ ) {
|
||||
c3_w siz_w = c3_max(1, u3r_mug(i_w + 2) & 0xff);
|
||||
|
||||
one_w[i_w] = _test_walloc(siz_w);
|
||||
_road_sane();
|
||||
}
|
||||
|
||||
for ( i_w = 0; i_w < NUM; i_w++ ) {
|
||||
_test_free(one_w[NUM - (i_w + 1)]);
|
||||
_road_sane();
|
||||
}
|
||||
for ( i_w = 0; i_w < NUM; i_w++ ) {
|
||||
_test_free(two_w[NUM - (i_w + 1)]);
|
||||
_road_sane();
|
||||
}
|
||||
|
||||
printf("allocations %d, iterations %d\n", ALL_w, ITE_w);
|
||||
}
|
||||
#endif
|
||||
|
||||
#if 1
|
||||
static void
|
||||
_test_hash(void)
|
||||
{
|
||||
// u3m_dump();
|
||||
{
|
||||
u3h_root* har_u = u3h_new();
|
||||
c3_w i_w;
|
||||
c3_w max_w = (1 << 20);
|
||||
|
||||
for ( i_w = 0; i_w < max_w; i_w++ ) {
|
||||
u3_noun key = u3nc(0, i_w);
|
||||
|
||||
u3h_put(har_u, key, (i_w + 1));
|
||||
u3z(key);
|
||||
}
|
||||
for ( i_w = 0; i_w < max_w; i_w++ ) {
|
||||
u3_noun key = u3nc(0, i_w);
|
||||
u3_noun val = u3h_get(har_u, key);
|
||||
|
||||
if ( val != (i_w + 1) ) {
|
||||
if ( u3_none == val ) {
|
||||
printf("at %d, nothing\n", i_w);
|
||||
}
|
||||
else printf("at %d, oddly, is %d\n", i_w, val);
|
||||
c3_assert(0);
|
||||
}
|
||||
u3z(key);
|
||||
}
|
||||
u3h_free(har_u);
|
||||
}
|
||||
// u3m_dump();
|
||||
}
|
||||
#endif
|
||||
|
||||
#if 1
|
||||
static void
|
||||
_test_jam(void)
|
||||
{
|
||||
// u3m_dump();
|
||||
{
|
||||
u3_noun pil = u3_walk_load("urb/urbit.pill");
|
||||
u3_noun cue, jam;
|
||||
|
||||
printf("cueing pill - %d bytes\n", u3r_met(3, pil));
|
||||
cue = u3ke_cue(pil);
|
||||
printf("cued - mug %x\n", u3r_mug(cue));
|
||||
|
||||
#if 1
|
||||
jam = u3ke_jam(cue);
|
||||
printf("jammed - %d bytes\n", u3r_met(3, jam));
|
||||
cue = u3ke_cue(jam);
|
||||
printf("cued - mug %x\n", u3r_mug(cue));
|
||||
#endif
|
||||
|
||||
u3z(cue);
|
||||
}
|
||||
// u3m_dump();
|
||||
}
|
||||
#endif
|
||||
|
||||
static void
|
||||
_test_leap(void)
|
||||
{
|
||||
#if 1
|
||||
// u3m_dump();
|
||||
{
|
||||
u3_noun pil;
|
||||
u3_noun cue, jam;
|
||||
c3_w gof_w = u3m_golf();
|
||||
|
||||
pil = u3_walk_load("urb/urbit.pill");
|
||||
u3m_leap(0);
|
||||
printf("cueing pill - %d bytes\n", u3r_met(3, pil));
|
||||
cue = u3ke_cue(pil);
|
||||
printf("cued - %p, mug %x\n", u3a_to_ptr(cue), u3r_mug(cue));
|
||||
u3m_fall();
|
||||
|
||||
cue = u3a_take(cue);
|
||||
printf("taken - %p, mug %x\n", u3a_to_ptr(cue), u3r_mug(cue));
|
||||
u3m_flog(gof_w);
|
||||
u3z(pil);
|
||||
|
||||
#if 1
|
||||
jam = u3ke_jam(cue);
|
||||
printf("jammed - %d bytes\n", u3r_met(3, jam));
|
||||
cue = u3ke_cue(jam);
|
||||
printf("cued - mug %x\n", u3r_mug(cue));
|
||||
#endif
|
||||
|
||||
u3z(cue);
|
||||
}
|
||||
// u3m_dump();
|
||||
#endif
|
||||
}
|
||||
|
||||
static void
|
||||
_test_test(void)
|
||||
{
|
||||
u3_noun fol = u3ke_cue(u3_walk_load("pill/west.pill"));
|
||||
u3_noun val;
|
||||
|
||||
printf("test_test: formula mug %x\n", u3r_mug(fol));
|
||||
val = u3n_nock_on(u3nc(42, 17), fol);
|
||||
printf("val %d\n", val);
|
||||
u3z(val);
|
||||
}
|
||||
|
||||
int FOO;
|
||||
|
||||
// A simple memory tester.
|
||||
//
|
||||
int
|
||||
main(int argc, char *argv[])
|
||||
{
|
||||
printf("hello, world: len %dMB\n", (1 << U3_OS_LoomBits) >> 18);
|
||||
// _test_words();
|
||||
|
||||
u3m_init();
|
||||
u3m_pave(c3y, c3n);
|
||||
// u3j_boot();
|
||||
|
||||
// u3m_dump();
|
||||
|
||||
printf("booted.\n");
|
||||
|
||||
{
|
||||
_test_leap();
|
||||
// _test_hash();
|
||||
// _test_jam();
|
||||
}
|
||||
// u3m_clear();
|
||||
|
||||
// u3m_dump();
|
||||
}
|
@ -10,12 +10,12 @@ ship=$1
|
||||
test -d $ship/.urb
|
||||
test -f $ship/.vere.lock
|
||||
|
||||
urb $ship -p hood -d '+hood/autoload |'
|
||||
herb $ship -p hood -d '+hood/autoload |'
|
||||
|
||||
urb $ship -p hood -d "+hood/mount %"
|
||||
herb $ship -p hood -d "+hood/mount %"
|
||||
|
||||
rm -r $ship/home
|
||||
|
||||
cp -r pkg/arvo $ship/home
|
||||
|
||||
urb $ship -p hood -d "+hood/commit %home"
|
||||
herb $ship -p hood -d "+hood/commit %home"
|
||||
|
Loading…
Reference in New Issue
Block a user