summaryrefslogtreecommitdiff
path: root/installed-tests/scripts/testCommandLineModules.sh
diff options
context:
space:
mode:
Diffstat (limited to 'installed-tests/scripts/testCommandLineModules.sh')
-rwxr-xr-xinstalled-tests/scripts/testCommandLineModules.sh66
1 files changed, 66 insertions, 0 deletions
diff --git a/installed-tests/scripts/testCommandLineModules.sh b/installed-tests/scripts/testCommandLineModules.sh
new file mode 100755
index 00000000..c075b216
--- /dev/null
+++ b/installed-tests/scripts/testCommandLineModules.sh
@@ -0,0 +1,66 @@
+#!/bin/sh
+# SPDX-License-Identifier: MIT OR LGPL-2.0-or-later
+# SPDX-FileCopyrightText: 2016 Endless Mobile, Inc.
+# SPDX-FileCopyrightText: 2016 Philip Chimento <philip.chimento@gmail.com>
+
+if test "$GJS_USE_UNINSTALLED_FILES" = "1"; then
+ gjs="$TOP_BUILDDIR/gjs-console"
+else
+ gjs="gjs-console"
+fi
+
+total=0
+
+report () {
+ exit_code=$?
+ total=$((total + 1))
+ if test $exit_code -eq 0; then
+ echo "ok $total - $1"
+ else
+ echo "not ok $total - $1"
+ fi
+}
+
+# Avoid interference in the profiler tests from stray environment variable
+unset GJS_ENABLE_PROFILER
+
+# Avoid interference in the warning tests from G_DEBUG=fatal-warnings/criticals
+OLD_G_DEBUG="$G_DEBUG"
+
+cat <<EOF >doubledynamicImportee.js
+export function noop() {}
+EOF
+
+# this JS script should succeed without an error on the second import
+cat <<EOF >doubledynamic.js
+let done = false;
+
+import("./doubledynamicImportee.js")
+ .then(ddi => {
+ ddi.noop();
+ })
+ .finally(() => {
+ if (done)
+ imports.mainloop.quit();
+ done = true;
+ });
+
+import("./doubledynamicImportee.js")
+ .then(ddi => {
+ ddi.noop();
+ })
+ .finally(() => {
+ if (done)
+ imports.mainloop.quit();
+ done = true;
+ });
+
+imports.mainloop.run();
+EOF
+
+$gjs doubledynamic.js
+report "ensure dynamic imports load even if the same import resolves elsewhere first"
+
+rm -f doubledynamic.js doubledynamicImportee.js
+
+echo "1..$total"