import os
import pytest
from tests.integration_tests.validation.validation_util import get_test_data


CONFORMANCE_SUITE = 'tests/resources/conformance_suites/table-linkbase-conf-2015-08-12.zip/table-linkbase-conf-2015-08-12/conf'
ARGS = [
    '--file', os.path.abspath(os.path.join(CONFORMANCE_SUITE, 'testcases-index.xml')),
    '--formula', 'run',
    '--keepOpen',
    '--testcaseResultsCaptureWarnings',
    '--validate'
]

if os.getenv('CONFORMANCE_SUITES_TEST_MODE') == 'OFFLINE':
    ARGS.extend(['--internetConnectivity', 'offline'])

EXPECTED_FAILURE_IDS = frozenset([
    '0144-table-filter-arc/0144-table-filter-arc-testcase.xml/v-03',
    '0144-table-filter-arc/0144-table-filter-arc-testcase.xml/v-04',
    '0144-table-filter-arc/0144-table-filter-arc-testcase.xml/v-05',
    '0150-breakdown-without-aspects/0150-breakdown-without-aspects-testcase.xml/v-04',
    '0150-breakdown-without-aspects/0150-breakdown-without-aspects-testcase.xml/v-04i',
    '0160-non-participating-aspects/0160-non-participating-aspects-testcase.xml/v-03',
    '0170-parent-child-order/0170-parent-child-order-testcase.xml/v-01',
    '0200-table-parameters/0200-table-parameters-testcase.xml/v-02i',
    '1000-rule-node/1000-rule-node-testcase.xml/v-03',
    '1000-rule-node/1000-rule-node-testcase.xml/v-03i',
    '1000-rule-node/1000-rule-node-testcase.xml/v-04',
    '1000-rule-node/1000-rule-node-testcase.xml/v-04i',
    '1000-rule-node/1000-rule-node-testcase.xml/v-05',
    '1000-rule-node/1000-rule-node-testcase.xml/v-06',
    '1000-rule-node/1000-rule-node-testcase.xml/v-07',
    '1000-rule-node/1000-rule-node-testcase.xml/v-07i',
    '1000-rule-node/1000-rule-node-testcase.xml/v-07n',
    '1000-rule-node/1000-rule-node-testcase.xml/v-07ni',
    '1000-rule-node/1000-rule-node-testcase.xml/v-08',
    '1010-rule-node-concept-rule/1010-rule-node-concept-rule-testcase.xml/v-05',
    '1020-rule-node-explicit-dimension-rule/1020-rule-node-explicit-dimension-rule-testcase.xml/v-01',
    '1020-rule-node-explicit-dimension-rule/1020-rule-node-explicit-dimension-rule-testcase.xml/v-01i',
    '1020-rule-node-explicit-dimension-rule/1020-rule-node-explicit-dimension-rule-testcase.xml/v-02',
    '1020-rule-node-explicit-dimension-rule/1020-rule-node-explicit-dimension-rule-testcase.xml/v-02i',
    '1020-rule-node-explicit-dimension-rule/1020-rule-node-explicit-dimension-rule-testcase.xml/v-03',
    '1020-rule-node-explicit-dimension-rule/1020-rule-node-explicit-dimension-rule-testcase.xml/v-04',
    '1020-rule-node-explicit-dimension-rule/1020-rule-node-explicit-dimension-rule-testcase.xml/v-04i',
    '1020-rule-node-explicit-dimension-rule/1020-rule-node-explicit-dimension-rule-testcase.xml/v-06',
    '1020-rule-node-explicit-dimension-rule/1020-rule-node-explicit-dimension-rule-testcase.xml/v-06i',
    '1020-rule-node-explicit-dimension-rule/1020-rule-node-explicit-dimension-rule-testcase.xml/v-07',
    '1020-rule-node-explicit-dimension-rule/1020-rule-node-explicit-dimension-rule-testcase.xml/v-07i',
    '1030-rule-node-typed-dimension-rule/1030-rule-node-typed-dimension-rule-testcase.xml/v-01',
    '1030-rule-node-typed-dimension-rule/1030-rule-node-typed-dimension-rule-testcase.xml/v-01i',
    '1030-rule-node-typed-dimension-rule/1030-rule-node-typed-dimension-rule-testcase.xml/v-02',
    '1030-rule-node-typed-dimension-rule/1030-rule-node-typed-dimension-rule-testcase.xml/v-02i',
    '1030-rule-node-typed-dimension-rule/1030-rule-node-typed-dimension-rule-testcase.xml/v-03',
    '1030-rule-node-typed-dimension-rule/1030-rule-node-typed-dimension-rule-testcase.xml/v-03i',
    '1040-rule-node-period-rule/1040-rule-node-period-rule-testcase.xml/v-01',
    '1040-rule-node-period-rule/1040-rule-node-period-rule-testcase.xml/v-01i',
    '1040-rule-node-period-rule/1040-rule-node-period-rule-testcase.xml/v-02',
    '1040-rule-node-period-rule/1040-rule-node-period-rule-testcase.xml/v-02i',
    '1040-rule-node-period-rule/1040-rule-node-period-rule-testcase.xml/v-03',
    '1040-rule-node-period-rule/1040-rule-node-period-rule-testcase.xml/v-03i',
    '1040-rule-node-period-rule/1040-rule-node-period-rule-testcase.xml/v-04',
    '1050-rule-node-entity-rule/1050-rule-node-entity-rule-testcase.xml/v-01',
    '1050-rule-node-entity-rule/1050-rule-node-entity-rule-testcase.xml/v-01i',
    '1060-rule-node-unit-rule/1060-rule-node-unit-rule-testcase.xml/v-01',
    '1060-rule-node-unit-rule/1060-rule-node-unit-rule-testcase.xml/v-01i',
    '1070-rule-node-occ-rule/1070-rule-node-occ-rule-testcase.xml/v-01',
    '1070-rule-node-occ-rule/1070-rule-node-occ-rule-testcase.xml/v-01i',
    '1070-rule-node-occ-rule/1070-rule-node-occ-rule-testcase.xml/v-02',
    '1070-rule-node-occ-rule/1070-rule-node-occ-rule-testcase.xml/v-02i',
    '1070-rule-node-occ-rule/1070-rule-node-occ-rule-testcase.xml/v-03i',
    '1070-rule-node-occ-rule/1070-rule-node-occ-rule-testcase.xml/v-04i',
    '1070-rule-node-occ-rule/1070-rule-node-occ-rule-testcase.xml/v-05',
    '1070-rule-node-occ-rule/1070-rule-node-occ-rule-testcase.xml/v-05i',
    '1070-rule-node-occ-rule/1070-rule-node-occ-rule-testcase.xml/v-06',
    '1070-rule-node-occ-rule/1070-rule-node-occ-rule-testcase.xml/v-06i',
    '1070-rule-node-occ-rule/1070-rule-node-occ-rule-testcase.xml/v-07',
    '1070-rule-node-occ-rule/1070-rule-node-occ-rule-testcase.xml/v-07i',
    '1100-abstract-rule-node/1100-abstract-rule-node-testcase.xml/v-01',
    '1100-abstract-rule-node/1100-abstract-rule-node-testcase.xml/v-01i',
    '1200-merged-rule-node/1200-merged-rule-node-testcase.xml/v-01',
    '1200-merged-rule-node/1200-merged-rule-node-testcase.xml/v-01i',
    '1200-merged-rule-node/1200-merged-rule-node-testcase.xml/v-02',
    '1200-merged-rule-node/1200-merged-rule-node-testcase.xml/v-02i',
    '1200-merged-rule-node/1200-merged-rule-node-testcase.xml/v-03',
    '1200-merged-rule-node/1200-merged-rule-node-testcase.xml/v-03i',
    '1200-merged-rule-node/1200-merged-rule-node-testcase.xml/v-04',
    '1200-merged-rule-node/1200-merged-rule-node-testcase.xml/v-04i',
    '1200-merged-rule-node/1200-merged-rule-node-testcase.xml/v-05',
    '1200-merged-rule-node/1200-merged-rule-node-testcase.xml/v-05i',
    '1200-merged-rule-node/1200-merged-rule-node-testcase.xml/v-09',
    '1200-merged-rule-node/1200-merged-rule-node-testcase.xml/v-09i',
    '1200-merged-rule-node/1200-merged-rule-node-testcase.xml/v-10',
    '1200-merged-rule-node/1200-merged-rule-node-testcase.xml/v-10i',
    '1200-merged-rule-node/1200-merged-rule-node-testcase.xml/v-11',
    '1200-merged-rule-node/1200-merged-rule-node-testcase.xml/v-11i',
    '1200-merged-rule-node/1200-merged-rule-node-testcase.xml/v-12',
    '1200-merged-rule-node/1200-merged-rule-node-testcase.xml/v-12i',
    '1300-rule-node-rule-sets/1300-rule-node-rule-sets-testcase.xml/v-01',
    '1300-rule-node-rule-sets/1300-rule-node-rule-sets-testcase.xml/v-01i',
    '1300-rule-node-rule-sets/1300-rule-node-rule-sets-testcase.xml/v-06',
    '1300-rule-node-rule-sets/1300-rule-node-rule-sets-testcase.xml/v-06i',
    '1300-rule-node-rule-sets/1300-rule-node-rule-sets-testcase.xml/v-07',
    '1300-rule-node-rule-sets/1300-rule-node-rule-sets-testcase.xml/v-07i',
    '1300-rule-node-rule-sets/1300-rule-node-rule-sets-testcase.xml/v-08',
    '1300-rule-node-rule-sets/1300-rule-node-rule-sets-testcase.xml/v-08i',
    '1300-rule-node-rule-sets/1300-rule-node-rule-sets-testcase.xml/v-09',
    '1300-rule-node-rule-sets/1300-rule-node-rule-sets-testcase.xml/v-10',
    '3100-concept-relationship-node/3100-concept-relationship-node-testcase.xml/v-01',
    '3100-concept-relationship-node/3100-concept-relationship-node-testcase.xml/v-02',
    '3110-concept-relationship-node-relationship-source/3110-concept-relationship-node-relationship-source-testcase.xml/v-01',
    '3110-concept-relationship-node-relationship-source/3110-concept-relationship-node-relationship-source-testcase.xml/v-01i',
    '3110-concept-relationship-node-relationship-source/3110-concept-relationship-node-relationship-source-testcase.xml/v-02',
    '3110-concept-relationship-node-relationship-source/3110-concept-relationship-node-relationship-source-testcase.xml/v-02i',
    '3110-concept-relationship-node-relationship-source/3110-concept-relationship-node-relationship-source-testcase.xml/v-03',
    '3110-concept-relationship-node-relationship-source/3110-concept-relationship-node-relationship-source-testcase.xml/v-03i',
    '3110-concept-relationship-node-relationship-source/3110-concept-relationship-node-relationship-source-testcase.xml/v-04',
    '3110-concept-relationship-node-relationship-source/3110-concept-relationship-node-relationship-source-testcase.xml/v-04i',
    '3110-concept-relationship-node-relationship-source/3110-concept-relationship-node-relationship-source-testcase.xml/v-06',
    '3110-concept-relationship-node-relationship-source/3110-concept-relationship-node-relationship-source-testcase.xml/v-07',
    '3110-concept-relationship-node-relationship-source/3110-concept-relationship-node-relationship-source-testcase.xml/v-08',
    '3110-concept-relationship-node-relationship-source/3110-concept-relationship-node-relationship-source-testcase.xml/v-08i',
    '3110-concept-relationship-node-relationship-source/3110-concept-relationship-node-relationship-source-testcase.xml/v-09',
    '3110-concept-relationship-node-relationship-source/3110-concept-relationship-node-relationship-source-testcase.xml/v-09i',
    '3120-concept-relationship-node-linkrole/3120-concept-relationship-node-linkrole-testcase.xml/v-01',
    '3120-concept-relationship-node-linkrole/3120-concept-relationship-node-linkrole-testcase.xml/v-01i',
    '3120-concept-relationship-node-linkrole/3120-concept-relationship-node-linkrole-testcase.xml/v-02',
    '3120-concept-relationship-node-linkrole/3120-concept-relationship-node-linkrole-testcase.xml/v-03',
    '3120-concept-relationship-node-linkrole/3120-concept-relationship-node-linkrole-testcase.xml/v-04',
    '3120-concept-relationship-node-linkrole/3120-concept-relationship-node-linkrole-testcase.xml/v-05',
    '3120-concept-relationship-node-linkrole/3120-concept-relationship-node-linkrole-testcase.xml/v-06',
    '3130-concept-relationship-node-arcrole/3130-concept-relationship-node-arcrole-testcase.xml/v-01',
    '3130-concept-relationship-node-arcrole/3130-concept-relationship-node-arcrole-testcase.xml/v-01i',
    '3130-concept-relationship-node-arcrole/3130-concept-relationship-node-arcrole-testcase.xml/v-02',
    '3130-concept-relationship-node-arcrole/3130-concept-relationship-node-arcrole-testcase.xml/v-02i',
    '3130-concept-relationship-node-arcrole/3130-concept-relationship-node-arcrole-testcase.xml/v-03',
    '3130-concept-relationship-node-arcrole/3130-concept-relationship-node-arcrole-testcase.xml/v-03i',
    '3130-concept-relationship-node-arcrole/3130-concept-relationship-node-arcrole-testcase.xml/v-04',
    '3130-concept-relationship-node-arcrole/3130-concept-relationship-node-arcrole-testcase.xml/v-05',
    '3130-concept-relationship-node-arcrole/3130-concept-relationship-node-arcrole-testcase.xml/v-06',
    '3130-concept-relationship-node-arcrole/3130-concept-relationship-node-arcrole-testcase.xml/v-07',
    '3140-concept-relationship-node-linkname/3140-concept-relationship-node-linkname-testcase.xml/v-01',
    '3140-concept-relationship-node-linkname/3140-concept-relationship-node-linkname-testcase.xml/v-01i',
    '3140-concept-relationship-node-linkname/3140-concept-relationship-node-linkname-testcase.xml/v-02',
    '3140-concept-relationship-node-linkname/3140-concept-relationship-node-linkname-testcase.xml/v-02i',
    '3140-concept-relationship-node-linkname/3140-concept-relationship-node-linkname-testcase.xml/v-03',
    '3140-concept-relationship-node-linkname/3140-concept-relationship-node-linkname-testcase.xml/v-03i',
    '3140-concept-relationship-node-linkname/3140-concept-relationship-node-linkname-testcase.xml/v-04',
    '3140-concept-relationship-node-linkname/3140-concept-relationship-node-linkname-testcase.xml/v-05',
    '3150-concept-relationship-node-arcname/3150-concept-relationship-node-arcname-testcase.xml/v-01',
    '3150-concept-relationship-node-arcname/3150-concept-relationship-node-arcname-testcase.xml/v-01i',
    '3150-concept-relationship-node-arcname/3150-concept-relationship-node-arcname-testcase.xml/v-02',
    '3150-concept-relationship-node-arcname/3150-concept-relationship-node-arcname-testcase.xml/v-02i',
    '3150-concept-relationship-node-arcname/3150-concept-relationship-node-arcname-testcase.xml/v-03',
    '3150-concept-relationship-node-arcname/3150-concept-relationship-node-arcname-testcase.xml/v-03i',
    '3150-concept-relationship-node-arcname/3150-concept-relationship-node-arcname-testcase.xml/v-04',
    '3150-concept-relationship-node-arcname/3150-concept-relationship-node-arcname-testcase.xml/v-05',
    '3160-concept-relationship-node-formula-axis/3160-concept-relationship-node-formula-axis-testcase.xml/v-01',
    '3160-concept-relationship-node-formula-axis/3160-concept-relationship-node-formula-axis-testcase.xml/v-01i',
    '3160-concept-relationship-node-formula-axis/3160-concept-relationship-node-formula-axis-testcase.xml/v-02',
    '3160-concept-relationship-node-formula-axis/3160-concept-relationship-node-formula-axis-testcase.xml/v-02i',
    '3160-concept-relationship-node-formula-axis/3160-concept-relationship-node-formula-axis-testcase.xml/v-03',
    '3160-concept-relationship-node-formula-axis/3160-concept-relationship-node-formula-axis-testcase.xml/v-03i',
    '3160-concept-relationship-node-formula-axis/3160-concept-relationship-node-formula-axis-testcase.xml/v-04',
    '3160-concept-relationship-node-formula-axis/3160-concept-relationship-node-formula-axis-testcase.xml/v-04i',
    '3160-concept-relationship-node-formula-axis/3160-concept-relationship-node-formula-axis-testcase.xml/v-05',
    '3160-concept-relationship-node-formula-axis/3160-concept-relationship-node-formula-axis-testcase.xml/v-05i',
    '3160-concept-relationship-node-formula-axis/3160-concept-relationship-node-formula-axis-testcase.xml/v-06',
    '3160-concept-relationship-node-formula-axis/3160-concept-relationship-node-formula-axis-testcase.xml/v-06i',
    '3160-concept-relationship-node-formula-axis/3160-concept-relationship-node-formula-axis-testcase.xml/v-07',
    '3160-concept-relationship-node-formula-axis/3160-concept-relationship-node-formula-axis-testcase.xml/v-07i',
    '3160-concept-relationship-node-formula-axis/3160-concept-relationship-node-formula-axis-testcase.xml/v-08',
    '3160-concept-relationship-node-formula-axis/3160-concept-relationship-node-formula-axis-testcase.xml/v-08i',
    '3160-concept-relationship-node-formula-axis/3160-concept-relationship-node-formula-axis-testcase.xml/v-08a',
    '3160-concept-relationship-node-formula-axis/3160-concept-relationship-node-formula-axis-testcase.xml/v-08ai',
    '3160-concept-relationship-node-formula-axis/3160-concept-relationship-node-formula-axis-testcase.xml/v-09',
    '3160-concept-relationship-node-formula-axis/3160-concept-relationship-node-formula-axis-testcase.xml/v-09i',
    '3160-concept-relationship-node-formula-axis/3160-concept-relationship-node-formula-axis-testcase.xml/v-10',
    '3160-concept-relationship-node-formula-axis/3160-concept-relationship-node-formula-axis-testcase.xml/v-10i',
    '3160-concept-relationship-node-formula-axis/3160-concept-relationship-node-formula-axis-testcase.xml/v-11',
    '3160-concept-relationship-node-formula-axis/3160-concept-relationship-node-formula-axis-testcase.xml/v-11i',
    '3160-concept-relationship-node-formula-axis/3160-concept-relationship-node-formula-axis-testcase.xml/v-12',
    '3160-concept-relationship-node-formula-axis/3160-concept-relationship-node-formula-axis-testcase.xml/v-12i',
    '3160-concept-relationship-node-formula-axis/3160-concept-relationship-node-formula-axis-testcase.xml/v-13',
    '3160-concept-relationship-node-formula-axis/3160-concept-relationship-node-formula-axis-testcase.xml/v-14',
    '3160-concept-relationship-node-formula-axis/3160-concept-relationship-node-formula-axis-testcase.xml/v-15',
    '3160-concept-relationship-node-formula-axis/3160-concept-relationship-node-formula-axis-testcase.xml/v-15i',
    '3160-concept-relationship-node-formula-axis/3160-concept-relationship-node-formula-axis-testcase.xml/v-16',
    '3160-concept-relationship-node-formula-axis/3160-concept-relationship-node-formula-axis-testcase.xml/v-17',
    '3170-concept-relationship-node-generations/3170-concept-relationship-node-generations-testcase.xml/v-01',
    '3170-concept-relationship-node-generations/3170-concept-relationship-node-generations-testcase.xml/v-01i',
    '3170-concept-relationship-node-generations/3170-concept-relationship-node-generations-testcase.xml/v-02',
    '3170-concept-relationship-node-generations/3170-concept-relationship-node-generations-testcase.xml/v-02i',
    '3170-concept-relationship-node-generations/3170-concept-relationship-node-generations-testcase.xml/v-03',
    '3170-concept-relationship-node-generations/3170-concept-relationship-node-generations-testcase.xml/v-03i',
    '3170-concept-relationship-node-generations/3170-concept-relationship-node-generations-testcase.xml/v-04',
    '3170-concept-relationship-node-generations/3170-concept-relationship-node-generations-testcase.xml/v-05',
    '3170-concept-relationship-node-generations/3170-concept-relationship-node-generations-testcase.xml/v-05i',
    '3170-concept-relationship-node-generations/3170-concept-relationship-node-generations-testcase.xml/v-06',
    '3170-concept-relationship-node-generations/3170-concept-relationship-node-generations-testcase.xml/v-07',
    '3170-concept-relationship-node-generations/3170-concept-relationship-node-generations-testcase.xml/v-08',
    '3180-concept-relationship-node-tag-selectors/3180-concept-relationship-node-tag-selectors-testcase.xml/v-01',
    '3180-concept-relationship-node-tag-selectors/3180-concept-relationship-node-tag-selectors-testcase.xml/v-02',
    '3180-concept-relationship-node-tag-selectors/3180-concept-relationship-node-tag-selectors-testcase.xml/v-03',
    '3200-dimension-relationship-node/3200-dimension-relationship-node-testcase.xml/v-01',
    '3200-dimension-relationship-node/3200-dimension-relationship-node-testcase.xml/v-01i',
    '3200-dimension-relationship-node/3200-dimension-relationship-node-testcase.xml/v-02',
    '3200-dimension-relationship-node/3200-dimension-relationship-node-testcase.xml/v-03',
    '3200-dimension-relationship-node/3200-dimension-relationship-node-testcase.xml/v-03i',
    '3200-dimension-relationship-node/3200-dimension-relationship-node-testcase.xml/v-04',
    '3210-dimension-relationship-node-relationship-source/3210-dimension-relationship-node-relationship-source-testcase.xml/v-01',
    '3210-dimension-relationship-node-relationship-source/3210-dimension-relationship-node-relationship-source-testcase.xml/v-01i',
    '3210-dimension-relationship-node-relationship-source/3210-dimension-relationship-node-relationship-source-testcase.xml/v-02',
    '3210-dimension-relationship-node-relationship-source/3210-dimension-relationship-node-relationship-source-testcase.xml/v-02i',
    '3210-dimension-relationship-node-relationship-source/3210-dimension-relationship-node-relationship-source-testcase.xml/v-03',
    '3210-dimension-relationship-node-relationship-source/3210-dimension-relationship-node-relationship-source-testcase.xml/v-03i',
    '3210-dimension-relationship-node-relationship-source/3210-dimension-relationship-node-relationship-source-testcase.xml/v-08',
    '3210-dimension-relationship-node-relationship-source/3210-dimension-relationship-node-relationship-source-testcase.xml/v-08i',
    '3210-dimension-relationship-node-relationship-source/3210-dimension-relationship-node-relationship-source-testcase.xml/v-09',
    '3210-dimension-relationship-node-relationship-source/3210-dimension-relationship-node-relationship-source-testcase.xml/v-09i',
    '3210-dimension-relationship-node-relationship-source/3210-dimension-relationship-node-relationship-source-testcase.xml/v-10',
    '3210-dimension-relationship-node-relationship-source/3210-dimension-relationship-node-relationship-source-testcase.xml/v-11',
    '3220-dimension-relationship-node-linkrole/3220-dimension-relationship-node-linkrole-testcase.xml/v-01',
    '3220-dimension-relationship-node-linkrole/3220-dimension-relationship-node-linkrole-testcase.xml/v-01i',
    '3220-dimension-relationship-node-linkrole/3220-dimension-relationship-node-linkrole-testcase.xml/v-02',
    '3220-dimension-relationship-node-linkrole/3220-dimension-relationship-node-linkrole-testcase.xml/v-02i',
    '3220-dimension-relationship-node-linkrole/3220-dimension-relationship-node-linkrole-testcase.xml/v-03',
    '3220-dimension-relationship-node-linkrole/3220-dimension-relationship-node-linkrole-testcase.xml/v-04',
    '3220-dimension-relationship-node-linkrole/3220-dimension-relationship-node-linkrole-testcase.xml/v-05',
    '3220-dimension-relationship-node-linkrole/3220-dimension-relationship-node-linkrole-testcase.xml/v-06',
    '3220-dimension-relationship-node-linkrole/3220-dimension-relationship-node-linkrole-testcase.xml/v-07',
    '3240-dimension-relationship-node-formula-axis/3240-dimension-relationship-node-formula-axis-testcase.xml/v-01',
    '3240-dimension-relationship-node-formula-axis/3240-dimension-relationship-node-formula-axis-testcase.xml/v-01i',
    '3240-dimension-relationship-node-formula-axis/3240-dimension-relationship-node-formula-axis-testcase.xml/v-02',
    '3240-dimension-relationship-node-formula-axis/3240-dimension-relationship-node-formula-axis-testcase.xml/v-02i',
    '3240-dimension-relationship-node-formula-axis/3240-dimension-relationship-node-formula-axis-testcase.xml/v-03',
    '3240-dimension-relationship-node-formula-axis/3240-dimension-relationship-node-formula-axis-testcase.xml/v-03i',
    '3240-dimension-relationship-node-formula-axis/3240-dimension-relationship-node-formula-axis-testcase.xml/v-04',
    '3240-dimension-relationship-node-formula-axis/3240-dimension-relationship-node-formula-axis-testcase.xml/v-04i',
    '3240-dimension-relationship-node-formula-axis/3240-dimension-relationship-node-formula-axis-testcase.xml/v-05',
    '3240-dimension-relationship-node-formula-axis/3240-dimension-relationship-node-formula-axis-testcase.xml/v-05i',
    '3240-dimension-relationship-node-formula-axis/3240-dimension-relationship-node-formula-axis-testcase.xml/v-06',
    '3240-dimension-relationship-node-formula-axis/3240-dimension-relationship-node-formula-axis-testcase.xml/v-06i',
    '3240-dimension-relationship-node-formula-axis/3240-dimension-relationship-node-formula-axis-testcase.xml/v-07',
    '3240-dimension-relationship-node-formula-axis/3240-dimension-relationship-node-formula-axis-testcase.xml/v-08',
    '3250-dimension-relationship-node-generations/3250-dimension-relationship-node-generations-testcase.xml/v-01',
    '3250-dimension-relationship-node-generations/3250-dimension-relationship-node-generations-testcase.xml/v-01i',
    '3250-dimension-relationship-node-generations/3250-dimension-relationship-node-generations-testcase.xml/v-02',
    '3250-dimension-relationship-node-generations/3250-dimension-relationship-node-generations-testcase.xml/v-02i',
    '3250-dimension-relationship-node-generations/3250-dimension-relationship-node-generations-testcase.xml/v-03',
    '3250-dimension-relationship-node-generations/3250-dimension-relationship-node-generations-testcase.xml/v-03i',
    '3250-dimension-relationship-node-generations/3250-dimension-relationship-node-generations-testcase.xml/v-04',
    '3250-dimension-relationship-node-generations/3250-dimension-relationship-node-generations-testcase.xml/v-05',
    '3250-dimension-relationship-node-generations/3250-dimension-relationship-node-generations-testcase.xml/v-05i',
    '3250-dimension-relationship-node-generations/3250-dimension-relationship-node-generations-testcase.xml/v-06',
    '3250-dimension-relationship-node-generations/3250-dimension-relationship-node-generations-testcase.xml/v-07',
    '3250-dimension-relationship-node-generations/3250-dimension-relationship-node-generations-testcase.xml/v-08',
    '6000-aspect-node/6000-aspect-node-testcase.xml/v-01',
    '6000-aspect-node/6000-aspect-node-testcase.xml/v-02',
    '6000-aspect-node/6000-aspect-node-testcase.xml/v-03',
    '6000-aspect-node/6000-aspect-node-testcase.xml/v-04',
    '6100-concept-aspect-node/6100-concept-aspect-node-testcase.xml/v-01',
    '6100-concept-aspect-node/6100-concept-aspect-node-testcase.xml/v-01i',
    '6200-period-aspect-node/6200-period-aspect-node-testcase.xml/v-01',
    '6200-period-aspect-node/6200-period-aspect-node-testcase.xml/v-01i',
    '6300-entity-identifier-aspect-node/6300-entity-identifier-aspect-node-testcase.xml/v-01',
    '6300-entity-identifier-aspect-node/6300-entity-identifier-aspect-node-testcase.xml/v-01i',
    '6400-unit-aspect-node/6400-unit-aspect-node-testcase.xml/v-01',
    '6400-unit-aspect-node/6400-unit-aspect-node-testcase.xml/v-01i',
    '6500-dimension-aspect-node/6500-dimension-aspect-node-testcase.xml/v-01',
    '6500-dimension-aspect-node/6500-dimension-aspect-node-testcase.xml/v-01i',
    '6500-dimension-aspect-node/6500-dimension-aspect-node-testcase.xml/v-02',
    '6500-dimension-aspect-node/6500-dimension-aspect-node-testcase.xml/v-02i',
    '6500-dimension-aspect-node/6500-dimension-aspect-node-testcase.xml/v-03',
    '6500-dimension-aspect-node/6500-dimension-aspect-node-testcase.xml/v-03i',
    '6500-dimension-aspect-node/6500-dimension-aspect-node-testcase.xml/v-05',
    '6500-dimension-aspect-node/6500-dimension-aspect-node-testcase.xml/v-06',
    '6600-aspect-node-concept-filter/6600-aspect-node-concept-filter-testcase.xml/v-01',
    '6600-aspect-node-concept-filter/6600-aspect-node-concept-filter-testcase.xml/v-02',
    '6610-aspect-node-period-filter/6610-aspect-node-period-filter-testcase.xml/v-01',
    '6610-aspect-node-period-filter/6610-aspect-node-period-filter-testcase.xml/v-02',
    '6610-aspect-node-period-filter/6610-aspect-node-period-filter-testcase.xml/v-03',
    '6610-aspect-node-period-filter/6610-aspect-node-period-filter-testcase.xml/v-04',
    '6610-aspect-node-period-filter/6610-aspect-node-period-filter-testcase.xml/v-05',
    '6610-aspect-node-period-filter/6610-aspect-node-period-filter-testcase.xml/v-06',
    '6620-aspect-node-entity-filter/6620-aspect-node-entity-filter-testcase.xml/v-01',
    '6620-aspect-node-entity-filter/6620-aspect-node-entity-filter-testcase.xml/v-02',
    '6630-aspect-node-unit-filter/6630-aspect-node-unit-filter-testcase.xml/v-01',
    '6630-aspect-node-unit-filter/6630-aspect-node-unit-filter-testcase.xml/v-02',
    '6630-aspect-node-unit-filter/6630-aspect-node-unit-filter-testcase.xml/v-03',
    '6640-aspect-node-explicit-dimension-filter/6640-aspect-node-explicit-dimension-filter-testcase.xml/v-01',
    '6640-aspect-node-explicit-dimension-filter/6640-aspect-node-explicit-dimension-filter-testcase.xml/v-02',
    '6640-aspect-node-explicit-dimension-filter/6640-aspect-node-explicit-dimension-filter-testcase.xml/v-03',
    '6650-aspect-node-typed-dimension-filter/6650-aspect-node-typed-dimension-filter-testcase.xml/v-01',
    '6650-aspect-node-typed-dimension-filter/6650-aspect-node-typed-dimension-filter-testcase.xml/v-02',
    '6650-aspect-node-typed-dimension-filter/6650-aspect-node-typed-dimension-filter-testcase.xml/v-03',
    '6650-aspect-node-typed-dimension-filter/6650-aspect-node-typed-dimension-filter-testcase.xml/v-04',
    '6650-aspect-node-typed-dimension-filter/6650-aspect-node-typed-dimension-filter-testcase.xml/v-04i',
    '6660-aspect-node-aspect-cover-filter/6660-aspect-node-aspect-cover-filter-testcase.xml/v-01',
])

TEST_DATA = get_test_data(ARGS, expected_failure_ids=EXPECTED_FAILURE_IDS)


@pytest.mark.parametrize("result", TEST_DATA)
def test_xbrl_table_linkbase_conformance_suite(result):
    """
    Test the XBRL Table Linkbase Conformance Suite
    """
    assert result.get('status') == 'pass', \
        'Expected these validation suffixes: {}, but received these validations: {}'.format(
            result.get('expected'), result.get('actual')
        )
