How to setup tests with the appropriate code using rebar3? - automated-tests

I have created a simple application via rebar3 templates such as:
apps/myapp/app/myapp_app.erl
-module(myapp_app).
-behaviour(application).
-export([start/2, stop/1]).
start(_StartType, _Params) ->
ok.
stop(_State) ->
ok.
I have written a test for that:
apps/myapp/test/myapp_test.erl
-module(myapp_test).
-include_lib("eunit/include/eunit.hrl").
simple_test() ->
myapp_app:start(ok, 42).
Sadly, when I launch the test, it seems that the link is not done between the two files:
$ rebar3 eunit
===> Verifying dependencies...
===> Compiling shoreline
===> Performing EUnit tests...
F
Failures:
1) myapp_test:simple_test/0
Failure/Error: {error,undef,
[{myapp_app,start,"*",[]},
{myapp_test,simple_test,0,
[{file,
"/.../apps/myapp/test/myapp_test.erl"},
{line,8}]},
{myapp_test,simple_test,0,[]}]}
Output:
Finished in 0.074 seconds
1 tests, 1 failures
===> Error running tests
Is there something to add in rebar.config?

If you have .erl files in a custom directory other than 'src', then you need to add it to the code path.
You can do it using rebar3 by modifying erl_opts section in 'rebar.config' as below.
{erl_opts, [debug_info, {src_dirs, ["src", "app"]}]}.
Hope this can work for you.

rebar3 does not find your .erl files if you have been under /app I moved them to /src.
➜ myapp rebar3 eunit
===> Verifying dependencies...
===> Compiling myapp
===> Performing EUnit tests...
.
Finished in 0.081 seconds
1 tests, 0 failures
➜ myapp ls
LICENSE README.md _build rebar.config src test
➜ myapp mv src app
➜ myapp rebar3 eunit
===> Verifying dependencies...
===> Performing EUnit tests...
F
Failures:
1) myapp_test:simple_test/0: module 'myapp_test'
Failure/Error: {error,undef,
[{myapp_app,start,[ok,42],[]},
{myapp_test,simple_test,0,[]}]}
Output:
Finished in 0.036 seconds
1 tests, 1 failures
===> Error running tests
undef means could not be found when evaluating the call at runtime. 2 To help see what rebar3 is doing I can highly recommend debug, DEBUG=1.

Related

SaltStack and GitFS - No Top file or external nodes data matches found

Here is my /etc/salt/master config:
#GitFS
gitfs_provider: pygit2
gitfs_base: DEVELOPMENT
gitfs_env_whitelist:
- base
fileserver_backend:
- git
gitfs_remotes:
- ssh://git#github.com/myrepo/salt-states.git:
- pubkey: /root/.ssh/my.pub
- privkey: /root/.ssh/my
- mountpoint: salt:///srv/salt/salt-states
Here is my directory structure for the repo:
.
|-- README.md
|-- formulas
| `-- test
| |-- test.sls
`-- top.sls
Here is my very basic top.sls:
base:
'*':
- test
If i try to run highstate on my test node I get:
root#saltmaster:/etc/salt] salt -v '*' state.highstate
Executing job with jid 1234567890
-------------------------------------------
test-minion.domain:
----------
ID: states
Function: no.None
Result: False
Comment: No Top file or external nodes data matches found.
Started:
Duration:
Changes:
Summary for test-minion.domain
------------
Succeeded: 0
Failed: 1
------------
Total states run: 1
Total run time: 0.000 ms
I'm not sure why this isn't working and would appreciate any help with this. I've tried just applying the test.sls to see if it was the top file that was the issue but I got this:
root#saltmaster:/etc/salt] salt -v '*' state.sls test
Executing job with jid 1234567890
-------------------------------------------
test-minion.domain:
Data failed to compile:
----------
No matching sls found for 'test' in env 'base'
I had a similar problem, which was due to the cache being out of sync and not updating. If I tried to run:
salt-run fileserver.update
I got:
[WARNING ] Update lock file is present for gitfs remote 'git#github.com:mention-me/Salt.git', skipping. If this warning persists, it is possible that the update process was interrupted, but the lock could also have been manually set. Removing /var/cache/salt/master/gitfs/7d8d9790a933949777fd5a58284b8850/.git/update.lk or running 'salt-run cache.clear_git_lock gitfs type=update' will allow updates to continue for this remote.
Deleting the cache file specified, and running the above command fixed the problem.
I talked to the folks on the saltstack IRC and someone helped me fix the problem. It seems that adding a mountpoint was screwing everything up. Credit goes to:
12:20] == realname : Thomas Phipps
[12:20] == channels : #salt
[12:20] == server : orwell.freenode.net [NL]
[12:20] == : is using a secure connection
[12:20] == account : whytewolf
[12:20] == End of WHOIS

How to INSTALL & RUN QML QtWebEngine & QtWebKit on SBC using Yocto / Unable to fetch URL from any source

Environment
Debian GNU/Linux 7.8 (wheezy) Linux marvin 3.16-0.bpo.2-amd64 #1 SMP Debian 3.16.3-2~bpo70+1 (2014-09-21) x86_64 GNU/Linux
Raspberry Pi 2
Yocto Poky
Qt5
My goal is to run Chromium layout web engine on the RPi2
I want to be able to run this on my RPi2:
import QtQuick 2.1
import QtQuick.Controls 1.1
import QtWebEngine 1.0
ApplicationWindow {
width: 1280
height: 720
visible: true
WebEngineView {
id: webview
url: "http://www.qt-project.org"
anchors.fill: parent
}
}
How I created my RPi2 image
I have successfully created an image for my RPi2 using Yocto using this unique and amazing tutorial in portuguese and this one in english
here after in a few line how I was able to generate a image for my RPi2
mkdir -p ~/yocto/dl
cd ~/yocto
git clone -b dizzy git://git.yoctoproject.org/poky poky-dizzy
cd poky-dizzy
git clone git://git.yoctoproject.org/meta-raspberrypi
git clone -b dizzy https://github.com/meta-qt5/meta-qt5.git
git clone -b dizzy git://git.openembedded.org/meta-openembedded
git clone -b dizzy https://bitbucket.org/embarcados/meta-embarcados.git
then
cd ~/yocto
. poky-dizzy/oe-init-build-env build-dizzy
bitbake qt5-image-demo
after a few hours I could pick the image built ~/yocto/build-dizzy/tmp/deploy/images/raspberrypi2/qt5-image-demo-raspberrypi2.rpi-sdimg
... and copy to a microSD card e.g.
dd if=~/yocto/build-dizzy/tmp/deploy/images/raspberrypi2/qt5-image-demo-raspberrypi2.rpi-sdimg of=/dev/sdbX bs=4M
The ISSUE: QtWebEngine is not installed
... but when I tried to run this simple QtWebEngine example I got an error saying that QtWebEngine is not installed:
root#raspberrypi2:~# /usr/bin/qt5/qmlscene qb.qml -platform eglfs
file:///home/root/qb.qml:3 module "QtWebEngine" is not installed
... so I added QtWebEngine recipe to my bitbake image configuration and ran in my image configuration
vi ../poky-dizzy/meta-embarcados/meta-rpi/recipes-core/images/qt5-image-demo.bbappend
IMAGE_INSTALL += "\
packagegroup-qt5-machine-related \
apt \
openssh \
qtwebengine \ => /usr/lib/qt5/libexec/QtWebEngineProcess
qtwebengine-qmlplugins \ => /usr/lib/qt5/qml/QtWebEngine
"
The ERROR - RESOLVED
~/yocto/build-dizzy$ bitbake qt5-image-demo
WARNING: Host distribution "Debian-7.8" has not been validated with this version of the build system; you may possibly experience unexpected failures. It is recommended that you use a tested distribution.
Loading cache: 100% |##########################################################################################################################################################################################| ETA: 00:00:00
Loaded 1952 entries from dependency cache.
NOTE: Resolving any missing task queue dependencies
Build Configuration:
BB_VERSION = "1.24.0"
BUILD_SYS = "x86_64-linux"
NATIVELSBSTRING = "Debian-7.8"
TARGET_SYS = "arm-poky-linux-gnueabi"
MACHINE = "raspberrypi2"
DISTRO = "poky"
DISTRO_VERSION = "1.7.2"
TUNE_FEATURES = "arm armv7a vfp thumb neon callconvention-hard vfpv4 cortexa7"
TARGET_FPU = "vfp-vfpv4-neon"
meta-embarcados
meta-rpi = "dizzy:821ba371852d2aa86bc71d75918df37a21d264ad"
meta-raspberrypi = "master:6ef9d94a2c2588dcefe442577ef6ae5bbe722dec"
meta-qt5 = "dizzy:adeca0db212d61a933d7952ad44ea1064cfca747"
meta-oe = "dizzy:5b6f39ce325d490fc382d5d59c5b8b9d5fa38b38"
meta
meta-yocto = "dizzy:9c4ff467f66428488b1cd9798066a8cb5d6b4c3b"
meta-ruby = "dizzy:5b6f39ce325d490fc382d5d59c5b8b9d5fa38b38"
NOTE: Preparing runqueue
NOTE: Executing SetScene Tasks
NOTE: Executing RunQueue Tasks
WARNING: Failed to fetch URL git://code.qt.io/qt/qtwebengine.git;branch=1.0, attempting MIRRORS if available
ERROR: Fetcher failure: Unable to find revision 21f6ce84ecca9a4ff2aa980b21d2e5174c78d14b in branch 1.0 even from upstream
ERROR: Function failed: Fetcher failure for URL: 'git://code.qt.io/qt/qtwebengine.git;branch=1.0'. Unable to fetch URL from any source.
ERROR: Logfile of failure stored in: /home/otto/yocto/build-dizzy/tmp/work/cortexa7t2hf-vfp-vfpv4-neon-poky-linux-gnueabi/qtwebengine/5.3.2-r0/temp/log.do_fetch.16064
ERROR: Task 634 (/home/otto/yocto/build-dizzy/../poky-dizzy/meta-qt5/recipes-qt/qt5/qtwebengine_5.3.2+git.bb, do_fetch) failed with exit code '1'
NOTE: Tasks Summary: Attempted 3306 tasks of which 3305 didn't need to be rerun and 1 failed.
No currently running tasks (1955 of 3321)
Summary: 1 task failed:
/home/otto/yocto/build-dizzy/../poky-dizzy/meta-qt5/recipes-qt/qt5/qtwebengine_5.3.2+git.bb, do_fetch
Summary: There were 2 WARNING messages shown.
Summary: There were 2 ERROR messages shown, returning a non-zero exit code.
The LOG
~/yocto/build-dizzy$ tail /home/otto/yocto/build-dizzy/tmp/work/cortexa7t2hf-vfp-vfpv4-neon-poky-linux-gnueabi/qtwebengine/5.3.2-r0/temp/log.do_fetch.16064
DEBUG: Running export PATH="/home/otto/yocto/build-dizzy/tmp/sysroots/x86_64-linux/usr/bin/qt5:/home/otto/yocto/build-dizzy/tmp/sysroots/x86_64-linux/usr/bin/python-native:/home/otto/yocto/build-dizzy/tmp/sysroots/x86_64-linux/usr/bin/perl-native:/home/otto/yocto/poky-dizzy/scripts:/home/otto/yocto/build-dizzy/tmp/sysroots/x86_64-linux/usr/bin/arm-poky-linux-gnueabi:/home/otto/yocto/build-dizzy/tmp/sysroots/raspberrypi2/usr/bin/crossscripts:/home/otto/yocto/build-dizzy/tmp/sysroots/x86_64-linux/usr/sbin:/home/otto/yocto/build-dizzy/tmp/sysroots/x86_64-linux/usr/bin:/home/otto/yocto/build-dizzy/tmp/sysroots/x86_64-linux/sbin:/home/otto/yocto/build-dizzy/tmp/sysroots/x86_64-linux/bin:/home/otto/yocto/poky-dizzy/scripts:/home/otto/yocto/poky-dizzy/bitbake/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games"; export HOME="/home/otto"; /usr/bin/env wget -t 2 -T 30 -nv --passive-ftp --no-check-certificate -P /home/otto/yocto/build-dizzy/../dl 'http://sources.openembedded.org/git2_code.qt.io.qt.qtwebengine.git.tar.gz'
DEBUG: Mirror fetch failure for url http://sources.openembedded.org/git2_code.qt.io.qt.qtwebengine.git.tar.gz (original url: git://code.qt.io/qt/qtwebengine.git;branch=1.0)
DEBUG: Fetcher failure: Fetch command failed with exit code 8, output:
http://sources.openembedded.org/git2_code.qt.io.qt.qtwebengine.git.tar.gz:
2015-05-24 03:12:49 ERROR 404: Not Found.
ERROR: Fetcher failure: Unable to find revision 21f6ce84ecca9a4ff2aa980b21d2e5174c78d14b in branch 1.0 even from upstream
DEBUG: Python function base_do_fetch finished
DEBUG: Python function do_fetch finished
ERROR: Function failed: Fetcher failure for URL: 'git://code.qt.io/qt/qtwebengine.git;branch=1.0'. Unable to fetch URL from any source.
indeed this give me a 404 and that's my issue
http://sources.openembedded.org/git2_code.qt.io.qt.qtwebengine.git.tar.gz`
but I check this and it works
git clone git://code.qt.io/qt/qtwebengine.git;branch=1.0git://code.qt.io/qt/qtwebengine.git;branch=1.0`
Doesn't anyone know how to fix this?
As a matter of fact I have the same problem with QtWebKit
UPDATE - COMPILATION PASS - How do I run QtWebEngine?
Compilation/Installation part of QtWebEngine was addressed. I was able to compile the QtWebEngine /usr/lib/qt5/libexec/QtWebEngineProcess. The simple QML script still doesn't find the QtWebEngine, I think it is expecting /usr/lib/qt5/qml/QtWebEngine which I am not able to generate.
QML is not a hard requirement. I just need to be able to compile and run a very simple Qt5 application that will load a Web page with the Chromium Layout Engine capabilities hence the requirement of QtWebEngine.
UPDATE Added QtWebEngine QML plugins - Can't figure out the IMPORT VERSION
root#raspberrypi2:~# /usr/bin/qt5/qmlscene --platform eglfs chromium.qml
file:///home/root/chromium.qml:3 module "QtWebEngine" version 1.0 is not installed
QtWebEngine Files installed
root#raspberrypi2:/usr/lib/qt5# find . -name *ngine*
./qml/QtWebEngine
./qml/QtWebEngine/experimental/libqtwebengineexperimentalplugin.so
./qml/QtWebEngine/libqtwebengineplugin.so
./plugins/iconengines
./plugins/mediaservice/libqtmedia_audioengine.so
./plugins/qtwebengine
./libexec/QtWebEngineProcess
Looks like it's version 0.9
root#raspberrypi2:~# ls -al /usr/lib/libQt0Web*
lrwxrwxrwx 1 root root 24 Jun 5 09:16 /usr/lib/libQt0WebEngine.so.0 -> libQt0WebEngine.so.0.9.0
lrwxrwxrwx 1 root root 24 Jun 5 09:16 /usr/lib/libQt0WebEngine.so.0.9 -> libQt0WebEngine.so.0.9.0
-rwxr-xr-x 1 root root 112744 May 24 19:04 /usr/lib/libQt0WebEngine.so.0.9.0
lrwxrwxrwx 1 root root 28 Jun 5 09:16 /usr/lib/libQt0WebEngineCore.so.0 -> libQt0WebEngineCore.so.0.9.0
lrwxrwxrwx 1 root root 28 Jun 5 09:16 /usr/lib/libQt0WebEngineCore.so.0.9 -> libQt0WebEngineCore.so.0.9.0
-rwxr-xr-x 1 root root 32914884 May 24 19:04 /usr/lib/libQt0WebEngineCore.so.0.9.0
lrwxrwxrwx 1 root root 31 Jun 5 09:16 /usr/lib/libQt0WebEngineWidgets.so.0 -> libQt0WebEngineWidgets.so.0.9.0
lrwxrwxrwx 1 root root 31 Jun 5 09:16 /usr/lib/libQt0WebEngineWidgets.so.0.9 -> libQt0WebEngineWidgets.so.0.9.0
-rwxr-xr-x 1 root root 73976 May 24 19:04 /usr/lib/libQt0WebEngineWidgets.so.0.9.0
Changed import version to 0.9 import QtWebEngine 0.9
Now getting a different error, but a blank (white then red) canvas is opening
root#raspberrypi2:~# /usr/bin/qt5/qmlscene --platform eglfs chromium.qml
[0605/112518:ERROR:resource_bundle.cc(607)] Failed to load /usr/share/qt5/qtwebengine_resources.pak
Some features may not be available.
[0605/112518:WARNING:resource_bundle.cc(280)] locale_file_path.empty()
[0605/112518:WARNING:proxy_service.cc(890)] PAC support disabled because there is no system implementation
[0605/112518:ERROR:resource_bundle.cc(607)] Failed to load /usr/share/qt5/qtwebengine_resources.pak
Some features may not be available.
[0605/112518:WARNING:resource_bundle.cc(280)] locale_file_path.empty()
Indeed no .pak file present
root#raspberrypi2:/usr/share/qt5# ls -al
drwxr-xr-x 4 root root 1024 Jun 5 09:27 .
drwxr-xr-x 29 root root 1024 May 22 15:21 ..
drwxr-xr-x 40 root root 1024 Jun 5 09:16 examples
drwx------ 3 root root 1024 Jun 5 09:27 translations
No QtWebEngine plugins.qmltypes (?)
root#raspberrypi2:~# find /usr/lib -name plugins.qmltypes
/usr/lib/qt5/qml/QtQuick.2/plugins.qmltypes
/usr/lib/qt5/qml/QtMultimedia/plugins.qmltypes
/usr/lib/qt5/qml/Qt/labs/settings/plugins.qmltypes
/usr/lib/qt5/qml/Qt/labs/folderlistmodel/plugins.qmltypes
/usr/lib/qt5/qml/Qt/WebSockets/plugins.qmltypes
/usr/lib/qt5/qml/QtServiceFramework/plugins.qmltypes
/usr/lib/qt5/qml/Qt3D/plugins.qmltypes
/usr/lib/qt5/qml/Qt3D/Shapes/plugins.qmltypes
/usr/lib/qt5/qml/QtLocation/plugins.qmltypes
/usr/lib/qt5/qml/QtPositioning/plugins.qmltypes
/usr/lib/qt5/qml/Enginio/plugins.qmltypes
/usr/lib/qt5/qml/QtQuick/LocalStorage/plugins.qmltypes
/usr/lib/qt5/qml/QtQuick/Controls/plugins.qmltypes
/usr/lib/qt5/qml/QtQuick/Layouts/plugins.qmltypes
/usr/lib/qt5/qml/QtQuick/Particles.2/plugins.qmltypes
/usr/lib/qt5/qml/QtQuick/XmlListModel/plugins.qmltypes
/usr/lib/qt5/qml/QtQuick/Window.2/plugins.qmltypes
/usr/lib/qt5/qml/QtQuick/Dialogs/plugins.qmltypes
/usr/lib/qt5/qml/QtQuick/PrivateWidgets/plugins.qmltypes
/usr/lib/qt5/qml/QtSensors/plugins.qmltypes
/usr/lib/qt5/qml/QtNfc/plugins.qmltypes
/usr/lib/qt5/qml/QtSystemInfo/plugins.qmltypes
/usr/lib/qt5/qml/QtPublishSubscribe/plugins.qmltypes
/usr/lib/qt5/qml/QtTest/plugins.qmltypes
/usr/lib/qt5/qml/QtBluetooth/plugins.qmltypes
packages
otto#marvin:~/yocto/build-dizzy$ find . -name packages-split | grep webengine
./tmp/work/cortexa7t2hf-vfp-vfpv4-neon-poky-linux-gnueabi/qtwebengine/5.3.2-r0/packages-split
on my build machine
otto#marvin:~/yocto/build-dizzy$ find . -name qtwebengine_resources.pak
./tmp/work/cortexa7t2hf-vfp-vfpv4-neon-poky-linux-gnueabi/qtwebengine/5.3.2-r0/packages-split/qtwebengine-dev/usr/share/qt5/qtwebengine_resources.pak
./tmp/work/cortexa7t2hf-vfp-vfpv4-neon-poky-linux-gnueabi/qtwebengine/5.3.2-r0/image/usr/share/qt5/qtwebengine_resources.pak
./tmp/work/cortexa7t2hf-vfp-vfpv4-neon-poky-linux-gnueabi/qtwebengine/5.3.2-r0/package/usr/share/qt5/qtwebengine_resources.pak
./tmp/work/cortexa7t2hf-vfp-vfpv4-neon-poky-linux-gnueabi/qtwebengine/5.3.2-r0/git/src/core/Release/gen/repack/qtwebengine_resources.pak
./tmp/work/cortexa7t2hf-vfp-vfpv4-neon-poky-linux-gnueabi/qtwebengine/5.3.2-r0/sysroot-destdir/usr/share/qt5/qtwebengine_resources.pak
./tmp/sysroots/raspberrypi2/usr/share/qt5/qtwebengine_resources.pak
Simple QML QtWebEngine not showing web page QUESTION on Stackoverflow
If you take a look at the repo git://code.qt.io/qt/qtwebengine.git, you'll see that there's no branch named 1.0, which is what your bitbake log states:
ERROR: Fetcher failure: Unable to find revision 21f6ce84ecca9a4ff2aa980b21d2e5174c78d14b in branch 1.0 even from upstream
If we clone the qtwebengine repo, and run the following command, we'll learn which branch contains that commit.
$ git branch -r --contains 21f6ce84ecca9a4ff2aa980b21d2e5174c78d14b
origin/5.4
origin/5.4.2
origin/5.5
origin/5.5.0
origin/HEAD -> origin/5.5
origin/dev
Thus, that commit is available on e.g the 5.4 branch.
Having a look at the qtwebengine_5.3.2ǵit.bb recipe in meta-qt5, we'll see the following line in the recipe:
QT_MODULE_BRANCH = "1.0"
It's this line that will decide what branch to checkout from the repository above.
Try adding a qtwebengine_5.3.2+git.bbappend in your own layer, in which you add:
QT_MODULE_BRANCH = "5.4"
After that, you should at least be able to fetch the requested SHA1. This seems to be bug in the meta data.
Note: I've not build tested this on the dizzy branch.

Meteor-Up failures on 2 different servers

I am experiencing failure every time I try to deploy to either an AWS/EC2 instance or a Digital Ocean droplet. With the EC2 instance I am using a pem file and with the droplet I am using password access. There were a lot of hoops to jump through to get through the mup setup, but that is finally successful on both instances. It's the mup deploy that fails on the Invoking deployment process: step.
Here's my mup.json for the droplet:
{
// Server authentication info
"servers": [
{
"host": "xx.xx.xx.xx",
"username": "root",
"password": "notmypassword"
// or pem file (ssh based authentication)
//"pem": "~/.ssh/id_rsa"
//"pem": "/users/alex/dropbox/awspems/projectmanager.pem"
}
],
// Install MongoDB in the server, does not destroy local MongoDB on future setup
"setupMongo": true,
// WARNING: Node.js is required! Only skip if you already have Node.js installed on server.
"setupNode": true,
// WARNING: If nodeVersion omitted will setup 0.10.33 by default. Do not use v, only version number.
"nodeVersion": "0.10.35",
// Install PhantomJS in the server
"setupPhantom": true,
// Application name (No spaces)
"appName": "projectmanager",
// Location of app (local directory)
"app": "/users/alex/dropbox/projectmanager",
// Configure environment
"env": {
"ROOT_URL": "http://xx.xx.xx.xx"
},
// Meteor Up checks if the app comes online just after the deployment
// before mup checks that, it will wait for no. of seconds configured below
"deployCheckWaitTime": 30
}
The following messages appear whether in the EC2 instance or the droplet instance:
Claire-MacAir-7:projectmanager alex$ mup deploy
Meteor Up: Production Quality Meteor Deployments
------------------------------------------------
“ Checkout Kadira!
It's the best way to monitor performance of your app.
Visit: https://kadira.io/mup ”
Building Started: /users/notmyusername/dropbox/projectmanager
Started TaskList: Deploy app 'projectmanager' (linux)
[xx.xx.xx.xx] - Uploading bundle
[xx.xx.xx.xx] ✔ Uploading bundle: SUCCESS
[xx.xx.xx.xx] - Setting up Environment Variables
[xx.xx.xx.xx] ✔ Setting up Environment Variables: SUCCESS
[xx.xx.xx.xx] - Invoking deployment process
[xx.xx.xx.xx] ✘ Invoking deployment process: FAILED
-----------------------------------STDERR-----------------------------------
ir=/root/.node-gyp/0.10.35',
gyp info spawn args '-Dmodule_root_dir=/opt/projectmanager/tmp/bundle/programs/server/npm/npm-bcrypt/node_modules/bcrypt',
gyp info spawn args '--depth=.',
gyp info spawn args '--no-parallel',
gyp info spawn args '--generator-output',
gyp info spawn args 'build',
gyp info spawn args '-Goutput_dir=.' ]
gyp info spawn make
gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ]
gyp info ok
npm WARN package.json meteor-dev-bundle#0.0.0 No description
npm WARN package.json meteor-dev-bundle#0.0.0 No repository field.
npm WARN package.json meteor-dev-bundle#0.0.0 No README data
stop: Unknown instance:
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0curl: (7) Failed to connect to localhost port 80: Connection refused
App did not pick up! Please check app logs.
-----------------------------------STDOUT-----------------------------------
LE(target) Release/obj.target/bcrypt_lib.node: Finished
COPY Release/bcrypt_lib.node
make: Leaving directory `/opt/projectmanager/tmp/bundle/programs/server/npm/npm-bcrypt/node_modules/bcrypt/build'
> fibers#1.0.1 install /opt/projectmanager/tmp/bundle/programs/server/node_modules/fibers
> node ./build.js
`linux-x64-v8-3.14` exists; testing
Binary is fine; exiting
underscore#1.5.2 node_modules/underscore
semver#4.1.0 node_modules/semver
chalk#0.5.1 node_modules/chalk
├── escape-string-regexp#1.0.2
├── ansi-styles#1.1.0
├── supports-color#0.2.0
├── strip-ansi#0.3.0 (ansi-regex#0.2.1)
└── has-ansi#0.1.0 (ansi-regex#0.2.1)
eachline#2.3.3 node_modules/eachline
└── type-of#2.0.1
source-map-support#0.2.8 node_modules/source-map-support
└── source-map#0.1.32 (amdefine#0.1.0)
fibers#1.0.1 node_modules/fibers
Waiting for MongoDB to initialize. (5 minutes)
connected
projectmanager start/running, process 11786
Waiting for 30 seconds while app is booting up
Checking is app booted or not?
----------------------------------------------------------------------------
Completed TaskList: Deploy app 'projectmanager' (linux)
The project works perfectly with no errors on my localhost.
Any ideas?
Thanks in advance, Alex Adams
And the solution is:
The mup logs showed that it didn't like a path designated for a folder to hold uploaded files. I changed the app to use GridFS, thus storing the files in the database. The app deploys correctly now.

Exit Meteor Tinytest after after all tests have been completed

When running meteor test-packages ./ from automated tests (e.g. grunt files), it would help if meteor exited after the tests were run. Is there a way to do that? The command line help doesn't suggest anything of that sort and this issue suggests it's not possible.
Tinytest is designed to run continuously and reactively test a set of packages.
For continuous integration scenarios, there's a tool called spacejam, which calls meteor-testpackages, waits for the tests to complete, then sends a SIGTERM signal to meteor.
$ npm install -g spacejam
$ spacejam test-packages ./
spacejam: spawning meteor
[[[[[ Tests ]]]]]
=> Started proxy.
=> Started MongoDB.
spacejam: meteor mongodb is ready
I20141129-21:12:34.361(-8)? test-in-console listening
=> Started your app.
=> App running at: http://localhost:4096/
spacejam: meteor is ready
spacejam: spawning phantomjs
phantomjs: Running tests at http://localhost:4096/ using test-in-console
S: tinytest - Moment.is : OK
C: tinytest - Moment.is : OK
passed/expected/failed/total 2 / 0 / 0 / 2
##_meteor_magic##state: done
spacejam: phantomjs exited with code: 0
spacejam: killing meteor
spacejam: meteor killed with signal: SIGTERM

Authentication failed with capifony

I'm trying to do a Symfony 2 project deployment web app based on capifony and Symfony2.
It uses Process to trigger my "cap deploy" task and display my output in a web browser.
When in a shell, if I run my "cap deploy" as user www-data (the same as used by Process) , my deployement works fine so there's nothing wrong either with my deploy task nor with my authentication keys.
Though, when I call my task from my web app, capifony tells me it can't authenticate on the remote server.
triggering start callbacks for `deploy'
* executing `deploy:setdomain'
* executing `deploy'
* executing `deploy:update'
** transaction: start
* executing `deploy:update_code'
triggering before callbacks for `deploy:update_code'
[32m--> Updating code base with checkout strategy[0m
executing locally: "git ls-remote [ myrepo ]"
command finished in 2068ms
* executing "git clone -q -o [ remote server ] [ my repo ]
/var/www/spinfony/releases/20121211100449 && cd /var/www/spinfony/releases/20121211100449 && git checkout -q -b deploy be53233e51a4c542c3bc8603b424e57f988898a4 && (echo be53233e51a4c542c3bc8603b424e57f988898a4 > /var/www/spinfony/releases/20121211100449/REVISION)"
servers: ["[ remote server ]"]
Password: stty: standard input: Invalid argument
stty: standard input: Invalid argument
stty: standard input: Invalid argument
*** [deploy:update_code] rolling back
* executing "rm -rf /var/www/spinfony/releases/20121211100449; true"
servers: ["[ remote server ]"]
** [deploy:update_code] exception while rolling back: Capistrano::ConnectionError, connection failed for: [ remote server ] (Net::SSH::AuthenticationFailed: [ user ])
connection failed for: [ remote server ] (Net::SSH::AuthenticationFailed: [ user ])
I'm trying to figure out why capifony seems to expect a password I can't provide since i'm not running it from a shell, whereas when I do run it from a shell, it works fine without asking me anything.
Once again, the same file is called from the same user.
This is a known "bug"
You need to tell capistrano wich key to use
Try adding this to your deploy.rb :
ssh_options[:keys] = %w(/what/ever/.ssh/id_rsa)
Source : http://adam.goucher.ca/?p=1253
When you call your task from a web app, you need to tell it what user to use.
set :user, "www-data"
set :domain, "webserverdomainname.com"

Resources