From d51f4cc1e2ee2ae097db5a48b12a5bb674a48399 Mon Sep 17 00:00:00 2001 From: Angelo Verlain Date: Sun, 26 May 2024 17:46:11 +0200 Subject: [PATCH] chore: add everything test --- meson.build | 12 ++++++++ subprojects/gobject-introspection.wrap | 8 ++++++ test/everything/everything.ts | 3 ++ test/everything/meson.build | 39 ++++++++++++++++++++++++++ test/meson.build | 3 ++ 5 files changed, 65 insertions(+) create mode 100644 meson.build create mode 100644 subprojects/gobject-introspection.wrap create mode 100644 test/everything/everything.ts create mode 100644 test/everything/meson.build create mode 100644 test/meson.build diff --git a/meson.build b/meson.build new file mode 100644 index 0000000..ac18a17 --- /dev/null +++ b/meson.build @@ -0,0 +1,12 @@ +project( + 'deno-gi', + 'c', + version: 'master', +) + +gnome = import('gnome') +fs = import('fs') + +deno = find_program('deno', required: true) + +subdir('test') diff --git a/subprojects/gobject-introspection.wrap b/subprojects/gobject-introspection.wrap new file mode 100644 index 0000000..2f93461 --- /dev/null +++ b/subprojects/gobject-introspection.wrap @@ -0,0 +1,8 @@ +[wrap-git] +directory = gobject-introspection +url = https://gitlab.gnome.org/GNOME/gobject-introspection.git +revision = 1.80.1 +depth = 1 + +[provide] +program_names = g-ir-scanner, g-ir-compiler diff --git a/test/everything/everything.ts b/test/everything/everything.ts new file mode 100644 index 0000000..b17f325 --- /dev/null +++ b/test/everything/everything.ts @@ -0,0 +1,3 @@ +import Everything from "https://gir.deno.dev/Everything-2.0"; + +console.log("Everything", Everything); diff --git a/test/everything/meson.build b/test/everything/meson.build new file mode 100644 index 0000000..7640ae9 --- /dev/null +++ b/test/everything/meson.build @@ -0,0 +1,39 @@ +# test_girscanner = find_program('g-ir-scanner', native: true, required : true) +# test_gircompiler = find_program('g-ir-compiler', native: false, required : true) + +# gi_docgen_dep = subproject('gi-docgen') +gi_dep = subproject('gobject-introspection') + +everything_lib = gi_dep.get_variable('everything_lib') + +everything_targets = gnome.generate_gir( + everything_lib, + namespace: 'Everything', + nsversion: '2.0' +) + +everything_typelib = everything_targets[0] + +everything_env = environment() +everything_env.append('PKG_CONFIG_PATH', fs.parent(everything_lib.full_path())) +everything_env.append('GI_TYPELIB_PATH', fs.parent(everything_typelib.full_path())) + +run_everything = custom_target( + 'everything.ts', + input: files('everything.ts'), + output: ['everything.ts'], + command: [deno, 'run', '-A', '--unstable-ffi', '@INPUT@'], + env: everything_env, +) + +test( + 'everything', + deno, + args: [ + 'run', + '-A', + '--unstable-ffi', + files('everything.ts') + ], + env: everything_env, +) diff --git a/test/meson.build b/test/meson.build new file mode 100644 index 0000000..bee8bea --- /dev/null +++ b/test/meson.build @@ -0,0 +1,3 @@ +test_install_dir = get_option('datadir') / 'deno-gi/tests' + +subdir('everything')