+
+# Verify that package outputs are included in search results.
+rm -rf "$module_dir"
+mkdir "$module_dir"
+cat > "$module_dir/foo.scm"<<EOF
+(define-module (foo)
+ #:use-module (guix packages)
+ #:use-module (guix build-system trivial))
+
+(define-public dummy-package
+ (package
+ (name "dummy-package")
+ (version "dummy-version")
+ (outputs '("out" "dummy-output"))
+ (source #f)
+ ;; Without a real build system, the "guix package -s" command will fail.
+ (build-system trivial-build-system)
+ (synopsis "dummy-synopsis")
+ (description "dummy-description")
+ (home-page "https://dummy-home-page")
+ (license #f)))
+EOF
+guix package -L "$module_dir" -s dummy-output > /tmp/out
+test "`guix package -L "$module_dir" -s dummy-output | grep ^name:`" = "name: dummy-package"
+rm -rf "$module_dir"
+
+# Make sure we can see user profiles.
+guix package --list-profiles | grep "$profile"
+guix package --list-profiles | grep '\.guix-profile'
+
+# Make sure we can properly lock a profile.
+mkdir "$module_dir"
+echo "(open-output-file \"$module_dir/ready\") (sleep 60)" \
+ > "$module_dir/manifest.scm"
+guix package -m "$module_dir/manifest.scm" -p "$module_dir/profile" &
+pid=$!
+while [ ! -f "$module_dir/ready" ] ; do sleep 0.5 ; done
+if guix install emacs -p "$module_dir/profile"; then kill $pid; false; else true; fi
+kill $pid