mirror of https://github.com/grpc/grpc-node.git
Merge branch 'master' into native_package_included_directories
This commit is contained in:
commit
54029c58d4
|
@ -32,7 +32,11 @@ gulp.task('link', 'Link local packages together after building',
|
||||||
|
|
||||||
gulp.task('setup', 'One-time setup for a clean repository', ['install.all', 'link']);
|
gulp.task('setup', 'One-time setup for a clean repository', ['install.all', 'link']);
|
||||||
|
|
||||||
gulp.task('clean', 'Delete generated files', ['js.core.clean']);
|
gulp.task('clean', 'Delete generated files', ['js.core.clean', 'native.core.clean']);
|
||||||
|
|
||||||
|
gulp.task('clean.all', 'Delete all files created by tasks',
|
||||||
|
['js.core.clean.all', 'native.core.clean.all', 'health-check.clean.all',
|
||||||
|
'internal.test.clean.all']);
|
||||||
|
|
||||||
gulp.task('native.test.only', 'Run tests of native code without rebuilding anything',
|
gulp.task('native.test.only', 'Run tests of native code without rebuilding anything',
|
||||||
['native.core.test', 'internal.test.test', 'health-check.test']);
|
['native.core.test', 'internal.test.test', 'health-check.test']);
|
||||||
|
|
|
@ -15,6 +15,7 @@
|
||||||
"express": "^4.15.4",
|
"express": "^4.15.4",
|
||||||
"google-auth-library": "^0.11.0",
|
"google-auth-library": "^0.11.0",
|
||||||
"lodash": "^4.17.4",
|
"lodash": "^4.17.4",
|
||||||
|
"mocha-jenkins-reporter": "^0.3.9",
|
||||||
"poisson-process": "^0.2.2"
|
"poisson-process": "^0.2.2"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
|
|
@ -3,6 +3,7 @@ const help = require('gulp-help');
|
||||||
const mocha = require('gulp-mocha');
|
const mocha = require('gulp-mocha');
|
||||||
const execa = require('execa');
|
const execa = require('execa');
|
||||||
const path = require('path');
|
const path = require('path');
|
||||||
|
const del = require('del');
|
||||||
|
|
||||||
const gulp = help(_gulp);
|
const gulp = help(_gulp);
|
||||||
|
|
||||||
|
@ -10,8 +11,15 @@ const healthCheckDir = __dirname;
|
||||||
const baseDir = path.resolve(healthCheckDir, '..', '..');
|
const baseDir = path.resolve(healthCheckDir, '..', '..');
|
||||||
const testDir = path.resolve(healthCheckDir, 'test');
|
const testDir = path.resolve(healthCheckDir, 'test');
|
||||||
|
|
||||||
|
gulp.task('health-check.clean.links', 'Delete npm links', () => {
|
||||||
|
return del(path.resolve(healthCheckDir, 'node_modules/grpc'));
|
||||||
|
});
|
||||||
|
|
||||||
|
gulp.task('health-check.clean.all', 'Delete all code created by tasks',
|
||||||
|
['health-check.clean.links']);
|
||||||
|
|
||||||
gulp.task('health-check.install', 'Install health check dependencies', () => {
|
gulp.task('health-check.install', 'Install health check dependencies', () => {
|
||||||
return execa('npm', ['install'], {cwd: healthCheckDir, stdio: 'inherit'});
|
return execa('npm', ['install', '--unsafe-perm'], {cwd: healthCheckDir, stdio: 'inherit'});
|
||||||
});
|
});
|
||||||
|
|
||||||
gulp.task('health-check.link.add', 'Link local copy of grpc', ['health-check.install'], () => {
|
gulp.task('health-check.link.add', 'Link local copy of grpc', ['health-check.install'], () => {
|
||||||
|
@ -20,5 +28,5 @@ gulp.task('health-check.link.add', 'Link local copy of grpc', ['health-check.ins
|
||||||
|
|
||||||
gulp.task('health-check.test', 'Run health check tests',
|
gulp.task('health-check.test', 'Run health check tests',
|
||||||
() => {
|
() => {
|
||||||
return gulp.src(`${testDir}/*.js`).pipe(mocha());
|
return gulp.src(`${testDir}/*.js`).pipe(mocha({reporter: 'mocha-jenkins-reporter'}));
|
||||||
});
|
});
|
||||||
|
|
|
@ -81,7 +81,7 @@ function makeCompileFn(globs) {
|
||||||
}
|
}
|
||||||
|
|
||||||
gulp.task('js.core.install', 'Install native core dependencies', () => {
|
gulp.task('js.core.install', 'Install native core dependencies', () => {
|
||||||
return execa('npm', ['install'], {cwd: jsCoreDir, stdio: 'inherit'});
|
return execa('npm', ['install', '--unsafe-perm'], {cwd: jsCoreDir, stdio: 'inherit'});
|
||||||
});
|
});
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -103,6 +103,9 @@ gulp.task('js.core.clean', 'Deletes transpiled code.', () => {
|
||||||
return del(outDir);
|
return del(outDir);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
gulp.task('js.core.clean.all', 'Deletes all files added by targets',
|
||||||
|
['js.core.clean']);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Transpiles TypeScript files in src/ to JavaScript according to the settings
|
* Transpiles TypeScript files in src/ to JavaScript according to the settings
|
||||||
* found in tsconfig.json.
|
* found in tsconfig.json.
|
||||||
|
@ -124,7 +127,7 @@ gulp.task('js.core.test.compile', 'After dep tasks, transpiles test/.', ['js.cor
|
||||||
gulp.task('js.core.test', 'After dep tasks, runs all tests.',
|
gulp.task('js.core.test', 'After dep tasks, runs all tests.',
|
||||||
['js.core.test.compile'], () => {
|
['js.core.test.compile'], () => {
|
||||||
return gulp.src(`${outDir}/test/**/*.js`)
|
return gulp.src(`${outDir}/test/**/*.js`)
|
||||||
.pipe(mocha());
|
.pipe(mocha({reporter: 'mocha-jenkins-reporter'}));
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
|
@ -8,6 +8,7 @@ const jshint = require('gulp-jshint');
|
||||||
const mocha = require('gulp-mocha');
|
const mocha = require('gulp-mocha');
|
||||||
const execa = require('execa');
|
const execa = require('execa');
|
||||||
const path = require('path');
|
const path = require('path');
|
||||||
|
const del = require('del');
|
||||||
|
|
||||||
const nativeCoreDir = __dirname;
|
const nativeCoreDir = __dirname;
|
||||||
const srcDir = path.resolve(nativeCoreDir, 'src');
|
const srcDir = path.resolve(nativeCoreDir, 'src');
|
||||||
|
@ -16,8 +17,16 @@ const testDir = path.resolve(nativeCoreDir, 'test');
|
||||||
const pkg = require('./package');
|
const pkg = require('./package');
|
||||||
const jshintConfig = pkg.jshintConfig;
|
const jshintConfig = pkg.jshintConfig;
|
||||||
|
|
||||||
|
gulp.task('native.core.clean', 'Delete generated files', () => {
|
||||||
|
return del([path.resolve(nativeCoreDir, 'build'),
|
||||||
|
path.resolve(nativeCoreDir, 'ext/node')]);
|
||||||
|
});
|
||||||
|
|
||||||
|
gulp.task('native.core.clean.all', 'Delete all files created by tasks',
|
||||||
|
['native.core.clean']);
|
||||||
|
|
||||||
gulp.task('native.core.install', 'Install native core dependencies', () => {
|
gulp.task('native.core.install', 'Install native core dependencies', () => {
|
||||||
return execa('npm', ['install', '--build-from-source'],
|
return execa('npm', ['install', '--build-from-source', '--unsafe-perm'],
|
||||||
{cwd: nativeCoreDir, stdio: 'inherit'});
|
{cwd: nativeCoreDir, stdio: 'inherit'});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -36,5 +45,5 @@ gulp.task('native.core.build', 'Build native package', () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
gulp.task('native.core.test', 'Run all tests', ['native.core.build'], () => {
|
gulp.task('native.core.test', 'Run all tests', ['native.core.build'], () => {
|
||||||
return gulp.src(`${testDir}/*.js`).pipe(mocha());
|
return gulp.src(`${testDir}/*.js`).pipe(mocha({reporter: 'mocha-jenkins-reporter'}));
|
||||||
});
|
});
|
||||||
|
|
|
@ -47,8 +47,6 @@
|
||||||
"jsdoc": "^3.3.2",
|
"jsdoc": "^3.3.2",
|
||||||
"jshint": "^2.5.0",
|
"jshint": "^2.5.0",
|
||||||
"minimist": "^1.1.0",
|
"minimist": "^1.1.0",
|
||||||
"mocha": "^3.0.2",
|
|
||||||
"mocha-jenkins-reporter": "^0.2.3",
|
|
||||||
"poisson-process": "^0.2.1"
|
"poisson-process": "^0.2.1"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
|
|
|
@ -912,6 +912,9 @@ exports.makeClientConstructor = function(methods, serviceName,
|
||||||
}
|
}
|
||||||
// Associate all provided attributes with the method
|
// Associate all provided attributes with the method
|
||||||
_.assign(ServiceClient.prototype[name], attrs);
|
_.assign(ServiceClient.prototype[name], attrs);
|
||||||
|
if (attrs.originalName) {
|
||||||
|
ServiceClient.prototype[attrs.originalName] = ServiceClient.prototype[name];
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
ServiceClient.service = methods;
|
ServiceClient.service = methods;
|
||||||
|
|
24
run-tests.sh
24
run-tests.sh
|
@ -29,11 +29,21 @@ if [ ! -n "$node_versions" ] ; then
|
||||||
node_versions="4 5 6 7 8"
|
node_versions="4 5 6 7 8"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
set +ex
|
||||||
|
nvm install lts/*
|
||||||
|
nvm use lts/*
|
||||||
|
set -ex
|
||||||
|
|
||||||
|
npm install --unsafe-perm
|
||||||
|
./node_modules/.bin/gulp setup
|
||||||
|
|
||||||
|
mkdir -p reports
|
||||||
|
|
||||||
# TODO(mlumish): Add electron tests
|
# TODO(mlumish): Add electron tests
|
||||||
|
|
||||||
for version in ${node_versions}
|
for version in ${node_versions}
|
||||||
do
|
do
|
||||||
git clean -f -d -x
|
cd $ROOT
|
||||||
# Install and setup node for the version we want.
|
# Install and setup node for the version we want.
|
||||||
set +ex
|
set +ex
|
||||||
echo "Switching to node version $version"
|
echo "Switching to node version $version"
|
||||||
|
@ -41,12 +51,18 @@ do
|
||||||
nvm use $version
|
nvm use $version
|
||||||
set -ex
|
set -ex
|
||||||
|
|
||||||
|
mkdir -p "reports/node$version"
|
||||||
|
|
||||||
# Install dependencies and link packages together.
|
# Install dependencies and link packages together.
|
||||||
npm install
|
./node_modules/.bin/gulp clean.all
|
||||||
./node_modules/.bin/gulp setup
|
./node_modules/.bin/gulp link
|
||||||
|
|
||||||
# Rebuild libraries and run tests.
|
# Rebuild libraries and run tests.
|
||||||
./node_modules/.bin/gulp native.test || FAILED="true"
|
JUNIT_REPORT_PATH="reports/node$version/" JUNIT_REPORT_STACK=1 ./node_modules/.bin/gulp native.test || FAILED="true"
|
||||||
|
cd "reports/node$version"
|
||||||
|
for file in * ; do
|
||||||
|
mv $file $(echo $file | sed 's/\(.*\)\.xml/\1_sponge_log.xml/')
|
||||||
|
done
|
||||||
done
|
done
|
||||||
|
|
||||||
if [ "$FAILED" != "" ]
|
if [ "$FAILED" != "" ]
|
||||||
|
|
|
@ -15,6 +15,9 @@
|
||||||
#
|
#
|
||||||
# This script updates the gRPC submodule to a given reference and run tests
|
# This script updates the gRPC submodule to a given reference and run tests
|
||||||
|
|
||||||
|
# cd to gRPC-node root directory
|
||||||
|
cd $(dirname $0)
|
||||||
|
|
||||||
cd packages/grpc-native-core/deps/grpc/
|
cd packages/grpc-native-core/deps/grpc/
|
||||||
|
|
||||||
# PR references are needed to test PRs from grpc/grpc
|
# PR references are needed to test PRs from grpc/grpc
|
||||||
|
|
|
@ -215,6 +215,10 @@ describe('Client constructor building', function() {
|
||||||
grpc.makeGenericClientConstructor(illegal_service_attrs);
|
grpc.makeGenericClientConstructor(illegal_service_attrs);
|
||||||
}, /\$/);
|
}, /\$/);
|
||||||
});
|
});
|
||||||
|
it('Should add aliases for original names', function() {
|
||||||
|
var Client = grpc.makeGenericClientConstructor(mathServiceAttrs);
|
||||||
|
assert.strictEqual(Client.prototype.add, Client.prototype.Add);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
describe('waitForClientReady', function() {
|
describe('waitForClientReady', function() {
|
||||||
var server;
|
var server;
|
||||||
|
|
|
@ -3,6 +3,7 @@ const help = require('gulp-help');
|
||||||
const mocha = require('gulp-mocha');
|
const mocha = require('gulp-mocha');
|
||||||
const execa = require('execa');
|
const execa = require('execa');
|
||||||
const path = require('path');
|
const path = require('path');
|
||||||
|
const del = require('del');
|
||||||
|
|
||||||
// gulp-help monkeypatches tasks to have an additional description parameter
|
// gulp-help monkeypatches tasks to have an additional description parameter
|
||||||
const gulp = help(_gulp);
|
const gulp = help(_gulp);
|
||||||
|
@ -10,10 +11,17 @@ const gulp = help(_gulp);
|
||||||
const testDir = __dirname;
|
const testDir = __dirname;
|
||||||
const apiTestDir = path.resolve(testDir, 'api');
|
const apiTestDir = path.resolve(testDir, 'api');
|
||||||
|
|
||||||
|
gulp.task('internal.test.clean.links', 'Delete npm links', () => {
|
||||||
|
return del(path.resolve(testDir, 'node_modules/grpc'));
|
||||||
|
});
|
||||||
|
|
||||||
|
gulp.task('internal.test.clean.all', 'Delete all files created by tasks',
|
||||||
|
['internal.test.clean.links']);
|
||||||
|
|
||||||
gulp.task('internal.test.link.add', 'Link local copies of grpc packages', () => {
|
gulp.task('internal.test.link.add', 'Link local copies of grpc packages', () => {
|
||||||
return execa('npm', ['link', 'grpc'], {cwd: testDir, stdio: 'inherit'});
|
return execa('npm', ['link', 'grpc'], {cwd: testDir, stdio: 'inherit'});
|
||||||
});
|
});
|
||||||
|
|
||||||
gulp.task('internal.test.test', 'Run API-level tests', () => {
|
gulp.task('internal.test.test', 'Run API-level tests', () => {
|
||||||
return gulp.src(`${apiTestDir}/*.js`).pipe(mocha());
|
return gulp.src(`${apiTestDir}/*.js`).pipe(mocha({reporter: 'mocha-jenkins-reporter'}));
|
||||||
});
|
});
|
||||||
|
|
|
@ -17,3 +17,8 @@
|
||||||
# Location of the continuous shell script in repository.
|
# Location of the continuous shell script in repository.
|
||||||
build_file: "grpc-node/kokoro.sh"
|
build_file: "grpc-node/kokoro.sh"
|
||||||
timeout_mins: 60
|
timeout_mins: 60
|
||||||
|
action {
|
||||||
|
define_artifacts {
|
||||||
|
regex: "github/grpc-node/reports/**"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -17,3 +17,8 @@
|
||||||
# Location of the continuous shell script in repository.
|
# Location of the continuous shell script in repository.
|
||||||
build_file: "grpc-node/kokoro.sh"
|
build_file: "grpc-node/kokoro.sh"
|
||||||
timeout_mins: 60
|
timeout_mins: 60
|
||||||
|
action {
|
||||||
|
define_artifacts {
|
||||||
|
regex: "github/grpc-node/reports/**"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue