mirror of
https://github.com/google/flatbuffers.git
synced 2026-06-16 09:12:22 +00:00
Reworked keep prefix (#7456)
* reworked keep prefix * checking in missing schema * fix flatc path for build scripts
This commit is contained in:
6
tests/flatc/bar/bar_with_foo.fbs
Normal file
6
tests/flatc/bar/bar_with_foo.fbs
Normal file
@@ -0,0 +1,6 @@
|
||||
include "foo.fbs";
|
||||
include "baz/baz.fbs";
|
||||
|
||||
table BarWithFoo {
|
||||
foo:Foo;
|
||||
}
|
||||
@@ -14,141 +14,241 @@
|
||||
|
||||
from flatc_test import *
|
||||
|
||||
class CppTests():
|
||||
|
||||
def Flatten(self):
|
||||
# Generate just foo with a "flatten" import of bar.
|
||||
flatc(["--cpp", "foo.fbs"])
|
||||
class CppTests:
|
||||
def Flatten(self):
|
||||
# Generate just foo with a "flatten" import of bar.
|
||||
flatc(["--cpp", "foo.fbs"])
|
||||
|
||||
# Foo should be generated in place and include bar flatten
|
||||
assert_file_and_contents("foo_generated.h", '#include "bar_generated.h"')
|
||||
# Foo should be generated in place and include bar flatten
|
||||
assert_file_and_contents("foo_generated.h", '#include "bar_generated.h"')
|
||||
|
||||
def FlattenAbsolutePath(self):
|
||||
# Generate just foo with a "flatten" import of bar.
|
||||
flatc(["--cpp", make_absolute("foo.fbs")])
|
||||
def FlattenAbsolutePath(self):
|
||||
# Generate just foo with a "flatten" import of bar.
|
||||
flatc(["--cpp", make_absolute("foo.fbs")])
|
||||
|
||||
# Foo should be generated in place and include bar flatten
|
||||
assert_file_and_contents("foo_generated.h", '#include "bar_generated.h"')
|
||||
# Foo should be generated in place and include bar flatten
|
||||
assert_file_and_contents("foo_generated.h", '#include "bar_generated.h"')
|
||||
|
||||
def FlattenSubDirectory(self):
|
||||
# Generate just foo with a "flatten" import of bar.
|
||||
flatc(["--cpp", "bar/bar.fbs"])
|
||||
|
||||
# Bar should be generated in place and include baz
|
||||
assert_file_and_contents("bar_generated.h", '#include "baz_generated.h"')
|
||||
def FlattenSubDirectory(self):
|
||||
# Generate just foo with a "flatten" import of bar.
|
||||
flatc(["--cpp", "bar/bar.fbs"])
|
||||
|
||||
def FlattenOutPath(self):
|
||||
# Generate just foo with a "flatten" import of bar.
|
||||
flatc(["--cpp", "-o", ".tmp", "foo.fbs"])
|
||||
# Bar should be generated in place and include baz
|
||||
assert_file_and_contents("bar_generated.h", '#include "baz_generated.h"')
|
||||
|
||||
# Foo should be generated in the out path and include bar flatten to the out path.
|
||||
assert_file_and_contents(".tmp/foo_generated.h", '#include "bar_generated.h"')
|
||||
def FlattenOutPath(self):
|
||||
# Generate just foo with a "flatten" import of bar.
|
||||
flatc(["--cpp", "-o", ".tmp", "foo.fbs"])
|
||||
|
||||
def FlattenOutPathSuperDirectory(self):
|
||||
# Generate just foo with a "flatten" import of bar.
|
||||
flatc(["--cpp", "-o", "../.tmp", "foo.fbs"])
|
||||
# Foo should be generated in the out path and include bar flatten to the out path.
|
||||
assert_file_and_contents(".tmp/foo_generated.h", '#include "bar_generated.h"')
|
||||
|
||||
# Foo should be generated in the out path and include bar flatten to the out path.
|
||||
assert_file_and_contents("../.tmp/foo_generated.h", '#include "bar_generated.h"')
|
||||
def FlattenOutPathSuperDirectory(self):
|
||||
# Generate just foo with a "flatten" import of bar.
|
||||
flatc(["--cpp", "-o", "../.tmp", "foo.fbs"])
|
||||
|
||||
def FlattenOutPathSubDirectory(self):
|
||||
# Generate just foo with a "flatten" import of bar.
|
||||
flatc(["--cpp", "-o", ".tmp", "bar/bar.fbs"])
|
||||
# Foo should be generated in the out path and include bar flatten to the out path.
|
||||
assert_file_and_contents(
|
||||
"../.tmp/foo_generated.h", '#include "bar_generated.h"'
|
||||
)
|
||||
|
||||
# Bar should be generated in the out path and include baz flatten to the out path.
|
||||
assert_file_and_contents(".tmp/bar_generated.h", '#include "baz_generated.h"')
|
||||
def FlattenOutPathSubDirectory(self):
|
||||
# Generate just foo with a "flatten" import of bar.
|
||||
flatc(["--cpp", "-o", ".tmp", "bar/bar.fbs"])
|
||||
|
||||
def KeepPrefix(self):
|
||||
# Generate just foo with the import of bar keeping the prefix of where it is located.
|
||||
flatc(["--cpp", "--keep-prefix", "foo.fbs"])
|
||||
# Bar should be generated in the out path and include baz flatten to the out path.
|
||||
assert_file_and_contents(".tmp/bar_generated.h", '#include "baz_generated.h"')
|
||||
|
||||
assert_file_and_contents("foo_generated.h", '#include "bar/bar_generated.h"')
|
||||
def KeepPrefix(self):
|
||||
# Generate just foo with the import of bar keeping the prefix of where it is located.
|
||||
flatc(["--cpp", "--keep-prefix", "foo.fbs"])
|
||||
|
||||
def KeepPrefixAbsolutePath(self):
|
||||
# Generate just foo with the import of bar keeping the prefix of where it is located.
|
||||
flatc(["--cpp", "--keep-prefix", make_absolute("foo.fbs")])
|
||||
assert_file_and_contents("foo_generated.h", '#include "bar/bar_generated.h"')
|
||||
|
||||
assert_file_and_contents("foo_generated.h", '#include "bar/bar_generated.h"')
|
||||
def KeepPrefixAbsolutePath(self):
|
||||
# Generate just foo with the import of bar keeping the prefix of where it is located.
|
||||
flatc(["--cpp", "--keep-prefix", make_absolute("foo.fbs")])
|
||||
|
||||
def KeepPrefixSubDirectory(self):
|
||||
# Generate with the import of bar keeping the prefix of where it is located.
|
||||
flatc(["--cpp", "--keep-prefix", "bar/bar.fbs"])
|
||||
assert_file_and_contents("foo_generated.h", '#include "bar/bar_generated.h"')
|
||||
|
||||
assert_file_and_contents("bar_generated.h", '#include "baz/baz_generated.h"')
|
||||
def KeepPrefixSubDirectory(self):
|
||||
# Generate with the import of bar keeping the prefix of where it is located.
|
||||
flatc(["--cpp", "--keep-prefix", "bar/bar.fbs"])
|
||||
|
||||
def KeepPrefixOutPath(self):
|
||||
# Generate just foo with the import of bar keeping the prefix of where it is located.
|
||||
flatc(["--cpp", "--keep-prefix", "-o", ".tmp", "foo.fbs"])
|
||||
assert_file_and_contents("bar_generated.h", '#include "baz/baz_generated.h"')
|
||||
|
||||
assert_file_and_contents(".tmp/foo_generated.h", '#include "bar/bar_generated.h"')
|
||||
def KeepPrefixOutPath(self):
|
||||
# Generate just foo with the import of bar keeping the prefix of where it is located.
|
||||
flatc(["--cpp", "--keep-prefix", "-o", ".tmp", "foo.fbs"])
|
||||
|
||||
def KeepPrefixOutPathSubDirectory(self):
|
||||
# Generate with the import of bar keeping the prefix of where it is located.
|
||||
flatc(["--cpp", "--keep-prefix", "-o", ".tmp", "bar/bar.fbs"])
|
||||
assert_file_and_contents(
|
||||
".tmp/foo_generated.h",
|
||||
'#include "bar/bar_generated.h"',
|
||||
)
|
||||
|
||||
assert_file_and_contents(".tmp/bar_generated.h", '#include "baz/baz_generated.h"')
|
||||
def KeepPrefixOutPathSubDirectory(self):
|
||||
# Generate with the import of bar keeping the prefix of where it is located.
|
||||
flatc(["--cpp", "--keep-prefix", "-o", ".tmp", "bar/bar.fbs"])
|
||||
|
||||
def IncludePrefix(self):
|
||||
# Generate just foo with the import of bar keeping the prefix of where it is located.
|
||||
flatc(["--cpp", "--include-prefix", "test", "foo.fbs"])
|
||||
assert_file_and_contents(
|
||||
".tmp/bar_generated.h", '#include "baz/baz_generated.h"'
|
||||
)
|
||||
|
||||
assert_file_and_contents("foo_generated.h", '#include "test/bar_generated.h"')
|
||||
def IncludePrefix(self):
|
||||
# Generate just foo with the import of bar keeping the prefix of where it is located.
|
||||
flatc(["--cpp", "--include-prefix", "test", "foo.fbs"])
|
||||
|
||||
def IncludePrefixAbolutePath(self):
|
||||
# Generate just foo with the import of bar keeping the prefix of where it is located.
|
||||
flatc(["--cpp", "--include-prefix", "test", make_absolute("foo.fbs")])
|
||||
assert_file_and_contents("foo_generated.h", '#include "test/bar_generated.h"')
|
||||
|
||||
assert_file_and_contents("foo_generated.h", '#include "test/bar_generated.h"')
|
||||
def IncludePrefixAbolutePath(self):
|
||||
# Generate just foo with the import of bar keeping the prefix of where it is located.
|
||||
flatc(["--cpp", "--include-prefix", "test", make_absolute("foo.fbs")])
|
||||
|
||||
def IncludePrefixSubDirectory(self):
|
||||
# Generate just foo with the import of bar keeping the prefix of where it is located.
|
||||
flatc(["--cpp", "--include-prefix", "test", "bar/bar.fbs"])
|
||||
assert_file_and_contents("foo_generated.h", '#include "test/bar_generated.h"')
|
||||
|
||||
assert_file_and_contents("bar_generated.h", '#include "test/baz_generated.h"')
|
||||
def IncludePrefixSubDirectory(self):
|
||||
# Generate just foo with the import of bar keeping the prefix of where it is located.
|
||||
flatc(["--cpp", "--include-prefix", "test", "bar/bar.fbs"])
|
||||
|
||||
def IncludePrefixOutPath(self):
|
||||
# Generate just foo with the import of bar keeping the prefix of where it is located.
|
||||
flatc(["--cpp", "--include-prefix", "test", "-o", ".tmp", "foo.fbs"])
|
||||
assert_file_and_contents("bar_generated.h", '#include "test/baz_generated.h"')
|
||||
|
||||
assert_file_and_contents(".tmp/foo_generated.h", '#include "test/bar_generated.h"')
|
||||
def IncludePrefixOutPath(self):
|
||||
# Generate just foo with the import of bar keeping the prefix of where it is located.
|
||||
flatc(["--cpp", "--include-prefix", "test", "-o", ".tmp", "foo.fbs"])
|
||||
|
||||
def IncludePrefixOutPathSubDirectory(self):
|
||||
# Generate just foo with the import of bar keeping the prefix of where it is located.
|
||||
flatc(["--cpp", "--include-prefix", "test", "-o", ".tmp", "bar/bar.fbs"])
|
||||
assert_file_and_contents(
|
||||
".tmp/foo_generated.h", '#include "test/bar_generated.h"'
|
||||
)
|
||||
|
||||
assert_file_and_contents(".tmp/bar_generated.h", '#include "test/baz_generated.h"')
|
||||
def IncludePrefixOutPathSubDirectory(self):
|
||||
# Generate just foo with the import of bar keeping the prefix of where it is located.
|
||||
flatc(["--cpp", "--include-prefix", "test", "-o", ".tmp", "bar/bar.fbs"])
|
||||
|
||||
def KeepPrefixIncludePrefix(self):
|
||||
# Generate just foo with the import of bar keeping the prefix of where it is located.
|
||||
flatc(["--cpp", "--keep-prefix", "--include-prefix", "test", "foo.fbs"])
|
||||
assert_file_and_contents(
|
||||
".tmp/bar_generated.h", '#include "test/baz_generated.h"'
|
||||
)
|
||||
|
||||
# The include prefix should come first, with the kept prefix next.
|
||||
assert_file_and_contents("foo_generated.h", '#include "test/bar/bar_generated.h"')
|
||||
def KeepPrefixIncludePrefix(self):
|
||||
# Generate just foo with the import of bar keeping the prefix of where it is located.
|
||||
flatc(["--cpp", "--keep-prefix", "--include-prefix", "test", "foo.fbs"])
|
||||
|
||||
def KeepPrefixIncludePrefixAbsolutePath(self):
|
||||
# Generate just foo with the import of bar keeping the prefix of where it is located.
|
||||
flatc(["--cpp", "--keep-prefix", "--include-prefix", "test", make_absolute("foo.fbs")])
|
||||
# The include prefix should come first, with the kept prefix next.
|
||||
assert_file_and_contents(
|
||||
"foo_generated.h", '#include "test/bar/bar_generated.h"'
|
||||
)
|
||||
|
||||
# The include prefix should come first, with the kept prefix next.
|
||||
assert_file_and_contents("foo_generated.h", '#include "test/bar/bar_generated.h"')
|
||||
def KeepPrefixIncludePrefixAbsolutePath(self):
|
||||
# Generate just foo with the import of bar keeping the prefix of where it is located.
|
||||
flatc(
|
||||
[
|
||||
"--cpp",
|
||||
"--keep-prefix",
|
||||
"--include-prefix",
|
||||
"test",
|
||||
make_absolute("foo.fbs"),
|
||||
]
|
||||
)
|
||||
|
||||
def KeepPrefixIncludePrefixSubDirectory(self):
|
||||
# Generate just foo with the import of bar keeping the prefix of where it is located.
|
||||
flatc(["--cpp", "--keep-prefix", "--include-prefix", "test", "bar/bar.fbs"])
|
||||
# The include prefix should come first, with the kept prefix next.
|
||||
assert_file_and_contents(
|
||||
"foo_generated.h", '#include "test/bar/bar_generated.h"'
|
||||
)
|
||||
|
||||
# The include prefix should come first, with the kept prefix next.
|
||||
assert_file_and_contents("bar_generated.h", '#include "test/baz/baz_generated.h"')
|
||||
def KeepPrefixIncludePrefixSubDirectory(self):
|
||||
# Generate just foo with the import of bar keeping the prefix of where it is located.
|
||||
flatc(["--cpp", "--keep-prefix", "--include-prefix", "test", "bar/bar.fbs"])
|
||||
|
||||
def KeepPrefixIncludePrefixOutPathSubDirectory(self):
|
||||
# Generate just foo with the import of bar keeping the prefix of where it is located.
|
||||
flatc(["--cpp", "--keep-prefix", "--include-prefix", "test", "-o", ".tmp", "bar/bar.fbs"])
|
||||
# The include prefix should come first, with the kept prefix next.
|
||||
assert_file_and_contents(
|
||||
"bar_generated.h", '#include "test/baz/baz_generated.h"'
|
||||
)
|
||||
|
||||
# The include prefix should come first, with the kept prefix next.
|
||||
assert_file_and_contents(".tmp/bar_generated.h", '#include "test/baz/baz_generated.h"')
|
||||
def KeepPrefixIncludePrefixOutPathSubDirectory(self):
|
||||
# Generate just foo with the import of bar keeping the prefix of where it is located.
|
||||
flatc(
|
||||
[
|
||||
"--cpp",
|
||||
"--keep-prefix",
|
||||
"--include-prefix",
|
||||
"test",
|
||||
"-o",
|
||||
".tmp",
|
||||
"bar/bar.fbs",
|
||||
]
|
||||
)
|
||||
|
||||
def KeepPrefixIncludePrefixOutPathSuperDirectory(self):
|
||||
# Generate just foo with the import of bar keeping the prefix of where it is located.
|
||||
flatc(["--cpp", "--keep-prefix", "--include-prefix", "test", "-o", "../.tmp", "bar/bar.fbs"])
|
||||
# The include prefix should come first, with the kept prefix next.
|
||||
assert_file_and_contents(
|
||||
".tmp/bar_generated.h", '#include "test/baz/baz_generated.h"'
|
||||
)
|
||||
|
||||
# The include prefix should come first, with the kept prefix next.
|
||||
assert_file_and_contents("../.tmp/bar_generated.h", '#include "test/baz/baz_generated.h"')
|
||||
def KeepPrefixIncludePrefixOutPathSuperDirectory(self):
|
||||
# Generate just foo with the import of bar keeping the prefix of where it is located.
|
||||
flatc(
|
||||
[
|
||||
"--cpp",
|
||||
"--keep-prefix",
|
||||
"--include-prefix",
|
||||
"test",
|
||||
"-o",
|
||||
"../.tmp",
|
||||
"bar/bar.fbs",
|
||||
]
|
||||
)
|
||||
|
||||
# The include prefix should come first, with the kept prefix next.
|
||||
assert_file_and_contents(
|
||||
"../.tmp/bar_generated.h", '#include "test/baz/baz_generated.h"'
|
||||
)
|
||||
|
||||
def KeepPrefixIncludePrefixoutPathAbsoluePaths_SuperDirectoryReference(self):
|
||||
# Generate bar_with_foo that references a type in a super directory.
|
||||
flatc(
|
||||
[
|
||||
"--cpp",
|
||||
"--keep-prefix",
|
||||
"--include-prefix",
|
||||
"generated",
|
||||
"-I",
|
||||
str(script_path.absolute()),
|
||||
"-o",
|
||||
str(Path(script_path, ".tmp").absolute()),
|
||||
str(Path(script_path, "bar/bar_with_foo.fbs").absolute()),
|
||||
]
|
||||
)
|
||||
|
||||
# The include prefix should come first, with the kept prefix next.
|
||||
assert_file_and_contents(
|
||||
".tmp/bar_with_foo_generated.h",
|
||||
[
|
||||
'#include "generated/baz/baz_generated.h"',
|
||||
'#include "generated/foo_generated.h"',
|
||||
],
|
||||
)
|
||||
|
||||
def KeepPrefixIncludePrefixoutPath_SuperDirectoryReference(self):
|
||||
# Generate bar_with_foo that references a type in a super directory.
|
||||
flatc(
|
||||
[
|
||||
"--cpp",
|
||||
"--keep-prefix",
|
||||
"--include-prefix",
|
||||
"generated",
|
||||
"-I",
|
||||
"./",
|
||||
"-o",
|
||||
".tmp",
|
||||
"bar/bar_with_foo.fbs",
|
||||
]
|
||||
)
|
||||
|
||||
# The include prefix should come first, with the kept prefix next.
|
||||
assert_file_and_contents(
|
||||
".tmp/bar_with_foo_generated.h",
|
||||
[
|
||||
'#include "generated/baz/baz_generated.h"',
|
||||
'#include "generated/foo_generated.h"',
|
||||
],
|
||||
unlink=False,
|
||||
)
|
||||
|
||||
@@ -52,7 +52,7 @@ def flatc(options, cwd=script_path):
|
||||
|
||||
|
||||
def make_absolute(filename, path=script_path):
|
||||
return Path(path, filename).absolute()
|
||||
return str(Path(path, filename).absolute())
|
||||
|
||||
|
||||
def assert_file_exists(filename, path=script_path):
|
||||
|
||||
@@ -27,5 +27,3 @@ print("{0} of {1} tests passed".format(passing, passing + failing))
|
||||
|
||||
if failing > 0:
|
||||
sys.exit(1)
|
||||
|
||||
# TsTests().Base()
|
||||
Reference in New Issue
Block a user