22220352 enable system-test target for pylint
authorApril Chin <april.chin@oracle.com>
Wed, 18 Nov 2015 15:34:37 -0800
changeset 5107 b5545e1bba48
parent 5106 7da49475ad49
child 5108 0546c7178c66
22220352 enable system-test target for pylint 22220692 enable system-test target for logilab-common 22220459 enable system-test target for astroid
components/python/astroid/Makefile
components/python/astroid/astroid-PYVER.p5m
components/python/logilab-common/Makefile
components/python/logilab-common/test/results-all.master
components/python/pylint/Makefile
doc/packaging.txt
--- a/components/python/astroid/Makefile	Wed Nov 18 12:45:08 2015 -0800
+++ b/components/python/astroid/Makefile	Wed Nov 18 15:34:37 2015 -0800
@@ -74,23 +74,31 @@
 
 # The test output contains details from each test, in whatever order they
 # complete. Use nawk to extract just the sections that summarizes the test result.
+COMPONENT_TEST_DIR = $(COMPONENT_SRC)/astroid/tests
 COMPONENT_TEST_CMD = /usr/bin/pytest-$(PYTHON_VERSION)
 COMPONENT_TEST_ARGS =
 COMPONENT_TEST_MASTER = $(COMPONENT_TEST_RESULTS_DIR)/results-all.master
 COMPONENT_TEST_TRANSFORMER =	$(NAWK)
 COMPONENT_TEST_TRANSFORMS = "'/Ran (.+) test cases/{ sub(/in(.+)\)/, \"\"); print }/All (.+) modules OK/'"
 
-# Expected failures for test target:
-# sparc:
-# 394 test cases, 24 skipped
-# All 15 modules OK
-# x86:
-# 394 test cases, 24 skipped
-# All 15 modules OK
+
+# This modutils test should expect the logilab module to be found under the
+# standard /usr/lib/python* location when we test installed system bits,
+# the opposite of what it expects when testing built bits in the proto area.
+# Temporarily modify its expected result for system-test,
+# and restore it afterwards.
+COMPONENT_PRE_SYSTEM_TEST_ACTION += \
+	($(MV) $(COMPONENT_SRC)/astroid/tests/unittest_modutils.py $(COMPONENT_SRC)/astroid/tests/unittest_modutils.py-orig; \
+	$(GSED) -e "s/self.assertEqual(modutils.is_standard_module('logilab'), False)/self.assertEqual(modutils.is_standard_module('logilab'), True)/" $(COMPONENT_SRC)/astroid/tests/unittest_modutils.py-orig > $(COMPONENT_SRC)/astroid/tests/unittest_modutils.py)
+COMPONENT_SYSTEM_TEST_DIR = $(COMPONENT_SRC)/astroid/tests
+COMPONENT_SYSTEM_TEST_CMD = /usr/bin/pytest-$(PYTHON_VERSION)
+COMPONENT_SYSTEM_TEST_ARGS =
+COMPONENT_POST_SYSTEM_TEST_ACTION += \
+	$(MV) $(COMPONENT_SRC)/astroid/tests/unittest_modutils.py-orig $(COMPONENT_SRC)/astroid/tests/unittest_modutils.py
 
 test:		$(TEST_NO_ARCH)
 
-system-test:    $(SYSTEM_TESTS_NOT_IMPLEMENTED)
+system-test:    $(SYSTEM_TEST_NO_ARCH)
 
 REQUIRED_PACKAGES += library/python/logilab-common-27
 REQUIRED_PACKAGES += library/python/six-27
--- a/components/python/astroid/astroid-PYVER.p5m	Wed Nov 18 12:45:08 2015 -0800
+++ b/components/python/astroid/astroid-PYVER.p5m	Wed Nov 18 15:34:37 2015 -0800
@@ -21,6 +21,11 @@
 # Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
 #
 
+# None of the astroid/test/testdata *.py files have *.pyc files,
+# and the *.pyc files for astroid tests are unnecessary and wouldn't
+# be tagged for optional.test (see below) if we auto generated them.
+<transform file path=.+/vendor-packages/astroid/tests/.+\.py$ -> default pkg.tmp.autopyc false>
+<transform file path=usr/lib/python$(PYVER)/vendor-packages/astroid/tests/.* -> default facet.optional.test true>
 set name=pkg.fmri \
     value=pkg:/library/python/astroid-$(PYV)@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
 set name=pkg.summary \
@@ -67,6 +72,106 @@
 file path=usr/lib/python$(PYVER)/vendor-packages/astroid/raw_building.py
 file path=usr/lib/python$(PYVER)/vendor-packages/astroid/rebuilder.py
 file path=usr/lib/python$(PYVER)/vendor-packages/astroid/scoped_nodes.py
+file path=usr/lib/python$(PYVER)/vendor-packages/astroid/test_utils.py
+file path=usr/lib/python$(PYVER)/vendor-packages/astroid/tests/__init__.py
+file path=usr/lib/python$(PYVER)/vendor-packages/astroid/tests/resources.py
+file path=usr/lib/python$(PYVER)/vendor-packages/astroid/tests/testdata/python2/data/MyPyPa-0.1.0-py2.5.egg
+file path=usr/lib/python$(PYVER)/vendor-packages/astroid/tests/testdata/python2/data/MyPyPa-0.1.0-py2.5.zip
+file path=usr/lib/python$(PYVER)/vendor-packages/astroid/tests/testdata/python2/data/SSL1/Connection1.py
+file path=usr/lib/python$(PYVER)/vendor-packages/astroid/tests/testdata/python2/data/SSL1/__init__.py
+file path=usr/lib/python$(PYVER)/vendor-packages/astroid/tests/testdata/python2/data/__init__.py
+file path=usr/lib/python$(PYVER)/vendor-packages/astroid/tests/testdata/python2/data/absimp/__init__.py
+file path=usr/lib/python$(PYVER)/vendor-packages/astroid/tests/testdata/python2/data/absimp/sidepackage/__init__.py
+file path=usr/lib/python$(PYVER)/vendor-packages/astroid/tests/testdata/python2/data/absimp/string.py
+file path=usr/lib/python$(PYVER)/vendor-packages/astroid/tests/testdata/python2/data/absimport.py
+file path=usr/lib/python$(PYVER)/vendor-packages/astroid/tests/testdata/python2/data/all.py
+file path=usr/lib/python$(PYVER)/vendor-packages/astroid/tests/testdata/python2/data/appl/__init__.py
+file path=usr/lib/python$(PYVER)/vendor-packages/astroid/tests/testdata/python2/data/appl/myConnection.py
+file path=usr/lib/python$(PYVER)/vendor-packages/astroid/tests/testdata/python2/data/clientmodule_test.py
+file path=usr/lib/python$(PYVER)/vendor-packages/astroid/tests/testdata/python2/data/descriptor_crash.py
+file path=usr/lib/python$(PYVER)/vendor-packages/astroid/tests/testdata/python2/data/email.py
+file path=usr/lib/python$(PYVER)/vendor-packages/astroid/tests/testdata/python2/data/find_test/__init__.py
+file path=usr/lib/python$(PYVER)/vendor-packages/astroid/tests/testdata/python2/data/find_test/module.py
+file path=usr/lib/python$(PYVER)/vendor-packages/astroid/tests/testdata/python2/data/find_test/module2.py
+file path=usr/lib/python$(PYVER)/vendor-packages/astroid/tests/testdata/python2/data/find_test/noendingnewline.py
+file path=usr/lib/python$(PYVER)/vendor-packages/astroid/tests/testdata/python2/data/find_test/nonregr.py
+file path=usr/lib/python$(PYVER)/vendor-packages/astroid/tests/testdata/python2/data/format.py
+file path=usr/lib/python$(PYVER)/vendor-packages/astroid/tests/testdata/python2/data/joined_strings.py
+file path=usr/lib/python$(PYVER)/vendor-packages/astroid/tests/testdata/python2/data/lmfp/__init__.py
+file path=usr/lib/python$(PYVER)/vendor-packages/astroid/tests/testdata/python2/data/lmfp/foo.py
+file path=usr/lib/python$(PYVER)/vendor-packages/astroid/tests/testdata/python2/data/module.py
+file path=usr/lib/python$(PYVER)/vendor-packages/astroid/tests/testdata/python2/data/module1abs/__init__.py
+file path=usr/lib/python$(PYVER)/vendor-packages/astroid/tests/testdata/python2/data/module1abs/core.py
+file path=usr/lib/python$(PYVER)/vendor-packages/astroid/tests/testdata/python2/data/module2.py
+file path=usr/lib/python$(PYVER)/vendor-packages/astroid/tests/testdata/python2/data/noendingnewline.py
+file path=usr/lib/python$(PYVER)/vendor-packages/astroid/tests/testdata/python2/data/nonregr.py
+file path=usr/lib/python$(PYVER)/vendor-packages/astroid/tests/testdata/python2/data/notall.py
+file path=usr/lib/python$(PYVER)/vendor-packages/astroid/tests/testdata/python2/data/package/__init__.py
+file path=usr/lib/python$(PYVER)/vendor-packages/astroid/tests/testdata/python2/data/package/absimport.py
+file path=usr/lib/python$(PYVER)/vendor-packages/astroid/tests/testdata/python2/data/package/hello.py
+file path=usr/lib/python$(PYVER)/vendor-packages/astroid/tests/testdata/python2/data/package/import_package_subpackage_module.py
+file path=usr/lib/python$(PYVER)/vendor-packages/astroid/tests/testdata/python2/data/package/subpackage/__init__.py
+file path=usr/lib/python$(PYVER)/vendor-packages/astroid/tests/testdata/python2/data/package/subpackage/module.py
+file path=usr/lib/python$(PYVER)/vendor-packages/astroid/tests/testdata/python2/data/recursion.py
+file path=usr/lib/python$(PYVER)/vendor-packages/astroid/tests/testdata/python2/data/suppliermodule_test.py
+file path=usr/lib/python$(PYVER)/vendor-packages/astroid/tests/testdata/python2/data/unicode_package/__init__.py
+file path=usr/lib/python$(PYVER)/vendor-packages/astroid/tests/testdata/python2/data/unicode_package/core/__init__.py
+file path=usr/lib/python$(PYVER)/vendor-packages/astroid/tests/testdata/python3/data/MyPyPa-0.1.0-py2.5.egg
+file path=usr/lib/python$(PYVER)/vendor-packages/astroid/tests/testdata/python3/data/MyPyPa-0.1.0-py2.5.zip
+file path=usr/lib/python$(PYVER)/vendor-packages/astroid/tests/testdata/python3/data/SSL1/Connection1.py
+file path=usr/lib/python$(PYVER)/vendor-packages/astroid/tests/testdata/python3/data/SSL1/__init__.py
+file path=usr/lib/python$(PYVER)/vendor-packages/astroid/tests/testdata/python3/data/__init__.py
+file path=usr/lib/python$(PYVER)/vendor-packages/astroid/tests/testdata/python3/data/absimp/__init__.py
+file path=usr/lib/python$(PYVER)/vendor-packages/astroid/tests/testdata/python3/data/absimp/sidepackage/__init__.py
+file path=usr/lib/python$(PYVER)/vendor-packages/astroid/tests/testdata/python3/data/absimp/string.py
+file path=usr/lib/python$(PYVER)/vendor-packages/astroid/tests/testdata/python3/data/absimport.py
+file path=usr/lib/python$(PYVER)/vendor-packages/astroid/tests/testdata/python3/data/all.py
+file path=usr/lib/python$(PYVER)/vendor-packages/astroid/tests/testdata/python3/data/appl/__init__.py
+file path=usr/lib/python$(PYVER)/vendor-packages/astroid/tests/testdata/python3/data/appl/myConnection.py
+file path=usr/lib/python$(PYVER)/vendor-packages/astroid/tests/testdata/python3/data/clientmodule_test.py
+file path=usr/lib/python$(PYVER)/vendor-packages/astroid/tests/testdata/python3/data/descriptor_crash.py
+file path=usr/lib/python$(PYVER)/vendor-packages/astroid/tests/testdata/python3/data/email.py
+file path=usr/lib/python$(PYVER)/vendor-packages/astroid/tests/testdata/python3/data/find_test/__init__.py
+file path=usr/lib/python$(PYVER)/vendor-packages/astroid/tests/testdata/python3/data/find_test/module.py
+file path=usr/lib/python$(PYVER)/vendor-packages/astroid/tests/testdata/python3/data/find_test/module2.py
+file path=usr/lib/python$(PYVER)/vendor-packages/astroid/tests/testdata/python3/data/find_test/noendingnewline.py
+file path=usr/lib/python$(PYVER)/vendor-packages/astroid/tests/testdata/python3/data/find_test/nonregr.py
+file path=usr/lib/python$(PYVER)/vendor-packages/astroid/tests/testdata/python3/data/format.py
+file path=usr/lib/python$(PYVER)/vendor-packages/astroid/tests/testdata/python3/data/joined_strings.py
+file path=usr/lib/python$(PYVER)/vendor-packages/astroid/tests/testdata/python3/data/lmfp/__init__.py
+file path=usr/lib/python$(PYVER)/vendor-packages/astroid/tests/testdata/python3/data/lmfp/foo.py
+file path=usr/lib/python$(PYVER)/vendor-packages/astroid/tests/testdata/python3/data/module.py
+file path=usr/lib/python$(PYVER)/vendor-packages/astroid/tests/testdata/python3/data/module1abs/__init__.py
+file path=usr/lib/python$(PYVER)/vendor-packages/astroid/tests/testdata/python3/data/module1abs/core.py
+file path=usr/lib/python$(PYVER)/vendor-packages/astroid/tests/testdata/python3/data/module2.py
+file path=usr/lib/python$(PYVER)/vendor-packages/astroid/tests/testdata/python3/data/noendingnewline.py
+file path=usr/lib/python$(PYVER)/vendor-packages/astroid/tests/testdata/python3/data/nonregr.py
+file path=usr/lib/python$(PYVER)/vendor-packages/astroid/tests/testdata/python3/data/notall.py
+file path=usr/lib/python$(PYVER)/vendor-packages/astroid/tests/testdata/python3/data/package/__init__.py
+file path=usr/lib/python$(PYVER)/vendor-packages/astroid/tests/testdata/python3/data/package/absimport.py
+file path=usr/lib/python$(PYVER)/vendor-packages/astroid/tests/testdata/python3/data/package/hello.py
+file path=usr/lib/python$(PYVER)/vendor-packages/astroid/tests/testdata/python3/data/package/import_package_subpackage_module.py
+file path=usr/lib/python$(PYVER)/vendor-packages/astroid/tests/testdata/python3/data/package/subpackage/__init__.py
+file path=usr/lib/python$(PYVER)/vendor-packages/astroid/tests/testdata/python3/data/package/subpackage/module.py
+file path=usr/lib/python$(PYVER)/vendor-packages/astroid/tests/testdata/python3/data/recursion.py
+file path=usr/lib/python$(PYVER)/vendor-packages/astroid/tests/testdata/python3/data/suppliermodule_test.py
+file path=usr/lib/python$(PYVER)/vendor-packages/astroid/tests/testdata/python3/data/unicode_package/__init__.py
+file path=usr/lib/python$(PYVER)/vendor-packages/astroid/tests/testdata/python3/data/unicode_package/core/__init__.py
+file path=usr/lib/python$(PYVER)/vendor-packages/astroid/tests/unittest_brain.py
+file path=usr/lib/python$(PYVER)/vendor-packages/astroid/tests/unittest_builder.py
+file path=usr/lib/python$(PYVER)/vendor-packages/astroid/tests/unittest_inference.py
+file path=usr/lib/python$(PYVER)/vendor-packages/astroid/tests/unittest_inspector.py
+file path=usr/lib/python$(PYVER)/vendor-packages/astroid/tests/unittest_lookup.py
+file path=usr/lib/python$(PYVER)/vendor-packages/astroid/tests/unittest_manager.py
+file path=usr/lib/python$(PYVER)/vendor-packages/astroid/tests/unittest_modutils.py
+file path=usr/lib/python$(PYVER)/vendor-packages/astroid/tests/unittest_nodes.py
+file path=usr/lib/python$(PYVER)/vendor-packages/astroid/tests/unittest_peephole.py
+file path=usr/lib/python$(PYVER)/vendor-packages/astroid/tests/unittest_protocols.py
+file path=usr/lib/python$(PYVER)/vendor-packages/astroid/tests/unittest_python3.py
+file path=usr/lib/python$(PYVER)/vendor-packages/astroid/tests/unittest_raw_building.py
+file path=usr/lib/python$(PYVER)/vendor-packages/astroid/tests/unittest_regrtest.py
+file path=usr/lib/python$(PYVER)/vendor-packages/astroid/tests/unittest_scoped_nodes.py
+file path=usr/lib/python$(PYVER)/vendor-packages/astroid/tests/unittest_utils.py
 file path=usr/lib/python$(PYVER)/vendor-packages/astroid/utils.py
 #
 license astroid.license license=LGPLv2.1
--- a/components/python/logilab-common/Makefile	Wed Nov 18 12:45:08 2015 -0800
+++ b/components/python/logilab-common/Makefile	Wed Nov 18 15:34:37 2015 -0800
@@ -75,14 +75,22 @@
 COMPONENT_TEST_TRANSFORMER =	$(NAWK)
 COMPONENT_TEST_TRANSFORMS = "'/Ran (.+) test cases/{ sub(/in(.+)\)/, \"\"); print }/(.+) modules OK/'"
 
-# Expected failures for test target:
-# 425 test cases, 2 error, 1 failures, 23 skipped
-# 19 modules OK (3 failed)
-# failures: unittest_shellutils [1/23], unittest_date [1/48], unittest_decorators[1/13]
+# This modutils test should expect the logilab module to be found under the
+# standard /usr/lib/python* location when we test installed system bits,
+# the opposite of what it expects when testing built bits in the proto area.
+# Temporarily modify its expected result for system-test,
+# and restore it afterwards.
+COMPONENT_PRE_SYSTEM_TEST_ACTION += \
+	($(MV) $(COMPONENT_SRC)/test/unittest_modutils.py $(COMPONENT_SRC)/test/unittest_modutils.py-orig; \
+	$(GSED) -e "s/self.assertEqual(modutils.is_standard_module('logilab'), False)/self.assertEqual(modutils.is_standard_module('logilab'), True)/" $(COMPONENT_SRC)/test/unittest_modutils.py-orig > $(COMPONENT_SRC)/test/unittest_modutils.py)
+COMPONENT_SYSTEM_TEST_CMD = /usr/bin/pytest-$(PYTHON_VERSION)
+COMPONENT_SYSTEM_TEST_ARGS =
+COMPONENT_POST_SYSTEM_TEST_ACTION += \
+	$(MV) $(COMPONENT_SRC)/test/unittest_modutils.py-orig $(COMPONENT_SRC)/test/unittest_modutils.py
 
 test:	$(TEST_NO_ARCH)
 
-system-test:    $(SYSTEM_TESTS_NOT_IMPLEMENTED)
+system-test:    $(SYSTEM_TEST_NO_ARCH)
 
 REQUIRED_PACKAGES += library/python/pyorbit-27
 REQUIRED_PACKAGES += library/python/six-27
--- a/components/python/logilab-common/test/results-all.master	Wed Nov 18 12:45:08 2015 -0800
+++ b/components/python/logilab-common/test/results-all.master	Wed Nov 18 15:34:37 2015 -0800
@@ -1,2 +1,2 @@
 Ran 425 test cases , 2 errors, 1 failures, 23 skipped
-19 modules OK (2 failed)
+19 modules OK (3 failed)
--- a/components/python/pylint/Makefile	Wed Nov 18 12:45:08 2015 -0800
+++ b/components/python/pylint/Makefile	Wed Nov 18 15:34:37 2015 -0800
@@ -114,13 +114,13 @@
 COMPONENT_TEST_TRANSFORMER =	$(NAWK)
 COMPONENT_TEST_TRANSFORMS = "'/Ran (.+) test cases/{ sub(/in(.+)\)/, \"\"); print }/All (.+) modules OK/'"
 
-# Expected failures for test target:
-# 437 test cases, 19 skipped
-# All 23 modules OK
+
+COMPONENT_SYSTEM_TEST_CMD = /usr/bin/pytest-$(PYTHON_VERSION)
+COMPONENT_SYSTEM_TEST_ARGS =
 
 test:		$(TEST_NO_ARCH)
 
-system-test:    $(SYSTEM_TESTS_NOT_IMPLEMENTED)
+system-test:    $(SYSTEM_TEST_NO_ARCH)
 
 REQUIRED_PACKAGES += library/python/logilab-common-27
 REQUIRED_PACKAGES += library/python/astroid-27
--- a/doc/packaging.txt	Wed Nov 18 12:45:08 2015 -0800
+++ b/doc/packaging.txt	Wed Nov 18 15:34:37 2015 -0800
@@ -170,6 +170,20 @@
     Once manifest validation has occurred, the package(s) is/are finally
     published to the workspace package repository.
 
+Facets
+    Many facets are automatically set by default via transforms 
+    in $(WS_TOPS)/transforms, such as facet.doc.*, facet.devel, etc.
+
+    optional.test
+
+    In most cases, we do not include files in the package manifest
+    if they are used exclusively for testing that component.
+    If we do include component test files, they should be tagged
+    with the facet optional.test=true.  There is no default transform
+    for such files, since they do not follow a naming pattern.
+    See the components python/python-3{4,5}, mailman, or 
+    python/astroid for examples.
+
 Renames
 
     Renames in IPS are tricky.  We will use a case study to illustrate how