summaryrefslogtreecommitdiffstats
path: root/flit_core/flit_core/tests/samples
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--flit_core/flit_core/tests/samples/EG_README.rst4
-rw-r--r--flit_core/flit_core/tests/samples/bad-description-ext.toml9
-rw-r--r--flit_core/flit_core/tests/samples/conflicting_modules/module1.py0
-rw-r--r--flit_core/flit_core/tests/samples/conflicting_modules/pyproject.toml8
-rw-r--r--flit_core/flit_core/tests/samples/conflicting_modules/src/module1.py0
-rw-r--r--flit_core/flit_core/tests/samples/constructed_version/module1.py4
-rw-r--r--flit_core/flit_core/tests/samples/constructed_version/pyproject.toml12
-rw-r--r--flit_core/flit_core/tests/samples/extras-dev-conflict.toml13
-rw-r--r--flit_core/flit_core/tests/samples/extras.toml15
-rw-r--r--flit_core/flit_core/tests/samples/imported_version/package1/__init__.py3
-rw-r--r--flit_core/flit_core/tests/samples/imported_version/package1/_version.py1
-rw-r--r--flit_core/flit_core/tests/samples/imported_version/pyproject.toml10
-rw-r--r--flit_core/flit_core/tests/samples/inclusion/LICENSES/README2
-rw-r--r--flit_core/flit_core/tests/samples/inclusion/doc/subdir/subsubdir/test.md0
-rw-r--r--flit_core/flit_core/tests/samples/inclusion/doc/subdir/test.txt1
-rw-r--r--flit_core/flit_core/tests/samples/inclusion/doc/test.rst1
-rw-r--r--flit_core/flit_core/tests/samples/inclusion/doc/test.txt1
-rw-r--r--flit_core/flit_core/tests/samples/inclusion/module1.py3
-rw-r--r--flit_core/flit_core/tests/samples/inclusion/pyproject.toml12
-rw-r--r--flit_core/flit_core/tests/samples/invalid_version1.py3
-rw-r--r--flit_core/flit_core/tests/samples/missing-description-file.toml9
-rw-r--r--flit_core/flit_core/tests/samples/misspelled-key.toml10
-rw-r--r--flit_core/flit_core/tests/samples/module1-pkg.ini5
-rw-r--r--flit_core/flit_core/tests/samples/module1-pkg.toml12
-rw-r--r--flit_core/flit_core/tests/samples/module1.py3
-rw-r--r--flit_core/flit_core/tests/samples/module2.py10
-rw-r--r--flit_core/flit_core/tests/samples/moduleunimportable.py8
-rw-r--r--flit_core/flit_core/tests/samples/moduleunimportabledouble.py8
-rw-r--r--flit_core/flit_core/tests/samples/my-description.rst1
-rw-r--r--flit_core/flit_core/tests/samples/no_docstring-pkg.toml12
-rw-r--r--flit_core/flit_core/tests/samples/no_docstring.py1
-rw-r--r--flit_core/flit_core/tests/samples/normalization/my_python_module.py0
-rw-r--r--flit_core/flit_core/tests/samples/normalization/pyproject.toml14
-rw-r--r--flit_core/flit_core/tests/samples/ns1-pkg/EG_README.rst4
-rw-r--r--flit_core/flit_core/tests/samples/ns1-pkg/ns1/pkg/__init__.py8
-rw-r--r--flit_core/flit_core/tests/samples/ns1-pkg/pyproject.toml10
-rw-r--r--flit_core/flit_core/tests/samples/package1.toml13
-rw-r--r--flit_core/flit_core/tests/samples/package1/__init__.py6
-rw-r--r--flit_core/flit_core/tests/samples/package1/data_dir/foo.sh2
-rw-r--r--flit_core/flit_core/tests/samples/package1/foo.py1
-rw-r--r--flit_core/flit_core/tests/samples/package1/subpkg/__init__.py0
-rw-r--r--flit_core/flit_core/tests/samples/package1/subpkg/sp_data_dir/test.json1
-rw-r--r--flit_core/flit_core/tests/samples/package1/subpkg2/__init__.py0
-rw-r--r--flit_core/flit_core/tests/samples/pep517/LICENSE1
-rw-r--r--flit_core/flit_core/tests/samples/pep517/README.rst1
-rw-r--r--flit_core/flit_core/tests/samples/pep517/module1.py3
-rw-r--r--flit_core/flit_core/tests/samples/pep517/pyproject.toml17
-rw-r--r--flit_core/flit_core/tests/samples/pep621/LICENSE1
-rw-r--r--flit_core/flit_core/tests/samples/pep621/README.rst1
-rw-r--r--flit_core/flit_core/tests/samples/pep621/module1a.py3
-rw-r--r--flit_core/flit_core/tests/samples/pep621/pyproject.toml39
-rw-r--r--flit_core/flit_core/tests/samples/pep621_nodynamic/README.rst1
-rw-r--r--flit_core/flit_core/tests/samples/pep621_nodynamic/module1.py0
-rw-r--r--flit_core/flit_core/tests/samples/pep621_nodynamic/pyproject.toml28
-rw-r--r--flit_core/flit_core/tests/samples/requires-dev.toml11
-rw-r--r--flit_core/flit_core/tests/samples/requires-envmark.toml12
-rw-r--r--flit_core/flit_core/tests/samples/requires-extra-envmark.toml12
-rw-r--r--flit_core/flit_core/tests/samples/requires-requests.toml10
-rw-r--r--flit_core/flit_core/tests/samples/with_data_dir/LICENSE1
-rw-r--r--flit_core/flit_core/tests/samples/with_data_dir/README.rst1
-rw-r--r--flit_core/flit_core/tests/samples/with_data_dir/data/share/man/man1/foo.11
-rw-r--r--flit_core/flit_core/tests/samples/with_data_dir/module1.py3
-rw-r--r--flit_core/flit_core/tests/samples/with_data_dir/pyproject.toml26
63 files changed, 412 insertions, 0 deletions
diff --git a/flit_core/flit_core/tests/samples/EG_README.rst b/flit_core/flit_core/tests/samples/EG_README.rst
new file mode 100644
index 0000000..a742974
--- /dev/null
+++ b/flit_core/flit_core/tests/samples/EG_README.rst
@@ -0,0 +1,4 @@
+This is an example long description for tests to load.
+
+This file is `valid reStructuredText
+<http://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html>`_.
diff --git a/flit_core/flit_core/tests/samples/bad-description-ext.toml b/flit_core/flit_core/tests/samples/bad-description-ext.toml
new file mode 100644
index 0000000..1062829
--- /dev/null
+++ b/flit_core/flit_core/tests/samples/bad-description-ext.toml
@@ -0,0 +1,9 @@
+[build-system]
+requires = ["flit"]
+
+[tool.flit.metadata]
+module = "module1"
+author = "Sir Robin"
+author-email = "robin@camelot.uk"
+home-page = "http://github.com/sirrobin/module1"
+description-file = "module1.py" # WRONG
diff --git a/flit_core/flit_core/tests/samples/conflicting_modules/module1.py b/flit_core/flit_core/tests/samples/conflicting_modules/module1.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/flit_core/flit_core/tests/samples/conflicting_modules/module1.py
diff --git a/flit_core/flit_core/tests/samples/conflicting_modules/pyproject.toml b/flit_core/flit_core/tests/samples/conflicting_modules/pyproject.toml
new file mode 100644
index 0000000..a38df52
--- /dev/null
+++ b/flit_core/flit_core/tests/samples/conflicting_modules/pyproject.toml
@@ -0,0 +1,8 @@
+[build-system]
+requires = ["flit"]
+
+[tool.flit.metadata]
+module = "module1"
+author = "Sir Robin"
+author-email = "robin@camelot.uk"
+home-page = "http://github.com/sirrobin/module1"
diff --git a/flit_core/flit_core/tests/samples/conflicting_modules/src/module1.py b/flit_core/flit_core/tests/samples/conflicting_modules/src/module1.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/flit_core/flit_core/tests/samples/conflicting_modules/src/module1.py
diff --git a/flit_core/flit_core/tests/samples/constructed_version/module1.py b/flit_core/flit_core/tests/samples/constructed_version/module1.py
new file mode 100644
index 0000000..5d9ec93
--- /dev/null
+++ b/flit_core/flit_core/tests/samples/constructed_version/module1.py
@@ -0,0 +1,4 @@
+
+"""This module has a __version__ that requires runtime interpretation"""
+
+__version__ = ".".join(["1", "2", "3"])
diff --git a/flit_core/flit_core/tests/samples/constructed_version/pyproject.toml b/flit_core/flit_core/tests/samples/constructed_version/pyproject.toml
new file mode 100644
index 0000000..812b74f
--- /dev/null
+++ b/flit_core/flit_core/tests/samples/constructed_version/pyproject.toml
@@ -0,0 +1,12 @@
+[build-system]
+requires = ["flit_core >=2,<4"]
+build-backend = "flit_core.buildapi"
+
+[tool.flit.metadata]
+module = "module1"
+author = "Sir Robin"
+author-email = "robin@camelot.uk"
+home-page = "http://github.com/sirrobin/module1"
+requires = [
+ "numpy >=1.16.0",
+]
diff --git a/flit_core/flit_core/tests/samples/extras-dev-conflict.toml b/flit_core/flit_core/tests/samples/extras-dev-conflict.toml
new file mode 100644
index 0000000..0fe249d
--- /dev/null
+++ b/flit_core/flit_core/tests/samples/extras-dev-conflict.toml
@@ -0,0 +1,13 @@
+[build-system]
+requires = ["flit"]
+
+[tool.flit.metadata]
+module = "module1"
+author = "Sir Robin"
+author-email = "robin@camelot.uk"
+home-page = "http://github.com/sirrobin/module1"
+description-file = "EG_README.rst"
+dev-requires = ["apackage"]
+
+[tool.flit.metadata.requires-extra]
+dev = ["anotherpackage"]
diff --git a/flit_core/flit_core/tests/samples/extras.toml b/flit_core/flit_core/tests/samples/extras.toml
new file mode 100644
index 0000000..afdb221
--- /dev/null
+++ b/flit_core/flit_core/tests/samples/extras.toml
@@ -0,0 +1,15 @@
+[build-system]
+requires = ["flit_core >=2,<4"]
+build-backend = "flit_core.buildapi"
+
+[tool.flit.metadata]
+module = "module1"
+author = "Sir Robin"
+author-email = "robin@camelot.uk"
+home-page = "http://github.com/sirrobin/module1"
+description-file = "EG_README.rst"
+requires = ["toml"]
+
+[tool.flit.metadata.requires-extra]
+test = ["pytest"]
+custom = ["requests"]
diff --git a/flit_core/flit_core/tests/samples/imported_version/package1/__init__.py b/flit_core/flit_core/tests/samples/imported_version/package1/__init__.py
new file mode 100644
index 0000000..49adc42
--- /dev/null
+++ b/flit_core/flit_core/tests/samples/imported_version/package1/__init__.py
@@ -0,0 +1,3 @@
+"""This module has a __version__ that requires a relative import"""
+
+from ._version import __version__
diff --git a/flit_core/flit_core/tests/samples/imported_version/package1/_version.py b/flit_core/flit_core/tests/samples/imported_version/package1/_version.py
new file mode 100644
index 0000000..91201fc
--- /dev/null
+++ b/flit_core/flit_core/tests/samples/imported_version/package1/_version.py
@@ -0,0 +1 @@
+__version__ = '0.5.8'
diff --git a/flit_core/flit_core/tests/samples/imported_version/pyproject.toml b/flit_core/flit_core/tests/samples/imported_version/pyproject.toml
new file mode 100644
index 0000000..b6d44e1
--- /dev/null
+++ b/flit_core/flit_core/tests/samples/imported_version/pyproject.toml
@@ -0,0 +1,10 @@
+[build-system]
+requires = ["flit_core >=3.2,<4"]
+build-backend = "flit_core.buildapi"
+
+[project]
+name = "package1"
+authors = [
+ {name = "Sir Röbin", email = "robin@camelot.uk"}
+]
+dynamic = ["version", "description"]
diff --git a/flit_core/flit_core/tests/samples/inclusion/LICENSES/README b/flit_core/flit_core/tests/samples/inclusion/LICENSES/README
new file mode 100644
index 0000000..63de856
--- /dev/null
+++ b/flit_core/flit_core/tests/samples/inclusion/LICENSES/README
@@ -0,0 +1,2 @@
+This directory will match the LICENSE* glob which Flit uses to add license
+files to wheel metadata.
diff --git a/flit_core/flit_core/tests/samples/inclusion/doc/subdir/subsubdir/test.md b/flit_core/flit_core/tests/samples/inclusion/doc/subdir/subsubdir/test.md
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/flit_core/flit_core/tests/samples/inclusion/doc/subdir/subsubdir/test.md
diff --git a/flit_core/flit_core/tests/samples/inclusion/doc/subdir/test.txt b/flit_core/flit_core/tests/samples/inclusion/doc/subdir/test.txt
new file mode 100644
index 0000000..5f852b1
--- /dev/null
+++ b/flit_core/flit_core/tests/samples/inclusion/doc/subdir/test.txt
@@ -0,0 +1 @@
+sdists should include this (see pyproject.toml)
diff --git a/flit_core/flit_core/tests/samples/inclusion/doc/test.rst b/flit_core/flit_core/tests/samples/inclusion/doc/test.rst
new file mode 100644
index 0000000..5f852b1
--- /dev/null
+++ b/flit_core/flit_core/tests/samples/inclusion/doc/test.rst
@@ -0,0 +1 @@
+sdists should include this (see pyproject.toml)
diff --git a/flit_core/flit_core/tests/samples/inclusion/doc/test.txt b/flit_core/flit_core/tests/samples/inclusion/doc/test.txt
new file mode 100644
index 0000000..31dc06a
--- /dev/null
+++ b/flit_core/flit_core/tests/samples/inclusion/doc/test.txt
@@ -0,0 +1 @@
+sdists should exclude this (see pyproject.toml)
diff --git a/flit_core/flit_core/tests/samples/inclusion/module1.py b/flit_core/flit_core/tests/samples/inclusion/module1.py
new file mode 100644
index 0000000..7e0d3cb
--- /dev/null
+++ b/flit_core/flit_core/tests/samples/inclusion/module1.py
@@ -0,0 +1,3 @@
+"""For tests"""
+
+__version__ = '0.1'
diff --git a/flit_core/flit_core/tests/samples/inclusion/pyproject.toml b/flit_core/flit_core/tests/samples/inclusion/pyproject.toml
new file mode 100644
index 0000000..c37d44d
--- /dev/null
+++ b/flit_core/flit_core/tests/samples/inclusion/pyproject.toml
@@ -0,0 +1,12 @@
+[build-system]
+requires = ["flit"]
+build-backend = "flit.buildapi"
+
+[tool.flit.metadata]
+module = "module1"
+author = "Sir Robin"
+author-email = "robin@camelot.uk"
+
+[tool.flit.sdist]
+include = ["doc"]
+exclude = ["doc/*.txt", "doc/**/*.md"]
diff --git a/flit_core/flit_core/tests/samples/invalid_version1.py b/flit_core/flit_core/tests/samples/invalid_version1.py
new file mode 100644
index 0000000..dd3268a
--- /dev/null
+++ b/flit_core/flit_core/tests/samples/invalid_version1.py
@@ -0,0 +1,3 @@
+"""Sample module with invalid __version__ string"""
+
+__version__ = "not starting with a number" \ No newline at end of file
diff --git a/flit_core/flit_core/tests/samples/missing-description-file.toml b/flit_core/flit_core/tests/samples/missing-description-file.toml
new file mode 100644
index 0000000..00fae72
--- /dev/null
+++ b/flit_core/flit_core/tests/samples/missing-description-file.toml
@@ -0,0 +1,9 @@
+[build-system]
+requires = ["flit"]
+
+[tool.flit.metadata]
+module = "missingdescriptionfile"
+author = "Sir Robin"
+author-email = "robin@camelot.uk"
+home-page = "http://github.com/sirrobin/missingdescriptionfile"
+description-file = "definitely-missing.rst"
diff --git a/flit_core/flit_core/tests/samples/misspelled-key.toml b/flit_core/flit_core/tests/samples/misspelled-key.toml
new file mode 100644
index 0000000..cbde9ac
--- /dev/null
+++ b/flit_core/flit_core/tests/samples/misspelled-key.toml
@@ -0,0 +1,10 @@
+[build-system]
+requires = ["flit_core >=2,<4"]
+build-backend = "flit_core.buildapi"
+
+[tool.flit.metadata]
+module = "package1"
+author = "Sir Robin"
+author-email = "robin@camelot.uk"
+descryption-file = "my-description.rst" # Deliberate typo for test
+home-page = "http://github.com/sirrobin/package1"
diff --git a/flit_core/flit_core/tests/samples/module1-pkg.ini b/flit_core/flit_core/tests/samples/module1-pkg.ini
new file mode 100644
index 0000000..9bbfc4e
--- /dev/null
+++ b/flit_core/flit_core/tests/samples/module1-pkg.ini
@@ -0,0 +1,5 @@
+[metadata]
+module=module1
+author=Sir Robin
+author-email=robin@camelot.uk
+home-page=http://github.com/sirrobin/module1
diff --git a/flit_core/flit_core/tests/samples/module1-pkg.toml b/flit_core/flit_core/tests/samples/module1-pkg.toml
new file mode 100644
index 0000000..740ec87
--- /dev/null
+++ b/flit_core/flit_core/tests/samples/module1-pkg.toml
@@ -0,0 +1,12 @@
+[build-system]
+requires = ["flit"]
+
+[tool.flit.metadata]
+module = "module1"
+author = "Sir Robin"
+author-email = "robin@camelot.uk"
+home-page = "http://github.com/sirrobin/module1"
+description-file = "EG_README.rst"
+
+[tool.flit.metadata.urls]
+Documentation = "https://example.com/module1"
diff --git a/flit_core/flit_core/tests/samples/module1.py b/flit_core/flit_core/tests/samples/module1.py
new file mode 100644
index 0000000..87f0370
--- /dev/null
+++ b/flit_core/flit_core/tests/samples/module1.py
@@ -0,0 +1,3 @@
+"""Example module"""
+
+__version__ = '0.1'
diff --git a/flit_core/flit_core/tests/samples/module2.py b/flit_core/flit_core/tests/samples/module2.py
new file mode 100644
index 0000000..0f36679
--- /dev/null
+++ b/flit_core/flit_core/tests/samples/module2.py
@@ -0,0 +1,10 @@
+"""
+Docstring formatted like this.
+"""
+
+a = {}
+# An assignment to a subscript (a['test']) broke introspection
+# https://github.com/pypa/flit/issues/343
+a['test'] = 6
+
+__version__ = '7.0'
diff --git a/flit_core/flit_core/tests/samples/moduleunimportable.py b/flit_core/flit_core/tests/samples/moduleunimportable.py
new file mode 100644
index 0000000..147d26e
--- /dev/null
+++ b/flit_core/flit_core/tests/samples/moduleunimportable.py
@@ -0,0 +1,8 @@
+
+"""
+A sample unimportable module
+"""
+
+raise ImportError()
+
+__version__ = "0.1"
diff --git a/flit_core/flit_core/tests/samples/moduleunimportabledouble.py b/flit_core/flit_core/tests/samples/moduleunimportabledouble.py
new file mode 100644
index 0000000..42d51f3
--- /dev/null
+++ b/flit_core/flit_core/tests/samples/moduleunimportabledouble.py
@@ -0,0 +1,8 @@
+
+"""
+A sample unimportable module with double assignment
+"""
+
+raise ImportError()
+
+VERSION = __version__ = "0.1"
diff --git a/flit_core/flit_core/tests/samples/my-description.rst b/flit_core/flit_core/tests/samples/my-description.rst
new file mode 100644
index 0000000..623cb1d
--- /dev/null
+++ b/flit_core/flit_core/tests/samples/my-description.rst
@@ -0,0 +1 @@
+Sample description for test.
diff --git a/flit_core/flit_core/tests/samples/no_docstring-pkg.toml b/flit_core/flit_core/tests/samples/no_docstring-pkg.toml
new file mode 100644
index 0000000..b68827f
--- /dev/null
+++ b/flit_core/flit_core/tests/samples/no_docstring-pkg.toml
@@ -0,0 +1,12 @@
+[build-system]
+requires = ["flit"]
+
+[tool.flit.metadata]
+module = "no_docstring"
+author = "Sir Robin"
+author-email = "robin@camelot.uk"
+home-page = "http://github.com/sirrobin/no_docstring"
+description-file = "EG_README.rst"
+
+[tool.flit.metadata.urls]
+Documentation = "https://example.com/no_docstring"
diff --git a/flit_core/flit_core/tests/samples/no_docstring.py b/flit_core/flit_core/tests/samples/no_docstring.py
new file mode 100644
index 0000000..29524eb
--- /dev/null
+++ b/flit_core/flit_core/tests/samples/no_docstring.py
@@ -0,0 +1 @@
+__version__ = '7.0'
diff --git a/flit_core/flit_core/tests/samples/normalization/my_python_module.py b/flit_core/flit_core/tests/samples/normalization/my_python_module.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/flit_core/flit_core/tests/samples/normalization/my_python_module.py
diff --git a/flit_core/flit_core/tests/samples/normalization/pyproject.toml b/flit_core/flit_core/tests/samples/normalization/pyproject.toml
new file mode 100644
index 0000000..c32e4a1
--- /dev/null
+++ b/flit_core/flit_core/tests/samples/normalization/pyproject.toml
@@ -0,0 +1,14 @@
+[build-system]
+requires = ["flit_core >=3.8,<4"]
+build-backend = "flit_core.buildapi"
+
+[project]
+name = "my-python-module"
+version = "0.0.1"
+description = "Hyphenated package name, infered import name"
+authors = [
+ {name = "Sir Robin", email = "robin@camelot.uk"}
+]
+
+[project.urls]
+homepage = "http://github.com/me/python-module"
diff --git a/flit_core/flit_core/tests/samples/ns1-pkg/EG_README.rst b/flit_core/flit_core/tests/samples/ns1-pkg/EG_README.rst
new file mode 100644
index 0000000..a742974
--- /dev/null
+++ b/flit_core/flit_core/tests/samples/ns1-pkg/EG_README.rst
@@ -0,0 +1,4 @@
+This is an example long description for tests to load.
+
+This file is `valid reStructuredText
+<http://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html>`_.
diff --git a/flit_core/flit_core/tests/samples/ns1-pkg/ns1/pkg/__init__.py b/flit_core/flit_core/tests/samples/ns1-pkg/ns1/pkg/__init__.py
new file mode 100644
index 0000000..445afbb
--- /dev/null
+++ b/flit_core/flit_core/tests/samples/ns1-pkg/ns1/pkg/__init__.py
@@ -0,0 +1,8 @@
+"""
+==================
+ns1.pkg
+==================
+"""
+
+__version__ = '0.1'
+
diff --git a/flit_core/flit_core/tests/samples/ns1-pkg/pyproject.toml b/flit_core/flit_core/tests/samples/ns1-pkg/pyproject.toml
new file mode 100644
index 0000000..acbabb1
--- /dev/null
+++ b/flit_core/flit_core/tests/samples/ns1-pkg/pyproject.toml
@@ -0,0 +1,10 @@
+[build-system]
+requires = ["flit_core >=3.5,<4"]
+build-backend = "flit_core.buildapi"
+
+[tool.flit.metadata]
+module = "ns1.pkg"
+author = "Sir Robin"
+author-email = "robin@camelot.uk"
+home-page = "http://github.com/sirrobin/module1"
+description-file = "EG_README.rst"
diff --git a/flit_core/flit_core/tests/samples/package1.toml b/flit_core/flit_core/tests/samples/package1.toml
new file mode 100644
index 0000000..ca12080
--- /dev/null
+++ b/flit_core/flit_core/tests/samples/package1.toml
@@ -0,0 +1,13 @@
+[build-system]
+requires = ["flit_core >=2,<4"]
+build-backend = "flit_core.buildapi"
+
+[tool.flit.metadata]
+module = "package1"
+author = "Sir Robin"
+author-email = "robin@camelot.uk"
+description-file = "my-description.rst"
+home-page = "http://github.com/sirrobin/package1"
+
+[scripts]
+pkg_script = "package1:main"
diff --git a/flit_core/flit_core/tests/samples/package1/__init__.py b/flit_core/flit_core/tests/samples/package1/__init__.py
new file mode 100644
index 0000000..07978d8
--- /dev/null
+++ b/flit_core/flit_core/tests/samples/package1/__init__.py
@@ -0,0 +1,6 @@
+"""A sample package"""
+
+__version__ = '0.1'
+
+def main():
+ print("package1 main")
diff --git a/flit_core/flit_core/tests/samples/package1/data_dir/foo.sh b/flit_core/flit_core/tests/samples/package1/data_dir/foo.sh
new file mode 100644
index 0000000..92abcfb
--- /dev/null
+++ b/flit_core/flit_core/tests/samples/package1/data_dir/foo.sh
@@ -0,0 +1,2 @@
+#!/bin/sh
+echo "Example data file"
diff --git a/flit_core/flit_core/tests/samples/package1/foo.py b/flit_core/flit_core/tests/samples/package1/foo.py
new file mode 100644
index 0000000..1337a53
--- /dev/null
+++ b/flit_core/flit_core/tests/samples/package1/foo.py
@@ -0,0 +1 @@
+a = 1
diff --git a/flit_core/flit_core/tests/samples/package1/subpkg/__init__.py b/flit_core/flit_core/tests/samples/package1/subpkg/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/flit_core/flit_core/tests/samples/package1/subpkg/__init__.py
diff --git a/flit_core/flit_core/tests/samples/package1/subpkg/sp_data_dir/test.json b/flit_core/flit_core/tests/samples/package1/subpkg/sp_data_dir/test.json
new file mode 100644
index 0000000..f77d03c
--- /dev/null
+++ b/flit_core/flit_core/tests/samples/package1/subpkg/sp_data_dir/test.json
@@ -0,0 +1 @@
+{"example": true}
diff --git a/flit_core/flit_core/tests/samples/package1/subpkg2/__init__.py b/flit_core/flit_core/tests/samples/package1/subpkg2/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/flit_core/flit_core/tests/samples/package1/subpkg2/__init__.py
diff --git a/flit_core/flit_core/tests/samples/pep517/LICENSE b/flit_core/flit_core/tests/samples/pep517/LICENSE
new file mode 100644
index 0000000..7f5c194
--- /dev/null
+++ b/flit_core/flit_core/tests/samples/pep517/LICENSE
@@ -0,0 +1 @@
+This file should be added to wheels
diff --git a/flit_core/flit_core/tests/samples/pep517/README.rst b/flit_core/flit_core/tests/samples/pep517/README.rst
new file mode 100644
index 0000000..ef7b7c1
--- /dev/null
+++ b/flit_core/flit_core/tests/samples/pep517/README.rst
@@ -0,0 +1 @@
+This contains a nön-ascii character
diff --git a/flit_core/flit_core/tests/samples/pep517/module1.py b/flit_core/flit_core/tests/samples/pep517/module1.py
new file mode 100644
index 0000000..87f0370
--- /dev/null
+++ b/flit_core/flit_core/tests/samples/pep517/module1.py
@@ -0,0 +1,3 @@
+"""Example module"""
+
+__version__ = '0.1'
diff --git a/flit_core/flit_core/tests/samples/pep517/pyproject.toml b/flit_core/flit_core/tests/samples/pep517/pyproject.toml
new file mode 100644
index 0000000..b6cebac
--- /dev/null
+++ b/flit_core/flit_core/tests/samples/pep517/pyproject.toml
@@ -0,0 +1,17 @@
+[build-system]
+requires = ["flit_core >=2,<4"]
+build-backend = "flit_core.buildapi"
+
+[tool.flit.metadata]
+module = "module1"
+author = "Sir Robin"
+author-email = "robin@camelot.uk"
+home-page = "http://github.com/sirrobin/module1"
+description-file = "README.rst"
+requires = [
+ "requests >= 2.18",
+ "docutils",
+]
+
+[tool.flit.entrypoints.flit_test_example]
+foo = "module1:main"
diff --git a/flit_core/flit_core/tests/samples/pep621/LICENSE b/flit_core/flit_core/tests/samples/pep621/LICENSE
new file mode 100644
index 0000000..7f5c194
--- /dev/null
+++ b/flit_core/flit_core/tests/samples/pep621/LICENSE
@@ -0,0 +1 @@
+This file should be added to wheels
diff --git a/flit_core/flit_core/tests/samples/pep621/README.rst b/flit_core/flit_core/tests/samples/pep621/README.rst
new file mode 100644
index 0000000..ef7b7c1
--- /dev/null
+++ b/flit_core/flit_core/tests/samples/pep621/README.rst
@@ -0,0 +1 @@
+This contains a nön-ascii character
diff --git a/flit_core/flit_core/tests/samples/pep621/module1a.py b/flit_core/flit_core/tests/samples/pep621/module1a.py
new file mode 100644
index 0000000..87f0370
--- /dev/null
+++ b/flit_core/flit_core/tests/samples/pep621/module1a.py
@@ -0,0 +1,3 @@
+"""Example module"""
+
+__version__ = '0.1'
diff --git a/flit_core/flit_core/tests/samples/pep621/pyproject.toml b/flit_core/flit_core/tests/samples/pep621/pyproject.toml
new file mode 100644
index 0000000..72a85d0
--- /dev/null
+++ b/flit_core/flit_core/tests/samples/pep621/pyproject.toml
@@ -0,0 +1,39 @@
+[build-system]
+requires = ["flit_core >=3.2,<4"]
+build-backend = "flit_core.buildapi"
+
+[project]
+name = "module1"
+authors = [
+ {name = "Sir Röbin", email = "robin@camelot.uk"}
+]
+maintainers = [
+ {name = "Sir Galahad"}
+]
+readme = "README.rst"
+license = {file = "LICENSE"}
+requires-python = ">=3.7"
+dependencies = [
+ "requests >= 2.18",
+ "docutils",
+]
+keywords = ["example", "test"]
+dynamic = [
+ "version",
+ "description",
+]
+
+[project.optional-dependencies]
+test = [
+ "pytest",
+ "mock; python_version<'3.6'"
+]
+
+[project.urls]
+homepage = "http://github.com/sirrobin/module1"
+
+[project.entry-points.flit_test_example]
+foo = "module1:main"
+
+[tool.flit.module]
+name = "module1a"
diff --git a/flit_core/flit_core/tests/samples/pep621_nodynamic/README.rst b/flit_core/flit_core/tests/samples/pep621_nodynamic/README.rst
new file mode 100644
index 0000000..ef7b7c1
--- /dev/null
+++ b/flit_core/flit_core/tests/samples/pep621_nodynamic/README.rst
@@ -0,0 +1 @@
+This contains a nön-ascii character
diff --git a/flit_core/flit_core/tests/samples/pep621_nodynamic/module1.py b/flit_core/flit_core/tests/samples/pep621_nodynamic/module1.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/flit_core/flit_core/tests/samples/pep621_nodynamic/module1.py
diff --git a/flit_core/flit_core/tests/samples/pep621_nodynamic/pyproject.toml b/flit_core/flit_core/tests/samples/pep621_nodynamic/pyproject.toml
new file mode 100644
index 0000000..0b579f3
--- /dev/null
+++ b/flit_core/flit_core/tests/samples/pep621_nodynamic/pyproject.toml
@@ -0,0 +1,28 @@
+[build-system]
+requires = ["flit_core >=3.2,<4"]
+build-backend = "flit_core.buildapi"
+
+[project]
+name = "module1"
+version = "0.03"
+description = "Statically specified description"
+authors = [
+ {name = "Sir Robin", email = "robin@camelot.uk"}
+]
+readme = {file = "README.rst", content-type = "text/x-rst"}
+classifiers = [
+ "Topic :: Internet :: WWW/HTTP",
+]
+dependencies = [
+ "requests >= 2.18",
+ "docutils",
+] # N.B. Using this to check behaviour with dependencies but no optional deps
+
+[project.urls]
+homepage = "http://github.com/sirrobin/module1"
+
+[project.scripts]
+foo = "module1:main"
+
+[project.gui-scripts]
+foo-gui = "module1:main"
diff --git a/flit_core/flit_core/tests/samples/requires-dev.toml b/flit_core/flit_core/tests/samples/requires-dev.toml
new file mode 100644
index 0000000..46e3170
--- /dev/null
+++ b/flit_core/flit_core/tests/samples/requires-dev.toml
@@ -0,0 +1,11 @@
+[build-system]
+requires = ["flit"]
+
+[tool.flit.metadata]
+module = "module1"
+author = "Sir Robin"
+author-email = "robin@camelot.uk"
+home-page = "http://github.com/sirrobin/module1"
+description-file = "EG_README.rst"
+# This should generate a warning tell you to use requires-extra.dev
+dev-requires = ["apackage"]
diff --git a/flit_core/flit_core/tests/samples/requires-envmark.toml b/flit_core/flit_core/tests/samples/requires-envmark.toml
new file mode 100644
index 0000000..e97c5f0
--- /dev/null
+++ b/flit_core/flit_core/tests/samples/requires-envmark.toml
@@ -0,0 +1,12 @@
+[build-system]
+requires = ["flit"]
+
+[tool.flit.metadata]
+module = "module1"
+author = "Sir Robin"
+author-email = "robin@camelot.uk"
+home-page = "http://github.com/sirrobin/module1"
+requires = [
+ "requests",
+ "pathlib2; python_version == '2.7'",
+]
diff --git a/flit_core/flit_core/tests/samples/requires-extra-envmark.toml b/flit_core/flit_core/tests/samples/requires-extra-envmark.toml
new file mode 100644
index 0000000..ac49cb0
--- /dev/null
+++ b/flit_core/flit_core/tests/samples/requires-extra-envmark.toml
@@ -0,0 +1,12 @@
+[build-system]
+requires = ["flit"]
+
+[tool.flit.metadata]
+module = "module1"
+author = "Sir Robin"
+author-email = "robin@camelot.uk"
+home-page = "http://github.com/sirrobin/module1"
+description-file = "EG_README.rst"
+
+[tool.flit.metadata.requires-extra]
+test = ["pathlib2; python_version == \"2.7\""]
diff --git a/flit_core/flit_core/tests/samples/requires-requests.toml b/flit_core/flit_core/tests/samples/requires-requests.toml
new file mode 100644
index 0000000..bf26ac5
--- /dev/null
+++ b/flit_core/flit_core/tests/samples/requires-requests.toml
@@ -0,0 +1,10 @@
+[build-system]
+requires = ["flit"]
+
+[tool.flit.metadata]
+module = "module1"
+author = "Sir Robin"
+author-email = "robin@camelot.uk"
+home-page = "http://github.com/sirrobin/module1"
+description-file = "EG_README.rst"
+requires = ["requests"]
diff --git a/flit_core/flit_core/tests/samples/with_data_dir/LICENSE b/flit_core/flit_core/tests/samples/with_data_dir/LICENSE
new file mode 100644
index 0000000..7f5c194
--- /dev/null
+++ b/flit_core/flit_core/tests/samples/with_data_dir/LICENSE
@@ -0,0 +1 @@
+This file should be added to wheels
diff --git a/flit_core/flit_core/tests/samples/with_data_dir/README.rst b/flit_core/flit_core/tests/samples/with_data_dir/README.rst
new file mode 100644
index 0000000..ef7b7c1
--- /dev/null
+++ b/flit_core/flit_core/tests/samples/with_data_dir/README.rst
@@ -0,0 +1 @@
+This contains a nön-ascii character
diff --git a/flit_core/flit_core/tests/samples/with_data_dir/data/share/man/man1/foo.1 b/flit_core/flit_core/tests/samples/with_data_dir/data/share/man/man1/foo.1
new file mode 100644
index 0000000..c12128d
--- /dev/null
+++ b/flit_core/flit_core/tests/samples/with_data_dir/data/share/man/man1/foo.1
@@ -0,0 +1 @@
+Example data file
diff --git a/flit_core/flit_core/tests/samples/with_data_dir/module1.py b/flit_core/flit_core/tests/samples/with_data_dir/module1.py
new file mode 100644
index 0000000..87f0370
--- /dev/null
+++ b/flit_core/flit_core/tests/samples/with_data_dir/module1.py
@@ -0,0 +1,3 @@
+"""Example module"""
+
+__version__ = '0.1'
diff --git a/flit_core/flit_core/tests/samples/with_data_dir/pyproject.toml b/flit_core/flit_core/tests/samples/with_data_dir/pyproject.toml
new file mode 100644
index 0000000..84d165e
--- /dev/null
+++ b/flit_core/flit_core/tests/samples/with_data_dir/pyproject.toml
@@ -0,0 +1,26 @@
+[build-system]
+requires = ["flit_core >=3.2,<4"]
+build-backend = "flit_core.buildapi"
+
+[project]
+name = "module1"
+authors = [
+ {name = "Sir Röbin", email = "robin@camelot.uk"}
+]
+readme = "README.rst"
+license = {file = "LICENSE"}
+requires-python = ">=3.7"
+dependencies = [
+ "requests >= 2.18",
+ "docutils",
+]
+dynamic = [
+ "version",
+ "description",
+]
+
+[project.scripts]
+foo = "module1:main"
+
+[tool.flit.external-data]
+directory = "data"