mirror of
https://github.com/meteor/meteor.git
synced 2026-05-02 03:01:46 -04:00
test-bundler-assets passes
This commit is contained in:
@@ -19,7 +19,7 @@ var httpHelpers = require('./http-helpers.js');
|
||||
var archinfo = require('./archinfo.js');
|
||||
var tropohouse = require('./tropohouse.js');
|
||||
var packageCache = require('./package-cache.js');
|
||||
var PackageLoader = require('./package-loader.js');
|
||||
var PackageLoader = require('./package-loader.js').PackageLoader;
|
||||
var PackageSource = require('./package-source.js');
|
||||
var compiler = require('./compiler.js');
|
||||
var catalog = require('./catalog.js');
|
||||
|
||||
@@ -5,7 +5,7 @@ var buildmessage = require('./buildmessage.js');
|
||||
var archinfo = require(path.join(__dirname, 'archinfo.js'));
|
||||
var linker = require('./linker.js');
|
||||
var Unipackage = require('./unipackage.js').Unipackage;
|
||||
var PackageLoader = require('./package-loader.js');
|
||||
var packageLoaderModule = require('./package-loader.js');
|
||||
var uniload = require('./uniload.js');
|
||||
var bundler = require('./bundler.js');
|
||||
var catalog = require('./catalog.js');
|
||||
@@ -704,7 +704,7 @@ compiler.compile = function (packageSource, options) {
|
||||
rootPath: packageSource.sourceRoot
|
||||
}, function () {
|
||||
|
||||
var packageLoader = new PackageLoader({
|
||||
var packageLoader = new packageLoaderModule.PackageLoader({
|
||||
versions: buildTimeDeps.pluginDependencies[info.name]
|
||||
});
|
||||
|
||||
@@ -782,7 +782,7 @@ compiler.compile = function (packageSource, options) {
|
||||
});
|
||||
|
||||
// Compile builds. Might use our plugins, so needs to happen second.
|
||||
var packageLoader = new PackageLoader({
|
||||
var packageLoader = new packageLoaderModule.PackageLoader({
|
||||
versions: buildTimeDeps.packageDependencies
|
||||
});
|
||||
|
||||
@@ -916,7 +916,7 @@ compiler.checkUpToDate = function (packageSource, unipackage) {
|
||||
return false;
|
||||
}
|
||||
|
||||
var directDepsPackageLoader = new PackageLoader({
|
||||
var directDepsPackageLoader = new packageLoaderModule.PackageLoader({
|
||||
versions: buildTimeDeps.directDependencies
|
||||
});
|
||||
var directDepsMatch = _.all(
|
||||
@@ -949,7 +949,7 @@ compiler.checkUpToDate = function (packageSource, unipackage) {
|
||||
|
||||
// For each plugin, check that the resolved build-time deps for
|
||||
// that plugin match the unipackage's build time deps for it.
|
||||
var packageLoaderForPlugin = new PackageLoader({
|
||||
var packageLoaderForPlugin = new packageLoaderModule.PackageLoader({
|
||||
versions: buildTimeDeps.pluginDependencies[pluginName]
|
||||
});
|
||||
var unipackagePluginDeps = unipackage.buildTimePluginDependencies[pluginName];
|
||||
|
||||
@@ -13,13 +13,13 @@ var unipackage = require('./unipackage.js');
|
||||
// - uniloadDir: if specified, versions should be null, and this loader will
|
||||
// *only* load packages that are already unipackages and are in this
|
||||
// directory
|
||||
var PackageLoader = function (options) {
|
||||
exports.PackageLoader = function (options) {
|
||||
var self = this;
|
||||
self.versions = options.versions || null;
|
||||
self.uniloadDir = options.uniloadDir;
|
||||
};
|
||||
|
||||
_.extend(PackageLoader.prototype, {
|
||||
_.extend(exports.PackageLoader.prototype, {
|
||||
// Given the name of a package, return a Unipackage object, or throw an
|
||||
// error if the package wasn't included in the 'versions' passed on
|
||||
// initalization or isn't available (for example, hasn't been
|
||||
@@ -118,5 +118,3 @@ _.extend(PackageLoader.prototype, {
|
||||
return pkg.getBuildAtArch(arch);
|
||||
}
|
||||
});
|
||||
|
||||
module.exports = PackageLoader;
|
||||
|
||||
@@ -180,7 +180,7 @@ _.extend(Project.prototype, {
|
||||
};
|
||||
|
||||
// Finally, initialize the package loader.
|
||||
var PackageLoader = require('./package-loader.js');
|
||||
var PackageLoader = require('./package-loader.js').PackageLoader;
|
||||
self.packageLoader = new PackageLoader({
|
||||
versions: newVersions
|
||||
});
|
||||
|
||||
@@ -13,7 +13,7 @@ var inFiber = require('./fiber-helpers.js').inFiber;
|
||||
var runLog = require('./run-log.js');
|
||||
var catalog = require('./catalog.js');
|
||||
var packageCache = require('./package-cache.js');
|
||||
var PackageLoader = require('./package-loader.js');
|
||||
var PackageLoader = require('./package-loader.js').PackageLoader;
|
||||
var stats = require('./stats.js');
|
||||
|
||||
// Parse out s as if it were a bash command line.
|
||||
|
||||
@@ -320,8 +320,9 @@ var Sandbox = function (options) {
|
||||
self.env = {};
|
||||
self.fakeMongo = options.fakeMongo;
|
||||
|
||||
console.log("\n XXX warehouse is commented out");
|
||||
if (_.has(options, 'warehouse') && false) {
|
||||
if (_.has(options, 'warehouse') &&
|
||||
console.log("\n XXX warehouse is commented out") &&
|
||||
false) {
|
||||
// Make a directory to hold our new warehouse
|
||||
self.warehouse = path.join(self.root, 'warehouse');
|
||||
fs.mkdirSync(self.warehouse, 0755);
|
||||
|
||||
@@ -8,8 +8,6 @@ var loginTimeoutSecs = 2;
|
||||
selftest.define("login", ['net'], function () {
|
||||
var s = new Sandbox;
|
||||
|
||||
console.log("XXX: added another timeout between login and username for package loading.");
|
||||
console.log("Tune these timeouts once constraint solver & desclicification are done.");
|
||||
var run = s.run("whoami");
|
||||
run.matchErr("Not logged in");
|
||||
run.expectExit(1);
|
||||
|
||||
@@ -10,7 +10,6 @@ var testUtils = require('../test-utils.js');
|
||||
// 'app-for-selftest-test-owned'
|
||||
|
||||
var commandTimeoutSecs = testUtils.accountsCommandTimeoutSecs;
|
||||
console.log("XXX: another instance of login taking a while");
|
||||
var loginTimeoutSecs = 2;
|
||||
|
||||
// Run 'meteor logs' or 'meteor mongo' against an app. Options:
|
||||
|
||||
@@ -35,12 +35,12 @@ selftest.define("watch", ["slow"], function () {
|
||||
});
|
||||
|
||||
selftest.define("bundler-assets", function () {
|
||||
console.log("XXX: SYMLINK?!");
|
||||
console.log("XXX: Meteor test options?");
|
||||
runOldTest('test-bundler-assets.js');
|
||||
});
|
||||
|
||||
selftest.define("bundler-options", function () {
|
||||
console.log("XXX: SYMLINK?!");
|
||||
console.log("XXX: Meteor test options?");
|
||||
runOldTest('test-bundler-options.js');
|
||||
});
|
||||
|
||||
|
||||
1
tools/tests/old/app-with-private/.meteor/identifier
Normal file
1
tools/tests/old/app-with-private/.meteor/identifier
Normal file
@@ -0,0 +1 @@
|
||||
1j3g9zflbqmlt1wjoa05
|
||||
41
tools/tests/old/app-with-private/.meteor/versions
Normal file
41
tools/tests/old/app-with-private/.meteor/versions
Normal file
@@ -0,0 +1,41 @@
|
||||
application-configuration@1.0.0+local
|
||||
autopublish@1.0.0+local
|
||||
autoupdate@1.0.0+local
|
||||
binary-heap@1.0.0+local
|
||||
callback-hook@1.0.0+local
|
||||
check@1.0.0+local
|
||||
ctl-helper@1.0.0+local
|
||||
ctl@1.0.0+local
|
||||
deps@1.0.0+local
|
||||
ejson@1.0.0+local
|
||||
follower-livedata@1.0.0+local
|
||||
geojson-utils@1.0.0+local
|
||||
html-tools@1.0.0+local
|
||||
htmljs@1.0.0+local
|
||||
id-map@1.0.0+local
|
||||
insecure@1.0.0+local
|
||||
jquery@1.0.0+local
|
||||
json@1.0.0+local
|
||||
livedata@1.0.0+local
|
||||
logging@1.0.0+local
|
||||
meteor@1.0.0+local
|
||||
minifiers@1.0.0+local
|
||||
minimongo@1.0.0+local
|
||||
mongo-livedata@1.0.0+local
|
||||
observe-sequence@1.0.0+local
|
||||
ordered-dict@1.0.0+local
|
||||
preserve-inputs@1.0.0+local
|
||||
random@1.0.0+local
|
||||
reactive-dict@1.0.0+local
|
||||
reload@1.0.0+local
|
||||
retry@1.0.0+local
|
||||
routepolicy@1.0.0+local
|
||||
session@1.0.0+local
|
||||
spacebars-compiler@1.0.0+local
|
||||
spacebars@1.0.0+local
|
||||
standard-app-packages@1.0.0+local
|
||||
templating@1.0.0+local
|
||||
test-package@1.0.0+local
|
||||
ui@1.0.0+local
|
||||
underscore@1.0.0+local
|
||||
webapp@1.0.0+local
|
||||
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"dependencies": [],
|
||||
"pluginDependencies": [],
|
||||
"toolVersion": "meteor-tool@2.0.0",
|
||||
"format": "1.0"
|
||||
}
|
||||
@@ -1,3 +1,8 @@
|
||||
Package.describe({
|
||||
name: "test-package",
|
||||
version: "1.0.0"
|
||||
});
|
||||
|
||||
Package._transitional_registerBuildPlugin({
|
||||
name: 'addTxt',
|
||||
use: [],
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
{
|
||||
"dependencies": [
|
||||
[
|
||||
"meteor",
|
||||
"1.0.0+local"
|
||||
],
|
||||
[
|
||||
"underscore",
|
||||
"1.0.0+local"
|
||||
]
|
||||
],
|
||||
"pluginDependencies": [
|
||||
[
|
||||
"addTxt",
|
||||
{}
|
||||
]
|
||||
],
|
||||
"toolVersion": "meteor-tool@2.0.0",
|
||||
"format": "1.0"
|
||||
}
|
||||
1
tools/tests/old/app-with-public/.meteor/identifier
Normal file
1
tools/tests/old/app-with-public/.meteor/identifier
Normal file
@@ -0,0 +1 @@
|
||||
1cugp537mjpx0gb4qri
|
||||
40
tools/tests/old/app-with-public/.meteor/versions
Normal file
40
tools/tests/old/app-with-public/.meteor/versions
Normal file
@@ -0,0 +1,40 @@
|
||||
application-configuration@1.0.0+local
|
||||
autopublish@1.0.0+local
|
||||
autoupdate@1.0.0+local
|
||||
binary-heap@1.0.0+local
|
||||
callback-hook@1.0.0+local
|
||||
check@1.0.0+local
|
||||
ctl-helper@1.0.0+local
|
||||
ctl@1.0.0+local
|
||||
deps@1.0.0+local
|
||||
ejson@1.0.0+local
|
||||
follower-livedata@1.0.0+local
|
||||
geojson-utils@1.0.0+local
|
||||
html-tools@1.0.0+local
|
||||
htmljs@1.0.0+local
|
||||
id-map@1.0.0+local
|
||||
insecure@1.0.0+local
|
||||
jquery@1.0.0+local
|
||||
json@1.0.0+local
|
||||
livedata@1.0.0+local
|
||||
logging@1.0.0+local
|
||||
meteor@1.0.0+local
|
||||
minifiers@1.0.0+local
|
||||
minimongo@1.0.0+local
|
||||
mongo-livedata@1.0.0+local
|
||||
observe-sequence@1.0.0+local
|
||||
ordered-dict@1.0.0+local
|
||||
preserve-inputs@1.0.0+local
|
||||
random@1.0.0+local
|
||||
reactive-dict@1.0.0+local
|
||||
reload@1.0.0+local
|
||||
retry@1.0.0+local
|
||||
routepolicy@1.0.0+local
|
||||
session@1.0.0+local
|
||||
spacebars-compiler@1.0.0+local
|
||||
spacebars@1.0.0+local
|
||||
standard-app-packages@1.0.0+local
|
||||
templating@1.0.0+local
|
||||
ui@1.0.0+local
|
||||
underscore@1.0.0+local
|
||||
webapp@1.0.0+local
|
||||
@@ -7,6 +7,8 @@ var files = require('../../files.js');
|
||||
var bundler = require('../../bundler.js');
|
||||
var uniload = require('../../uniload.js');
|
||||
var release = require('../../release.js');
|
||||
var project = require('../../project.js');
|
||||
var catalog = require('../../catalog.js');
|
||||
|
||||
var appWithPublic = path.join(__dirname, 'app-with-public');
|
||||
var appWithPrivate = path.join(__dirname, 'app-with-private');
|
||||
@@ -16,23 +18,35 @@ var tmpDir = function () {
|
||||
return (lastTmpDir = files.mkdtemp());
|
||||
};
|
||||
|
||||
var setAppDir = function (appDir) {
|
||||
project.project.setRootDir(appDir);
|
||||
|
||||
var localPackageDirs = [path.join(appDir, 'packages')];
|
||||
if (!files.usesWarehouse()) {
|
||||
// Running from a checkout, so use the Meteor core packages from
|
||||
// the checkout.
|
||||
localPackageDirs.push(path.join(
|
||||
files.getCurrentToolsDir(), 'packages'));
|
||||
}
|
||||
|
||||
catalog.complete.initialize({
|
||||
localPackageDirs: localPackageDirs
|
||||
});
|
||||
};
|
||||
|
||||
// These tests make some assumptions about the structure of stars: that there
|
||||
// are client and server programs inside programs/.
|
||||
|
||||
var runTest = function () {
|
||||
console.log("Bundle app with public/ directory");
|
||||
assert.doesNotThrow(function () {
|
||||
setAppDir(appWithPublic);
|
||||
|
||||
var tmpOutputDir = tmpDir();
|
||||
|
||||
// XXX This (and other calls to this function in the file) is
|
||||
// pretty terrible. see release.js, #HandlePackageDirsDifferently
|
||||
release._resetPackageDirs();
|
||||
|
||||
var result = bundler.bundle({
|
||||
appDir: appWithPublic,
|
||||
outputPath: tmpOutputDir,
|
||||
nodeModulesMode: 'skip'
|
||||
})
|
||||
});
|
||||
var clientManifest = JSON.parse(
|
||||
fs.readFileSync(
|
||||
path.join(tmpOutputDir, "programs", "client", "program.json")
|
||||
@@ -55,17 +69,19 @@ var runTest = function () {
|
||||
|
||||
console.log("Bundle app with private/ directory and package asset");
|
||||
assert.doesNotThrow(function () {
|
||||
setAppDir(appWithPrivate);
|
||||
|
||||
// Make sure we rebuild this app package.
|
||||
files.rm_recursive(
|
||||
path.join(appWithPrivate, "packages", "test-package", ".build"));
|
||||
|
||||
var tmpOutputDir = tmpDir();
|
||||
release._resetPackageDirs([ path.join(appWithPrivate, "packages") ]);
|
||||
|
||||
var result = bundler.bundle({
|
||||
appDir: appWithPrivate,
|
||||
outputPath: tmpOutputDir,
|
||||
nodeModulesMode: 'skip'
|
||||
})
|
||||
});
|
||||
|
||||
var serverManifest = JSON.parse(
|
||||
fs.readFileSync(
|
||||
path.join(tmpOutputDir, "programs", "server",
|
||||
@@ -119,16 +135,12 @@ var runTest = function () {
|
||||
|
||||
console.log("Use Assets API from unipackage");
|
||||
assert.doesNotThrow(function () {
|
||||
release._resetPackageDirs([ path.join(appWithPrivate, "packages") ]);
|
||||
var testPackage = uniload.load({
|
||||
library: release.current.library,
|
||||
packages: ['test-package']
|
||||
})['test-package'].TestAsset;
|
||||
testPackage.go(false /* don't exit when done */);
|
||||
});
|
||||
|
||||
// Be sure to clean up!
|
||||
release._resetPackageDirs();
|
||||
};
|
||||
|
||||
var Fiber = require('fibers');
|
||||
|
||||
@@ -2,7 +2,7 @@ var _ = require('underscore');
|
||||
var bundler = require('./bundler.js');
|
||||
var buildmessage = require('./buildmessage.js');
|
||||
var release = require('./release.js');
|
||||
var PackageLoader = require("./package-loader.js");
|
||||
var PackageLoader = require("./package-loader.js").PackageLoader;
|
||||
var packageCache = require("./package-cache.js");
|
||||
var files = require('./files.js');
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ var path = require('path');
|
||||
var Builder = require('./builder.js');
|
||||
var bundler = require('./bundler.js');
|
||||
var watch = require('./watch.js');
|
||||
var PackageLoader = require('./package-loader.js');
|
||||
var PackageLoader = require('./package-loader.js').PackageLoader;
|
||||
var catalog = require('./catalog.js');
|
||||
var files = require('./files.js');
|
||||
var Future = require('fibers/future');
|
||||
@@ -187,7 +187,7 @@ _.extend(Build.prototype, {
|
||||
// packages for which `filter(packageName, version)` returns truthy.
|
||||
var getLoadedPackageVersions = function (versions, filter) {
|
||||
var result = {};
|
||||
var PLoader = require("./package-loader.js");
|
||||
var PLoader = require("./package-loader.js").PackageLoader;
|
||||
|
||||
var packageLoader = new PLoader({ versions: versions });
|
||||
_.each(versions, function (version, packageName) {
|
||||
|
||||
Reference in New Issue
Block a user