Commit Graph

36 Commits

Author SHA1 Message Date
Sashko Stubailo
c6ea68f9b3 Make meteor create --package not use prefix
It used to create a directory with an underscore instead of a colon
Now, it just removes the prefix.

In cases where the name of the package has more than one colon or starts or ends
witha colon, we report an error.
2015-03-12 17:57:27 -07:00
ekatek
50534fa252 fixing a test
The test is fine, but we were publishing a different version than we checked for.
(That is, we published 1.1.0, and were surprised when 1.0.1 did not show up).
Fixed.
2015-03-09 16:18:45 -07:00
Sashko Stubailo
497340498f Fix missing createPackage arguments in selftest 2015-02-06 13:53:24 -08:00
Avital Oliver
59b1e145c6 Fix selftests that create packages with colons
We used to create package directories with the same name as the package
name, but on windows you can't have directories with colons in them.

Now Sandbox.prototype.createPackage takes an additional argument
with the directory name, as distinct from the package name.

This commit updates all the tests that called createPackage to generate
a directory name with no colons.
2015-02-05 00:12:09 -08:00
ekatek
b5628f4b23 minor test fixes
This mostly fixes tests:
- removes the 'restarted' check from some tests. We don't need it in those cases
  (printing the other banner is enough). We can no longer rely on that executing
  after the code in the package (in fact it seems to execute before, and then
  get overwritten), and the test still tests what it is intended to (that the new
  package code executes).

- minor fixes to essentially syntax errors -- the skeleton now uses double quotes
  instead of single quotes, so a regex failed to work, for example. We changed a
  version number in one part of the test, but not another.

- fixes selftest.js, sort of, to actually print out what test we are testing. This
  is an unfortunate interaction of Console.js changes in 1.0.2 and a progress bar
  (that came later). The progress bar erases the message telling you what test is
  running when you use a standard terminal. That's awkward, fixed.
2015-01-16 16:50:51 -08:00
ekatek
0f6c31cab7 upload README.md files to the server and view the excerpt in meteor show
This commit is based on the following design document:
https://mdg.hackpad.com/Creating-and-Updating-Docs-0ZyyDcSZDxp,
and some other stuff from here: https://mdg.hackpad.com/Meteor-Long-Description-wGZ1vIOwVlF
and was code reviewed here: https://github.com/meteor/meteor/pull/3375

It does the following:

- Allow the user to specify package documentation in Package.Describe.
  We will take the README.md file by default, to make the transition easier.
  Users can specify ‘documentation: null’ to not submit a README.md

- From that documentation, extract the section between the first and second header
  to use as the long form description for the package.

- Upload the documentation to the server at publish-time. Allow metadata changes with ‘publish —update’.

- Change the default package skeleton to include the README.md file.
  Also, changes the skeleton to have fewer useless placeholders in Package.describe values.

- Fix a minor bug where Git did not show up when running ‘meteor show’ on local packages.

A note on ‘documentation: null’ and blank documentation — we don’t let maintainers upload
blank README.md files, because we want to encourage people to fill them out. (Instead,
we allow a ‘documentation: null’ as an override) This is a UX issue! It is not a technical thing.

There is more discussion and code review in: https://github.com/meteor/meteor/pull/3375
2015-01-13 13:53:21 -08:00
ekatek
12d030dd53 completely rewrite of ‘meteor show’; some changes to ‘meteor search’.
The ‘show’ command has been completely rewritten. It has different output
and now does the following:

- Interacts with local package versions. Checks in the local package catalog, and
  returns the local versions along with the server versions. When ‘meteor show’ is
  run with a specific version request (‘meteor show foo@<version>’), default to
  showing the local package version (but show a message that a server version is
  available). Running ‘meteor show foo@local’ will always show the local version
  (useful for version-less local packages).

- Simplify the interface. Instead of various ‘show-*’ flags, we only have one: show-all.
  By default, we only show the top 5 official (non-prerelease) unmigrated versions of a
  package (+ local version, if applicable). This can be overridden with ‘show-all’, and we
  let the user know that more versions are available. For releases, ‘show-all’ will show
  non-recommended releases.

- Display publication time for non-local package versions. This makes it easier to run
  ‘meteor show <name>’ and see if <name> is actively maintained. For local packages,
  we display the root directory (useful for large apps or running with the
  LOCAL_PACKAGE_DIRS variable, for example).

- For non-local package versions, show if the version is ‘installed’ (downloaded into the
  warehouse). This involved minor changes to tropohouse.js. The idea is that this should
  give a pretty good clue whether the version can be added offline.

- Show version dependencies. This should help the user understand, track down and
  debug constraint solver failures.

- Do not show version architectures except in —ejson mode.

- Allow an ‘—ejson’ flag to get the output in EJSON format. That should make scripting
  easier. (As a bonus, for release versions, the EJSON output acts as a nice template
  for the release configuration file.)

The search command now does the following:

- Interacts with local package versions. Specifically, local versions override equivalent
  server versions. Also, ‘search’ works on local packages (so, for example,
  ‘meteor search troposphere’ inside the package server app will give you the troposphere
  package).

- Allows an ‘—ejson’ flag to get the outout in EJSON format.

Minor changes to some minor testing infrastructure:

 - A new skeleton package, package-for-show. Its versions contain different
   values for various metadata, so we can test that metadata comes from
   the right version.

 - In several places, replace the pattern of copying around
   package.js files with using the replace function on a placeholder
   string. (Mostly, as applied to package versions).

This is based on these hackpads: https://mdg.hackpad.com/Showing-Package-Metadata-HdGo3Lzx3hR
and https://mdg.hackpad.com/Meteor-Search-Output-1xxEzrAK9YU.
2015-01-13 13:53:20 -08:00
David Glasser
7fb54a952a Fix self-test expecting a removed message 2014-12-18 10:46:22 -08:00
David Glasser
dc97864e16 improve some tests 2014-12-01 10:29:33 -08:00
David Glasser
d4c7bf2020 tentative steps towards publish tests passing 2014-11-25 09:06:30 -08:00
David Glasser
9ea3b92cb4 improve some tests 2014-11-25 09:06:30 -08:00
Emily Stark
79aa54bcde Update publish-one-arch test for new 'meteor publish' output 2014-10-20 22:43:15 -07:00
Avital Oliver
cb97ed238b Add clarifying comment to failing pre-release versions self-test 2014-10-13 09:56:03 -07:00
Avital Oliver
9a6532c640 Work towards fixing the "do-not-update-to-rcs" self-test.
The test was failing because it was written to run against the real
local warehouse, instead of a stubbed one. When initializing the
Sandbox with an explicit warehouse, the test failed because of
incorrect logic piping the right path to the packages database
(in this case "test-packages.data.db" instead of "packages.data.db").

Unfortunately, the test still fails -- this time potentially due to a bug:
After publishing the package for the first time with `--create`,
the next step tries to update but gets the following error:
    There is no package named test:i1iyhj. If you are creating a
    new package, use the --create flag.
2014-10-12 23:08:26 -07:00
Emily Stark
141f3cdf3d Switch to single quotes in 'publish-and-search' selftest 2014-10-09 21:53:29 -07:00
David Glasser
659128025d first step towards fixing a test 2014-10-08 18:07:01 -07:00
ekatek
69df87ce7d mark tests that publish as checkout only
When we publish things to the test packaging server, we use the versionsFrom
argument that is very difficult to set up right to actually work. Most of the time
we don't really set that up and just agree that those tests should fail. As such, I
am going to mark most of those tests as checkout-only for now (we still usually check
that we can publish manually anyway as part of poking at the release in QA, and there is
not a lot of reason that I can think of why publishing from release would be different than
pubishing from checkout. So, marking these as checkout-only until we can get a better
testing infrastructure for this in place.
2014-09-30 12:22:09 -07:00
ekatek
0e8f8e5039 we now print this message to stderr instead of stdout 2014-09-25 17:46:22 -07:00
ekatek
58c110499e fix the test for updating RCs and make list tell you about new rcs sometimes
1. Fixes the test for updating to a new rc. First, change the ordering -- since we order RCs now, it means that if you add rc.3 while
rc.4 is available it just adds rc.4. So, now, we publish rc.4 after rc.3 has been added, run update (with the right options) and
check that it worked.

2. When you run list, we check if there are newer versions of packages. Usually we just look at mainline versions. But if you are already
using an rc version of a package, you might care about new rcs too. So, in that case, we check the latest of *all* available versions.
2014-09-24 22:35:05 -07:00
ekatek
3278265b52 also testing correct behavior when there are two rcs: running update should move you to the newer rcs ifff you are already using an rc. Does not currently work. 2014-09-24 20:52:22 -07:00
ekatek
88936518d8 test reproducing this bug: when you add a package with rcs, you end up adding the rcs, even if you did not explicitly ask for them. 2014-09-24 19:23:55 -07:00
ekatek
9c99638c7f be more consistent about using utils.parseConstraint in the tool; test for either-version 2014-09-19 16:56:24 -07:00
David Glasser
273b70bea4 prerelease versions shouldn't prompt you do update
Replace catalog.getLatestVersion with catalog.getLatestMainlineVersion,
which skips prerelease versions (those with dashes in the
version). Ensure that this function is only used by high-level commands
like 'meteor list'.  Replace other uses of that function with other
equivalent functions.

Also, don't stack trace on 'meteor add' constraint failure.
2014-08-26 23:56:51 -07:00
David Glasser
3564c3ac4e Fix 'meteor add x@version' over x@other
Before, we were running the constraint solver with both the new and the
old constraint, which would fail if they were not simultaneously
satisfiable. (We were writing the right thing to disk if it succeeded,
at least.)
2014-08-26 23:04:29 -07:00
David Glasser
0ce077f350 Remove unnecessary colon 2014-08-25 12:07:15 -07:00
ekatek
52e3eafa5c tests and minor fixes for --name 2014-08-19 12:32:16 -07:00
ekatek
dfd1fbcb22 be more tolerant of unknown keys and some cosmetics 2014-08-13 17:45:27 -04:00
ekatek
a152d97bec help and tests for show 2014-08-13 13:18:20 -04:00
David Glasser
cd57ac3535 isolate different servers' packages
also, in self-test, only set $METEOR_PACKAGE_SERVER_URL for the specific
runs that actually want the test server (using a tag) rather than kinda
always by accident
2014-07-28 20:45:08 -07:00
ekatek
c622fb4072 label online tests as online 2014-07-25 14:40:43 -07:00
ekatek
335dc4a312 mark tests as online, refresh catalog to the right server after self-test 2014-07-24 15:13:46 -07:00
Avital Oliver
67c47a9086 A test now correctly uses a non-existent but correctly named release 2014-07-23 13:56:37 -07:00
ekatek
1e1f4b2e8a catalogs talk to each other 2014-07-22 18:40:25 -07:00
ekatek
cf1d45fa82 indicate in meteor list when new versions are available 2014-07-15 17:19:08 -07:00
ekatek
abfc8961a3 test for showing new versions in list, cp method in sandbox 2014-07-15 16:57:37 -07:00
Avital Oliver
015e505ec9 Move a test into the right directory 2014-07-09 15:54:56 -07:00