From 6d6af46edcb765d7046533fdad4d03b0c0c9cd64 Mon Sep 17 00:00:00 2001 From: John Ericson Date: Wed, 10 Apr 2019 08:05:00 -0400 Subject: Make test for identity (cherry picked from commit ae6426cd8acfe0ccc5d7958d55edb613b4a5bf01) --- test cases/unit/58 identity cross/build_wrapper.py | 5 ++++ test cases/unit/58 identity cross/host_wrapper.py | 5 ++++ test cases/unit/58 identity cross/meson.build | 15 ++++++++++++ test cases/unit/58 identity cross/stuff.h | 27 ++++++++++++++++++++++ 4 files changed, 52 insertions(+) create mode 100755 test cases/unit/58 identity cross/build_wrapper.py create mode 100755 test cases/unit/58 identity cross/host_wrapper.py create mode 100644 test cases/unit/58 identity cross/meson.build create mode 100644 test cases/unit/58 identity cross/stuff.h (limited to 'test cases') diff --git a/test cases/unit/58 identity cross/build_wrapper.py b/test cases/unit/58 identity cross/build_wrapper.py new file mode 100755 index 0000000..22e8b5d --- /dev/null +++ b/test cases/unit/58 identity cross/build_wrapper.py @@ -0,0 +1,5 @@ +#!/usr/bin/env python + +import subprocess, sys + +subprocess.call(["cc", "-DEXTERNAL_BUILD"] + sys.argv[1:]) diff --git a/test cases/unit/58 identity cross/host_wrapper.py b/test cases/unit/58 identity cross/host_wrapper.py new file mode 100755 index 0000000..5b4eed8 --- /dev/null +++ b/test cases/unit/58 identity cross/host_wrapper.py @@ -0,0 +1,5 @@ +#!/usr/bin/env python + +import subprocess, sys + +subprocess.call(["cc", "-DEXTERNAL_HOST"] + sys.argv[1:]) diff --git a/test cases/unit/58 identity cross/meson.build b/test cases/unit/58 identity cross/meson.build new file mode 100644 index 0000000..950137a --- /dev/null +++ b/test cases/unit/58 identity cross/meson.build @@ -0,0 +1,15 @@ +project('identity cross test', 'c') + +assert(meson.get_compiler('c', native: true).get_define( + 'GOT', + args : [ '-DARG_BUILD' ], + prefix : '#include "stuff.h"', + include_directories: include_directories('.'), +) == 'BUILD', 'did not get BUILD from native: true compiler') + +assert(meson.get_compiler('c', native: false).get_define( + 'GOT', + args : [ '-DARG_HOST' ], + prefix : '#include "stuff.h"', + include_directories: include_directories('.'), +) == 'HOST', 'did not get HOST from native: false compiler') diff --git a/test cases/unit/58 identity cross/stuff.h b/test cases/unit/58 identity cross/stuff.h new file mode 100644 index 0000000..62f1cc9 --- /dev/null +++ b/test cases/unit/58 identity cross/stuff.h @@ -0,0 +1,27 @@ +#ifdef EXTERNAL_BUILD + #ifndef ARG_BUILD + #error "External is build but arg_build is not set." + #elif defined(ARG_HOST) + #error "External is build but arg_host is set." + #else + #define GOT BUILD + #endif +#endif + +#ifdef EXTERNAL_HOST + #ifndef ARG_HOST + #error "External is host but arg_host is not set." + #elif defined(ARG_BUILD) + #error "External is host but arg_build is set." + #else + #define GOT HOST + #endif +#endif + +#if defined(EXTERNAL_BUILD) && defined(EXTERNAL_HOST) + #error "Both external build and external host set." +#endif + +#if !defined(EXTERNAL_BUILD) && !defined(EXTERNAL_HOST) + #error "Neither external build nor external host is set." +#endif -- cgit v1.1