parent
0d0a4fa0fe
commit
038d072364
13 changed files with 139 additions and 0 deletions
@ -0,0 +1,13 @@ |
||||
project('structured_source with empty string key') |
||||
|
||||
if not add_languages(['rust'], required : false, native : false) |
||||
error('MESON_SKIP_TEST: Rust is required but not found.') |
||||
endif |
||||
|
||||
executable( |
||||
'main', |
||||
structured_sources( |
||||
'main.rs', |
||||
{'' : 'main.rs'}, |
||||
) |
||||
) |
@ -0,0 +1,7 @@ |
||||
{ |
||||
"stdout": [ |
||||
{ |
||||
"line": "test cases/failing/121 structured source empty string/meson.build:7:0: ERROR: structured_sources: keys to dictionary argument may not be an empty string." |
||||
} |
||||
] |
||||
} |
@ -0,0 +1,17 @@ |
||||
project('structured_source with empty string key') |
||||
|
||||
if not add_languages(['rust'], required : false, native : false) |
||||
error('MESON_SKIP_TEST: Rust is required but not found.') |
||||
endif |
||||
|
||||
executable( |
||||
'main', |
||||
[ |
||||
structured_sources( |
||||
'main.rs', |
||||
), |
||||
structured_sources( |
||||
'main.rs', |
||||
), |
||||
], |
||||
) |
@ -0,0 +1,7 @@ |
||||
{ |
||||
"stdout": [ |
||||
{ |
||||
"line": "test cases/failing/122 structured_sources conflicts/meson.build:7:0: ERROR: Conflicting sources in structured sources: main.rs" |
||||
} |
||||
] |
||||
} |
@ -0,0 +1,20 @@ |
||||
#!/usr/bin/env python3 |
||||
|
||||
import argparse |
||||
import textwrap |
||||
|
||||
|
||||
def main() -> None: |
||||
parser = argparse.ArgumentParser() |
||||
parser.add_argument('output') |
||||
args = parser.parse_args() |
||||
|
||||
with open(args.output, 'w') as f: |
||||
f.write(textwrap.dedent('''\ |
||||
pub fn bar() -> () { |
||||
println!("Hello, World!"); |
||||
}''')) |
||||
|
||||
|
||||
if __name__ == "__main__": |
||||
main() |
@ -0,0 +1,39 @@ |
||||
project('structured input', 'rust') |
||||
|
||||
foo_mod_rs = configure_file( |
||||
input : 'src/foo.rs.in', |
||||
output : 'mod.rs', |
||||
configuration : {'message' : 'Hello, World!'}, |
||||
) |
||||
|
||||
conf_file = executable( |
||||
'main_conf_file', |
||||
structured_sources( |
||||
'src/main.rs', |
||||
{'foo' : [foo_mod_rs]}, |
||||
), |
||||
) |
||||
|
||||
ct = custom_target( |
||||
'foo.rs', |
||||
output : 'foo.rs', |
||||
command : ['gen.py', '@OUTPUT@'], |
||||
) |
||||
|
||||
target = executable( |
||||
'main_custom_target', |
||||
structured_sources( |
||||
['src/main.rs', ct], |
||||
), |
||||
) |
||||
|
||||
# Should not be coppied |
||||
executable( |
||||
'no_copy_target', |
||||
structured_sources( |
||||
['src2/main-unique.rs'], |
||||
{'foo': 'src2/foo/mod.rs'}, |
||||
), |
||||
) |
||||
|
||||
test('no-copy', find_program('no_copy_test.py'), args : meson.current_build_dir()) |
@ -0,0 +1,18 @@ |
||||
#!/usr/bin/env python3 |
||||
|
||||
import argparse |
||||
import os |
||||
|
||||
|
||||
def main() -> None: |
||||
parser = argparse.ArgumentParser() |
||||
parser.add_argument('builddir') |
||||
args = parser.parse_args() |
||||
|
||||
for _, _, files in os.walk(args.builddir): |
||||
if 'main-unique.rs' in files: |
||||
exit(1) |
||||
|
||||
|
||||
if __name__ == "__main__": |
||||
main() |
@ -0,0 +1,4 @@ |
||||
|
||||
pub fn bar() -> () { |
||||
println!("@message@"); |
||||
} |
@ -0,0 +1,5 @@ |
||||
mod foo; |
||||
|
||||
fn main() { |
||||
foo::bar(); |
||||
} |
@ -0,0 +1,4 @@ |
||||
|
||||
pub fn bar() -> () { |
||||
println!("Hello, World!"); |
||||
} |
@ -0,0 +1,5 @@ |
||||
mod foo; |
||||
|
||||
fn main() { |
||||
foo::bar(); |
||||
} |
Loading…
Reference in new issue