diff --git a/tools/selftest.js b/tools/selftest.js index 8d6966e629..7efb1f7975 100644 --- a/tools/selftest.js +++ b/tools/selftest.js @@ -603,13 +603,32 @@ _.extend(Sandbox.prototype, { // Same as createApp, but with a package. // + // @param packageDir {String} The directory in which to create the package + // @param packageName {String} The package name to create. This string will + // replace all appearances of ~package-name~ + // in any package*.js files in the template + // @param template {String} The package template to use. Found as a + // subdirectory in tests/packages/ + // // For example: - // s.createPackage('mypack', 'empty'); - // s.cd('mypack'); - createPackage: function (to, template) { + // s.createPackage('me_mypack', me:mypack', 'empty'); + // s.cd('me_mypack'); + createPackage: function (packageDir, packageName, template) { var self = this; - files.cp_r(files.pathJoin(__dirname, 'tests', 'packages', template), - files.pathJoin(self.cwd, to)); + var packagePath = files.pathJoin(self.cwd, packageDir); + var templatePackagePath = files.pathJoin( + files.convertToStandardPath(__dirname), 'tests', 'packages', template); + files.cp_r(templatePackagePath, packagePath); + + _.each(files.readdir(packagePath), function (file) { + if (file.match(/^package.*\.js$/)) { + var packageJsFile = files.pathJoin(packagePath, file); + files.writeFile( + packageJsFile, + files.readFile(packageJsFile, "utf8") + .replace("~package-name~", packageName)); + } + }); }, // Change the cwd to be used for subsequent runs. For example: diff --git a/tools/tests/colon-converter-tests.js b/tools/tests/colon-converter-tests.js index 81722a8157..1ef6ba436c 100644 --- a/tools/tests/colon-converter-tests.js +++ b/tools/tests/colon-converter-tests.js @@ -58,9 +58,10 @@ selftest.define("can't publish package with colons", ["net", "test-package-serve testUtils.login(s, username, password); var packageName = randomizedPackageName(username, "package-with-colons"); - s.createPackage(packageName, "package-with-colons"); + var packageDirName = "package-with-colons"; + s.createPackage(packageDirName, packageName, "package-with-colons"); - s.cd(packageName, function () { + s.cd(packageDirName, function () { var run = s.run("publish", "--create"); run.matchErr("invalid characters"); @@ -81,7 +82,7 @@ selftest.define("can't build local packages with colons", function () { s.cd(appName, function () { s.mkdir("packages"); s.cd("packages", function () { - s.createPackage(packageName, "package-with-colons"); + s.createPackage("package-with-colons", packageName, "package-with-colons"); }); var run = s.run("add", packageName); diff --git a/tools/tests/package-tests.js b/tools/tests/package-tests.js index ad74dc2cf1..cebbc81572 100644 --- a/tools/tests/package-tests.js +++ b/tools/tests/package-tests.js @@ -462,8 +462,9 @@ selftest.define("sync local catalog", ["slow", "net", "test-package-server"], f // Create a package that has a versionsFrom for the just-published release. var newPack = packageName + "-b"; - s.createPackage(newPack, "package-of-two-versions"); - s.cd(newPack, function() { + var newPackDirName = "package-of-two-versions"; + s.createPackage(newPackDirName, newPack, "package-of-two-versions"); + s.cd(newPackDirName, function() { var packOpen = s.read("package.js"); packOpen = packOpen + "\nPackage.onUse(function(api) { \n" + "api.versionsFrom(\"" + releaseTrack + "@0.9\");\n" + @@ -480,7 +481,7 @@ selftest.define("sync local catalog", ["slow", "net", "test-package-server"], f // Try to publish the package. Since the package references the release that // we just published, it needs to resync with the server in order to be able // to compile itself. - s.cd(newPack, function() { + s.cd(newPackDirName, function() { run = s.run("publish", "--create"); run.waitSecs(20); run.match("Done"); @@ -533,8 +534,9 @@ selftest.define("sync local catalog", ["slow", "net", "test-package-server"], f // `packageName` should be a full package name (i.e. :), and the sandbox should be logged in as that username. var createAndPublishPackage = selftest.markStack(function (s, packageName) { - s.createPackage(packageName, "package-of-two-versions"); - s.cd(packageName, function (){ + var packageDirName = "package-of-two-versions"; + s.createPackage(packageDirName, packageName, "package-of-two-versions"); + s.cd(packageDirName, function (){ var run = s.run("publish", "--create"); run.waitSecs(25); run.expectExit(0); @@ -554,8 +556,9 @@ selftest.define("release track defaults to METEOR", // `versionsFrom`. This implies that it should be prefixed // by "METEOR@" var newPack = fullPackageName; - s.createPackage(newPack, "package-of-two-versions"); - s.cd(newPack, function() { + var newPackDirName = "random-package"; + s.createPackage(newPackDirName, newPack, "package-of-two-versions"); + s.cd(newPackDirName, function() { var packOpen = s.read("package.js"); packOpen = packOpen + "\nPackage.onUse(function(api) { \n" + "api.versionsFrom(\"" + releaseVersion + "\");\n" + @@ -566,7 +569,7 @@ selftest.define("release track defaults to METEOR", // Try to publish the package. The error message should demonstrate // that we indeed default to the METEOR release track when not // specified. - s.cd(newPack, function() { + s.cd(newPackDirName, function() { var run = s.run("publish", "--create"); run.waitSecs(20); run.matchErr("Unknown release METEOR@" + releaseVersion); @@ -681,7 +684,7 @@ selftest.define("package specifying a name", run.match("localhost"); s.cd("packages", function () { - s.createPackage("ac-fake", "fake-accounts-base"); + s.createPackage("ac-fake", "ac-fake", "fake-accounts-base"); }); run.waitSecs(5); @@ -1106,11 +1109,11 @@ selftest.define("show local package w/o version", function () { // Create a package without version or summary; check that we can show its // information without crashing. - s.createPackage(name, "package-for-show"); + s.createPackage(name, name, "package-for-show"); var packageDir = files.pathJoin(s.root, "home", name); s.cd(name, function () { - s.cp("completely-empty-package.js", "package.js"); + s.cp("package-completely-empty.js", "package.js"); testShowPackage(s, name, { defaultVersion: "local", versions: [{ version: "local", directory: packageDir }] @@ -1153,7 +1156,7 @@ selftest.define("show and search local package", function () { s.cd("myapp"); s.mkdir("packages"); s.cd("packages", function () { - s.createPackage(name, "package-for-show"); + s.createPackage(name, name, "package-for-show"); }); var packageDir = files.pathJoin(s.root, "home", "myapp", "packages", name); @@ -1195,7 +1198,7 @@ selftest.define("show and search local package", function () { summary = "This is a test package"; name = "my-local-exports"; packageDir = files.pathJoin(s.root, "home", "myapp", "packages", name); - s.createPackage(name, "package-for-show"); + s.createPackage(name, name, "package-for-show"); s.cd(name, function () { s.cp("package-with-exports.js", "package.js"); }); @@ -1306,11 +1309,13 @@ selftest.define("show and search local overrides server", // Publish the first version of this package. createAndPublishPackage(s, fullPackageName); + var packageDirName = "packages-for-show"; + // Create a second version of this package. Inside that package directory, we // should be able to see the local package. - var packageDir = files.pathJoin(s.root, "home", fullPackageName); - s.createPackage(fullPackageName, "package-for-show"); - s.cd(fullPackageName, function() { + var packageDir = files.pathJoin(s.root, "home", packageDirName); + s.createPackage(packageDirName, fullPackageName, "package-for-show"); + s.cd(packageDirName, function() { s.cp("package-with-git.js", "package.js"); var summary = "This is a test package"; var git = "www.github.com/meteor/meteor"; @@ -1393,8 +1398,9 @@ selftest.define("show server package", // Publish a version the package without git or any dependencies. Make sure // that 'show' renders it correctly. - s.createPackage(fullPackageName, "package-for-show"); - s.cd(fullPackageName, function () { + var packageDirName = "package-for-show"; + s.createPackage(packageDirName, fullPackageName, "package-for-show"); + s.cd(packageDirName, function () { var run = s.run("publish", "--create"); run.waitSecs(30); run.expectExit(0); @@ -1420,7 +1426,7 @@ selftest.define("show server package", }); // Publish a version of the package with git, but without any dependencies. - s.cd(fullPackageName, function () { + s.cd(packageDirName, function () { s.cp("package-with-git.js", "package.js"); var run = s.run("publish"); run.waitSecs(30); @@ -1446,7 +1452,7 @@ selftest.define("show server package", }); // Publish a version of the package with exports, and see that they show up. - s.cd(fullPackageName, function () { + s.cd(packageDirName, function () { s.cp("package-with-exports.js", "package.js"); var run = s.run("publish"); run.waitSecs(30); @@ -1486,7 +1492,7 @@ selftest.define("show server package", createAndPublishPackage(s, baseDependency); var weakDependency = randomizedPackageName(username, "weak"); createAndPublishPackage(s, weakDependency); - s.cd(fullPackageName, function () { + s.cd(packageDirName, function () { // Replace the dependencies placeholders in the package.js file with the // packages that we have just published. s.cp("package-with-deps.js", "package.js"); @@ -1706,10 +1712,11 @@ selftest.define("show rc-only package", var s = new Sandbox(); testUtils.login(s, username, password); var fullPackageName = randomizedPackageName(username); + var packageDirName = "package-for-show"; // Create a package that has only an rc version. - s.createPackage(fullPackageName, "package-for-show"); - s.cd(fullPackageName, function () { + s.createPackage(packageDirName, "package-for-show"); + s.cd(packageDirName, function () { s.cp("package-rc-version.js", "package.js"); var run = s.run("publish", "--create"); run.waitSecs(30); @@ -2117,9 +2124,10 @@ selftest.define("show package w/many versions", run.expectExit(0); }; var fullPackageName = randomizedPackageName(username); - s.createPackage(fullPackageName, "package-of-two-versions"); - var packageDir = files.pathJoin(s.root, "home", fullPackageName); - s.cd(fullPackageName, function () { + var packageDirName = "package-of-two-version"; + s.createPackage(packageDirName, fullPackageName, "package-of-two-versions"); + var packageDir = files.pathJoin(s.root, "home", packageDirName); + s.cd(packageDirName, function () { var run = s.run("publish", "--create"); run.waitSecs(30); run.expectExit(0); @@ -2222,7 +2230,7 @@ selftest.define("show readme excerpt", function () { // Create a package without version or summary; check that we can show its // information without crashing. - s.createPackage(name, "package-for-show"); + s.createPackage(name, name, "package-for-show"); var packageDir = files.pathJoin(s.root, "home", name); // We are just going to change the description in the Readme. Some things @@ -2369,7 +2377,8 @@ selftest.define("show server readme", // every time we want to check a publication date is sort of expensive. var today = longformToday(); var fullPackageName = username + ":" + utils.randomToken(); - s.createPackage(fullPackageName, "package-for-show"); + var packageDirName = "package-for-show"; + s.createPackage(packageDirName, fullPackageName, "package-for-show"); var summary = "This is a test package"; // Publish fullPackageName. @@ -2387,7 +2396,7 @@ selftest.define("show server readme", }; // Default docs. - s.cd(fullPackageName, function () { + s.cd(packageDirName, function () { publish(true); }); testShowPackageVersion(s, { @@ -2409,7 +2418,7 @@ selftest.define("show server readme", // Custom Readme! Publish works. var git = "https:ilovegit.git"; var staging; - s.cd(fullPackageName, function () { + s.cd(packageDirName, function () { staging = s.read("package-customizable.js"); staging = staging.replace(/~git~/g, git); staging = staging.replace(/~summary~/g, summary); @@ -2440,7 +2449,7 @@ selftest.define("show server readme", }); // Null Readme! Publish works. - s.cd(fullPackageName, function () { + s.cd(packageDirName, function () { var current = staging.replace(/~version~/g, "1.0.0_1"); s.write("package.js", current.replace(/~documentation~/g, "null")); publish(); @@ -2466,7 +2475,7 @@ selftest.define("show server readme", }); // These cause the publish to fail. - s.cd(fullPackageName, function () { + s.cd(packageDirName, function () { // README is blank. var current = staging.replace(/~version~/g, "1.0.0_2"); s.write("package.js", current.replace(/~documentation~/g, "'blank'")); @@ -2492,7 +2501,7 @@ selftest.define("show server readme", // If you didn't format things properly, we will still publish and use that as // an excerpt. - s.cd(fullPackageName, function () { + s.cd(packageDirName, function () { var current = staging.replace(/~version~/g, "1.0.0_2"); s.write("package.js", current.replace(/~documentation~/g, "'unformat'")); s.write("unformat", "I did not format this readme"); @@ -2537,7 +2546,8 @@ selftest.define("update package metadata", // every time we want to check a publication date is sort of expensive. var today = longformToday(); var fullPackageName = username + ":" + utils.randomToken(); - s.createPackage(fullPackageName, "package-for-show"); + var packageDirName = "package-for-show"; + s.createPackage(packageDirName, fullPackageName, "package-for-show"); var summary = "This is a test package"; var desc = "Test package."; var git = "www.iheartgit.git"; @@ -2561,7 +2571,7 @@ selftest.define("update package metadata", }; // Publish the basic show package, using the default settings. - s.cd(fullPackageName, function () { + s.cd(packageDirName, function () { var run = s.run("publish", "--create"); run.waitSecs(30); run.expectExit(0); @@ -2577,7 +2587,7 @@ selftest.define("update package metadata", }, basePackage)); // add git - s.cd(fullPackageName, function () { + s.cd(packageDirName, function () { var staging = s.read("package-customizable.js"); staging = staging.replace(/~git~/g, git); staging = staging.replace(/~summary~/g, summary); @@ -2601,7 +2611,7 @@ selftest.define("update package metadata", // change git & summary git = "https://www.idoNOTheartgit.com"; summary = "awesome test"; - s.cd(fullPackageName, function () { + s.cd(packageDirName, function () { var staging = s.read("package-customizable.js"); staging = staging.replace(/~git~/g, git); staging = staging.replace(/~summary~/g, summary); @@ -2625,7 +2635,7 @@ selftest.define("update package metadata", // change readme contents & summary desc = "This test package is super super awesome"; summary = "more awesome test"; - s.cd(fullPackageName, function () { + s.cd(packageDirName, function () { var staging = s.read("package-customizable.js"); staging = staging.replace(/~git~/g, git); staging = staging.replace(/~summary~/g, summary); @@ -2648,7 +2658,7 @@ selftest.define("update package metadata", // change readme contents desc = "Actually this test package is OK"; - s.cd(fullPackageName, function () { + s.cd(packageDirName, function () { s.write("README.md", "OKTest\n===\n"+ desc); update(); }); @@ -2665,7 +2675,7 @@ selftest.define("update package metadata", // change readme file desc = "description from new file"; - s.cd(fullPackageName, function () { + s.cd(packageDirName, function () { var staging = s.read("package-customizable.js"); staging = staging.replace(/~git~/g, git); staging = staging.replace(/~summary~/g, summary); @@ -2687,7 +2697,7 @@ selftest.define("update package metadata", }, basePackage)); // remove readme - s.cd(fullPackageName, function () { + s.cd(packageDirName, function () { var staging = s.read("package-customizable.js"); staging = staging.replace(/~git~/g, git); staging = staging.replace(/~summary~/g, summary); @@ -2706,7 +2716,7 @@ selftest.define("update package metadata", }, basePackage)); // try to set an invalid summary - s.cd(fullPackageName, function () { + s.cd(packageDirName, function () { // Long summary var staging = s.read("package-customizable.js"); staging = staging.replace(/~git~/g, git); @@ -2743,7 +2753,7 @@ selftest.define("update package metadata", // try to set an invalid readme - s.cd(fullPackageName, function () { + s.cd(packageDirName, function () { var staging = s.read("package-customizable.js"); staging = staging.replace(/~git~/g, git); var longSummary = Array(30).join(summary); @@ -2760,7 +2770,7 @@ selftest.define("update package metadata", }); // try to update non-existent version - s.cd(fullPackageName, function () { + s.cd(packageDirName, function () { var staging = s.read("package-customizable.js"); staging = staging.replace(/~git~/g, git); staging = staging.replace(/~summary~/g, summary); @@ -2775,8 +2785,9 @@ selftest.define("update package metadata", // try to update non-existent package var newPackageName = username + ":" + utils.randomToken(); - s.createPackage(newPackageName, "package-for-show"); - s.cd(newPackageName, function () { + var newPackageDirName = "packages-for-show"; + s.createPackage(newPackageDirName, newPackageName, "package-for-show"); + s.cd(newPackageDirName, newPackageName, function () { var run = s.run("publish", "--update"); run.matchErr("without publishing it first"); run.expectExit(1); @@ -2788,7 +2799,7 @@ selftest.define("update package metadata", // try to update dependencies, they don't get upated! (But it still goes // through, for now). - s.cd(fullPackageName, function () { + s.cd(packageDirName, function () { var staging = s.read("package-customizable.js"); staging = staging.replace(/~git~/g, git); staging = staging.replace(/~summary~/g, summary); diff --git a/tools/tests/packages/package-for-show/completely-empty-package.js b/tools/tests/packages/package-for-show/package-completely-empty.js similarity index 100% rename from tools/tests/packages/package-for-show/completely-empty-package.js rename to tools/tests/packages/package-for-show/package-completely-empty.js diff --git a/tools/tests/packages/package-for-show/package-customizable.js b/tools/tests/packages/package-for-show/package-customizable.js index df0b048a61..f2cfefb630 100644 --- a/tools/tests/packages/package-for-show/package-customizable.js +++ b/tools/tests/packages/package-for-show/package-customizable.js @@ -1,4 +1,5 @@ Package.describe({ + name: "~package-name~", // replaced via `Sandbox.prototype.createPackage` summary: '~summary~', version: '~version~', git: '~git~', diff --git a/tools/tests/packages/package-for-show/package-rc-version.js b/tools/tests/packages/package-for-show/package-rc-version.js index 9346564d01..0600c24cc9 100644 --- a/tools/tests/packages/package-for-show/package-rc-version.js +++ b/tools/tests/packages/package-for-show/package-rc-version.js @@ -1,4 +1,5 @@ Package.describe({ + name: "~package-name~", // replaced via `Sandbox.prototype.createPackage` summary: 'This is a pre-release version of this package!', version: '1.3.0-rc.1', git: 'www.github.com/fake-user/meteor', diff --git a/tools/tests/packages/package-for-show/package-with-deps.js b/tools/tests/packages/package-for-show/package-with-deps.js index 06b249fae4..bb4d6bd4cb 100644 --- a/tools/tests/packages/package-for-show/package-with-deps.js +++ b/tools/tests/packages/package-for-show/package-with-deps.js @@ -1,4 +1,5 @@ Package.describe({ + name: "~package-name~", // replaced via `Sandbox.prototype.createPackage` summary: 'This is a test package with dependencies', version: '1.2.0', git: 'www.github.com/meteor/meteor', diff --git a/tools/tests/packages/package-for-show/package-with-exports.js b/tools/tests/packages/package-for-show/package-with-exports.js index a04bc6585f..e114c247ee 100644 --- a/tools/tests/packages/package-for-show/package-with-exports.js +++ b/tools/tests/packages/package-for-show/package-with-exports.js @@ -1,4 +1,5 @@ Package.describe({ + name: "~package-name~", // replaced via `Sandbox.prototype.createPackage` summary: 'This is a test package', version: '1.0.1', git: 'www.github.com/meteor/meteor' diff --git a/tools/tests/packages/package-for-show/package-with-implies.js b/tools/tests/packages/package-for-show/package-with-implies.js index 4e224c9d53..1eea499851 100644 --- a/tools/tests/packages/package-for-show/package-with-implies.js +++ b/tools/tests/packages/package-for-show/package-with-implies.js @@ -1,4 +1,5 @@ Package.describe({ + name: "~package-name~", // replaced via `Sandbox.prototype.createPackage` summary: 'This is a test package', version: '1.2.1', git: 'www.github.com/meteor/meteor' diff --git a/tools/tests/packages/package-for-show/package.js b/tools/tests/packages/package-for-show/package.js index 16b365c0c4..af58e7a21c 100644 --- a/tools/tests/packages/package-for-show/package.js +++ b/tools/tests/packages/package-for-show/package.js @@ -1,4 +1,5 @@ Package.describe({ + name: "~package-name~", // replaced via `Sandbox.prototype.createPackage` summary: 'This is a test package', version: '0.9.9' }); diff --git a/tools/tests/packages/package-of-two-versions/package-version.js b/tools/tests/packages/package-of-two-versions/package-version.js index 62a51c590c..5fef58e2f4 100644 --- a/tools/tests/packages/package-of-two-versions/package-version.js +++ b/tools/tests/packages/package-of-two-versions/package-version.js @@ -1,4 +1,5 @@ Package.describe({ + name: "~package-name~", // replaced via `Sandbox.prototype.createPackage` summary: "Test package.", version: "~version~", documentation: null diff --git a/tools/tests/packages/package-of-two-versions/package.js b/tools/tests/packages/package-of-two-versions/package.js index 692220572a..1453043cf0 100644 --- a/tools/tests/packages/package-of-two-versions/package.js +++ b/tools/tests/packages/package-of-two-versions/package.js @@ -1,4 +1,5 @@ Package.describe({ + name: "~package-name~", // replaced via `Sandbox.prototype.createPackage` summary: "Test package.", version: "1.0.0", documentation: null diff --git a/tools/tests/packages/package-with-colons/package.js b/tools/tests/packages/package-with-colons/package.js index 450e562006..37941dcaec 100644 --- a/tools/tests/packages/package-with-colons/package.js +++ b/tools/tests/packages/package-with-colons/package.js @@ -1,4 +1,5 @@ Package.describe({ + name: "~package-name~", // replaced via `Sandbox.prototype.createPackage` summary: ' /* Fill me in! */ ', version: '1.0.19', git: ' /* Fill me in! */ ', diff --git a/tools/tests/packages/package-with-npm/package.js b/tools/tests/packages/package-with-npm/package.js index 6c5f9b2485..bb3992057f 100644 --- a/tools/tests/packages/package-with-npm/package.js +++ b/tools/tests/packages/package-with-npm/package.js @@ -1,4 +1,5 @@ Package.describe({ + name: "~package-name~", // replaced via `Sandbox.prototype.createPackage` summary: "Test package with a binary npm dependency", version: "1.0.0", documentation: null diff --git a/tools/tests/publish.js b/tools/tests/publish.js index c3c991b6b3..9ae90e65cd 100644 --- a/tools/tests/publish.js +++ b/tools/tests/publish.js @@ -16,14 +16,16 @@ selftest.define("create-publish-and-search", testUtils.login(s, username, password); var packageName = utils.randomToken(); var fullPackageName = username + ":" + packageName; + var fsPackageName = username + "_" + packageName; var githubUrl = "http://github.com/foo/bar"; var summary = "Package for test"; // Create a package that has a versionsFrom for a nonexistent release and see // that we throw on it. var noPack = fullPackageName + "2"; - s.createPackage(noPack, "package-of-two-versions"); - s.cd(noPack, function() { + var noPackDirName = fsPackageName + "2"; + s.createPackage(noPackDirName, noPack, "package-of-two-versions"); + s.cd(noPackDirName, function() { var packOpen = s.read("package.js"); packOpen = packOpen + "\nPackage.onUse(function(api) { \n" + "api.versionsFrom(\"THIS-RELEASE-DOES-NOT-EXIST@0.9\");\n" + @@ -40,7 +42,7 @@ selftest.define("create-publish-and-search", run.expectExit(0); run.match(fullPackageName); - s.cd(fullPackageName); + s.cd(fsPackageName); // set a github URL & summary in the package var packageJsContents = s.read("package.js"); @@ -77,14 +79,15 @@ selftest.define("create-publish-and-search", // name override. packageName = utils.randomToken(); var newPackageName = username + ":" + packageName; + var newPackageDirName = packageName; var minPack = " Package.describe({ " + "summary: 'Test package: " + packageName + "'," + "version: '1.0.1'," + "documentation: null," + "name: '" + newPackageName + "'});"; - s.createPackage(fullPackageName, "package-of-two-versions"); - s.cd(fullPackageName, function() { + s.createPackage(newPackageDirName, newPackageName, "package-of-two-versions"); + s.cd(newPackageDirName, function() { s.write("package.js", minPack); // If we manage to publish without the --create flag, that's probably an // indicator that we are reading the directory instead of the override, or, @@ -130,8 +133,8 @@ selftest.define("publish-one-arch", packageName = utils.randomToken(); fullPackageName = username + ":" + packageName; - s.createPackage(fullPackageName, "package-with-npm"); - s.cd(fullPackageName); + s.createPackage(packageName, fullPackageName, "package-with-npm"); + s.cd(packageName); run = s.run("publish", "--create"); run.waitSecs(15); @@ -155,9 +158,9 @@ selftest.define("list-with-a-new-version", var run; // Now, create a package. - s.createPackage(fullPackageName, "package-of-two-versions"); + s.createPackage(packageName, fullPackageName, "package-of-two-versions"); // Publish the first version. - s.cd(fullPackageName, function () { + s.cd(packageName, function () { run = s.run("publish", "--create"); run.waitSecs(15); run.expectExit(0); @@ -182,7 +185,7 @@ selftest.define("list-with-a-new-version", }); // Change the package to increment version and publish the new package. - s.cd(fullPackageName, function () { + s.cd(packageName, function () { setPackageVersion(s, "1.0.1"); run = s.run("publish"); run.waitSecs(15); @@ -235,7 +238,7 @@ selftest.define("list-with-a-new-version", }); // Now publish an 1.0.4-rc4. - s.cd(fullPackageName, function () { + s.cd(packageName, function () { setPackageVersion(s, "1.0.4-rc.4"); run = s.run("publish"); run.waitSecs(15); @@ -307,9 +310,9 @@ selftest.define("do-not-update-to-rcs", var run; // Now, create a package. - s.createPackage(fullPackageName, "package-of-two-versions"); + s.createPackage(packageName, fullPackageName, "package-of-two-versions"); // Publish the first version. - s.cd(fullPackageName, function () { + s.cd(packageName, function () { run = s.run("publish", "--create"); run.waitSecs(120); run.match("Published " + fullPackageName + "@"); @@ -323,7 +326,7 @@ selftest.define("do-not-update-to-rcs", }); // Now publish an 1.0.4-rc.3. - s.cd(fullPackageName, function () { + s.cd(packageName, function () { setPackageVersion(s, "1.0.4-rc.3"); run = s.run("publish"); run.waitSecs(15); @@ -386,7 +389,7 @@ selftest.define("do-not-update-to-rcs", }); // Now publish an 1.0.4-rc.4. - s.cd(fullPackageName, function () { + s.cd(packageName, function () { setPackageVersion(s, "1.0.4-rc.4"); run = s.run("publish"); run.waitSecs(15); @@ -424,15 +427,15 @@ selftest.define("package-depends-on-either-version", // First, we publish fullPackageNameDep at 1.0.0 and publish it.. var fullPackageNameDep = username + ":" + packageNameDependent; - s.createPackage(fullPackageNameDep, "package-of-two-versions"); - s.cd(fullPackageNameDep, function() { + s.createPackage(packageNameDependent, fullPackageNameDep, "package-of-two-versions"); + s.cd(packageNameDependent, function() { run = s.run("publish", "--create"); run.waitSecs(20); run.match("Published"); }); // Then, we publish fullPackageNameDep at 2.0.0 - s.cd(fullPackageNameDep, function() { + s.cd(packageNameDependent, function() { setPackageVersion(s, "2.0.0"); run = s.run("publish"); run.waitSecs(20); @@ -442,8 +445,8 @@ selftest.define("package-depends-on-either-version", // Then, we make another one that depends on either version and publish. var another = utils.randomToken(); var fullPackageAnother = username + ":" + another; - s.createPackage(fullPackageAnother, "package-of-two-versions"); - s.cd(fullPackageAnother, function() { + s.createPackage(another, fullPackageAnother, "package-of-two-versions"); + s.cd(another, function() { var packOpen = s.read("package.js"); packOpen = packOpen + "\nPackage.onUse(function(api) { \n" + "api.use(\"" + fullPackageNameDep +