• Bug#1060986: mrcal: FTBFS: make[2]: *** [Makefile.tests:85: test-nosamp

    From Lucas Nussbaum@21:1/5 to All on Tue Jan 16 21:00:23 2024
    Source: mrcal
    Version: 2.3-4
    Severity: serious
    Justification: FTBFS
    Tags: trixie sid ftbfs
    User: lucas@debian.org
    Usertags: ftbfs-20240115 ftbfs-trixie

    Hi,

    During a rebuild of all packages in sid, your package failed to build
    on amd64.


    Relevant part (hopefully):
    make[2]: Entering directory '/<<PKGBUILDDIR>>'
    ========== RUNNING: test/test-pywrap-functions.py test-pywrap-functions.py:21: OK: knots_for_splined_models ux test-pywrap-functions.py:24: OK: knots_for_splined_models uy test-pywrap-functions.py:39: OK: lensmodel_metadata_and_config() keys test-pywrap-functions.py:42: All tests passed: 3 total
    ========== RUNNING: test/test-pylib-projections.py test-pylib-projections.py:22: OK: scale_focal__best_pinhole_fit test-pylib-projections.py:77: OK: scale_focal__best_pinhole_fit test-pylib-projections.py:86: OK: scale_focal__best_pinhole_fit test-pylib-projections.py:95: OK: scale_focal__best_pinhole_fit test-pylib-projections.py:106: OK: scale_focal__best_pinhole_fit test-pylib-projections.py:109: All tests passed: 5 total
    ========== RUNNING: test/test-poseutils.py
    test-poseutils.py:53: OK: Procrustes fit R
    test-poseutils.py:54: OK: Procrustes fit t
    test-poseutils.py:59: OK: Procrustes fit R (vectors)
    test-poseutils.py:62: OK: Rt/rt and invert
    test-poseutils.py:65: OK: compose_Rt
    test-poseutils.py:69: OK: compose_rt
    test-poseutils.py:73: OK: compose_r
    test-poseutils.py:78: OK: identity_Rt
    test-poseutils.py:82: OK: identity_rt
    test-poseutils.py:86: OK: transform_point_Rt
    test-poseutils.py:90: OK: transform_point_rt
    test-poseutils.py:94: OK: transform_point_Rt inverse
    test-poseutils.py:98: OK: transform_point_rt inverse
    test-poseutils.py:103: OK: R <-> quaternion transforms are inverses of one another
    test-poseutils.py:111: OK: R <-> quaternion transforms are inverses of one another. Broadcasted
    test-poseutils.py:116: OK: quat_from_R() shape
    test-poseutils.py:119: OK: quat_from_R() shape
    test-poseutils.py:122: OK: quat_from_R() shape
    test-poseutils.py:136: OK: quat_from_R() in-place
    test-poseutils.py:139: OK: quat_from_R() in-place
    test-poseutils.py:142: OK: R_from_quat() in-place
    test-poseutils.py:146: OK: R_from_quat() in-place
    test-poseutils.py:159: OK: qt_from_Rt() in-place
    test-poseutils.py:162: OK: qt_from_Rt() in-place
    test-poseutils.py:165: OK: Rt_from_qt() in-place
    test-poseutils.py:169: OK: Rt_from_qt() in-place
    test-poseutils.py:182: OK: R_from_r() for tiny rotations: th = 1e-12 test-poseutils.py:187: OK: r_from_R() for tiny rotations: th = 1e-12 test-poseutils.py:182: OK: R_from_r() for tiny rotations: th = 1e-11 test-poseutils.py:187: OK: r_from_R() for tiny rotations: th = 1e-11 test-poseutils.py:182: OK: R_from_r() for tiny rotations: th = 1e-10 test-poseutils.py:187: OK: r_from_R() for tiny rotations: th = 1e-10 test-poseutils.py:182: OK: R_from_r() for tiny rotations: th = 1e-09 test-poseutils.py:187: OK: r_from_R() for tiny rotations: th = 1e-09 test-poseutils.py:182: OK: R_from_r() for tiny rotations: th = 1e-08 test-poseutils.py:187: OK: r_from_R() for tiny rotations: th = 1e-08 test-poseutils.py:182: OK: R_from_r() for tiny rotations: th = 1e-07 test-poseutils.py:187: OK: r_from_R() for tiny rotations: th = 1e-07 test-poseutils.py:182: OK: R_from_r() for tiny rotations: th = 1e-06 test-poseutils.py:187: OK: r_from_R() for tiny rotations: th = 1e-06 test-poseutils.py:199: OK: skew_symmetric()
    test-poseutils.py:205: All tests passed: 41 total
    ========== RUNNING: test/test-cameramodel.py
    test-cameramodel.py:44:
    test-cameramodel.py:45:
    test-cameramodel.py:46:
    test-cameramodel.py:52:
    test-cameramodel.py:53:
    test-cameramodel.py:54:
    test-cameramodel.py:57:
    test-cameramodel.py:58:
    test-cameramodel.py:59:
    test-cameramodel.py:64:
    test-cameramodel.py:69: OK: read 'valid_intrinsics_region is None' properly test-cameramodel.py:84: OK: was able to set an open valid_intrinsics_region and to see it be closed
    test-cameramodel.py:88: OK: read 'valid_intrinsics_region' properly test-cameramodel.py:92: OK: was able to set an empty valid_intrinsics_region test-cameramodel.py:96: OK: read empty valid_intrinsics_region properly test-cameramodel.py:123: OK: extra spaces don't confuse the parser test-cameramodel.py:130: All tests passed: 16 total
    ========== RUNNING: test/test-poseutils-lib.py
    test-poseutils-lib.py:219: OK: identity_R
    test-poseutils-lib.py:222: OK: identity_Rt
    test-poseutils-lib.py:225: OK: identity_r
    test-poseutils-lib.py:228: OK: identity_rt
    test-poseutils-lib.py:235: OK: rotate_point_R result test-poseutils-lib.py:245: OK: rotate_point_R result test-poseutils-lib.py:248: OK: rotate_point_R J_R
    test-poseutils-lib.py:251: OK: rotate_point_R J_x
    test-poseutils-lib.py:260: OK: rotate_point_R result written in-place into x test-poseutils-lib.py:267: OK: rotate_point_R(inverted) result test-poseutils-lib.py:278: OK: rotate_point_R(inverted) result test-poseutils-lib.py:281: OK: rotate_point_R(inverted) J_R test-poseutils-lib.py:284: OK: rotate_point_R(inverted) J_x test-poseutils-lib.py:293: OK: rotate_point_R result written in-place into x test-poseutils-lib.py:300: OK: rotate_point_r result test-poseutils-lib.py:310: OK: rotate_point_r result test-poseutils-lib.py:313: OK: rotate_point_r J_r
    test-poseutils-lib.py:316: OK: rotate_point_r J_x
    test-poseutils-lib.py:324: OK: rotate_point_r result written in-place into x test-poseutils-lib.py:334: OK: rotate_point_r (with gradients) result written in-place into x
    test-poseutils-lib.py:337: OK: rotate_point_r (with gradients) result written in-place into x: J_r
    test-poseutils-lib.py:340: OK: rotate_point_r (with gradients) result written in-place into x: J_x
    test-poseutils-lib.py:346: OK: rotate_point_r(inverted) result test-poseutils-lib.py:357: OK: rotate_point_r(inverted) result test-poseutils-lib.py:360: OK: rotate_point_r(inverted) J_r test-poseutils-lib.py:363: OK: rotate_point_r(inverted) J_x test-poseutils-lib.py:372: OK: rotate_point_r(inverted) result written in-place into x
    test-poseutils-lib.py:381: OK: rotate_point_r(inverted, with-gradients) result written in-place into x
    test-poseutils-lib.py:384: OK: rotate_point_r(inverted, with-gradients result written in-place into x) J_r
    test-poseutils-lib.py:387: OK: rotate_point_r(inverted, with-gradients result written in-place into x) J_x
    test-poseutils-lib.py:396: OK: transform_point_Rt result test-poseutils-lib.py:405: OK: transform_point_Rt result test-poseutils-lib.py:408: OK: transform_point_Rt J_Rt test-poseutils-lib.py:411: OK: transform_point_Rt J_x test-poseutils-lib.py:420: OK: transform_point_Rt result written in-place into t
    test-poseutils-lib.py:426: OK: transform_point_Rt result written in-place into x
    test-poseutils-lib.py:435: OK: transform_point_Rt (with gradients) result written in-place into t
    test-poseutils-lib.py:438: OK: transform_point_Rt (with gradients) result written in-place into t: J_Rt
    test-poseutils-lib.py:441: OK: transform_point_Rt (with gradients) result written in-place into t: J_x
    test-poseutils-lib.py:449: OK: transform_point_Rt (with gradients) result written in-place into x
    test-poseutils-lib.py:452: OK: transform_point_Rt (with gradients) result written in-place into x: J_Rt
    test-poseutils-lib.py:455: OK: transform_point_Rt (with gradients) result written in-place into x: J_x
    test-poseutils-lib.py:462: OK: transform_point_Rt(inverted) result test-poseutils-lib.py:472: OK: transform_point_Rt(inverted) result test-poseutils-lib.py:475: OK: transform_point_Rt(inverted) J_Rt test-poseutils-lib.py:478: OK: transform_point_Rt(inverted) J_x test-poseutils-lib.py:488: OK: transform_point_Rt(inverted) result written in-place into t
    test-poseutils-lib.py:495: OK: transform_point_Rt(inverted) result written in-place into x
    test-poseutils-lib.py:505: OK: transform_point_Rt(inverted) (with gradients) result written in-place into t
    test-poseutils-lib.py:508: OK: transform_point_Rt(inverted) (with gradients) result written in-place into t: J_Rt
    test-poseutils-lib.py:511: OK: transform_point_Rt(inverted) (with gradients) result written in-place into t: J_x
    test-poseutils-lib.py:520: OK: transform_point_Rt(inverted) (with gradients) result written in-place into x
    test-poseutils-lib.py:523: OK: transform_point_Rt(inverted) (with gradients) result written in-place into x: J_Rt
    test-poseutils-lib.py:526: OK: transform_point_Rt(inverted) (with gradients) result written in-place into x: J_x
    test-poseutils-lib.py:535: OK: transform_point_rt result test-poseutils-lib.py:545: OK: transform_point_rt result test-poseutils-lib.py:548: OK: transform_point_rt J_rt test-poseutils-lib.py:551: OK: transform_point_rt J_x test-poseutils-lib.py:561: OK: transform_point_rt result written in-place into t
    test-poseutils-lib.py:568: OK: transform_point_rt result written in-place into x
    test-poseutils-lib.py:578: OK: transform_point_rt (with gradients) result written in-place into t
    test-poseutils-lib.py:581: OK: transform_point_rt (with gradients) result written in-place into t: J_rt
    test-poseutils-lib.py:584: OK: transform_point_rt (with gradients) result written in-place into t: J_x
    test-poseutils-lib.py:593: OK: transform_point_rt (with gradients) result written in-place into x
    test-poseutils-lib.py:596: OK: transform_point_rt (with gradients) result written in-place into x: J_rt
    test-poseutils-lib.py:599: OK: transform_point_rt (with gradients) result written in-place into x: J_x
    test-poseutils-lib.py:605: OK: transform_point_rt(inverted) result test-poseutils-lib.py:616: OK: transform_point_rt(inverted) result test-poseutils-lib.py:619: OK: transform_point_rt(inverted) J_rt test-poseutils-lib.py:622: OK: transform_point_rt(inverted) J_x test-poseutils-lib.py:632: OK: transform_point_rt(inverted) result written in-place into t
    test-poseutils-lib.py:639: OK: transform_point_rt(inverted) result written in-place into x
    test-poseutils-lib.py:649: OK: transform_point_rt(inverted, with gradients) result written in-place into t
    test-poseutils-lib.py:652: OK: transform_point_rt(inverted, with gradients) result written in-place into t: J_rt
    test-poseutils-lib.py:655: OK: transform_point_rt(inverted, with gradients) result written in-place into t: J_x
    test-poseutils-lib.py:664: OK: transform_point_rt(inverted, with gradients) result written in-place into x
    test-poseutils-lib.py:667: OK: transform_point_rt(inverted, with gradients) result written in-place into x: J_rt
    test-poseutils-lib.py:670: OK: transform_point_rt(inverted, with gradients) result written in-place into x: J_x
    test-poseutils-lib.py:679: OK: r_from_R result
    test-poseutils-lib.py:687: OK: r_from_R result
    test-poseutils-lib.py:690: OK: r_from_R J_R
    test-poseutils-lib.py:699: OK: r_from_R result, comparing with cv2.Rodrigues test-poseutils-lib.py:719: OK: r_from_R() can handle numerical fuzz test-poseutils-lib.py:724: OK: R_from_r result
    test-poseutils-lib.py:732: OK: R_from_r result
    test-poseutils-lib.py:735: OK: R_from_r J_r
    test-poseutils-lib.py:741: OK: R_from_r result for tiny r0 test-poseutils-lib.py:749: OK: R_from_r result for tiny r0 test-poseutils-lib.py:752: OK: R_from_r J_r for tiny r0 test-poseutils-lib.py:763: OK: R_from_r result, comparing with cv2.Rodrigues test-poseutils-lib.py:766: OK: R_from_r J_r, comparing with cv2.Rodrigues test-poseutils-lib.py:773: OK: rt_from_Rt result
    test-poseutils-lib.py:781: OK: rt_from_Rt result
    test-poseutils-lib.py:784: OK: rt_from_Rt grad result test-poseutils-lib.py:789: OK: Rt_from_rt result
    test-poseutils-lib.py:797: OK: Rt_from_rt result
    test-poseutils-lib.py:800: OK: Rt_from_rt grad result test-poseutils-lib.py:805: OK: invert_Rt result
    test-poseutils-lib.py:812: OK: invert_Rt result written in-place test-poseutils-lib.py:817: OK: invert_R result
    test-poseutils-lib.py:824: OK: invert_R result written in-place test-poseutils-lib.py:829: OK: invert_rt result
    test-poseutils-lib.py:836: OK: invert_rt result written in-place test-poseutils-lib.py:845: OK: invert_rt with grad result test-poseutils-lib.py:848: OK: invert_rt drt/drt result test-poseutils-lib.py:857: OK: invert_rt with grad result written in-place test-poseutils-lib.py:860: OK: invert_rt with grad drt/drt result written in-place
    test-poseutils-lib.py:866: OK: compose_Rt result
    test-poseutils-lib.py:875: OK: compose_Rt result written in-place to Rt0 test-poseutils-lib.py:882: OK: compose_Rt result written in-place to Rt1 test-poseutils-lib.py:890: OK: compose_rt result
    test-poseutils-lib.py:899: OK: compose_rt result written in-place to rt0 test-poseutils-lib.py:906: OK: compose_rt result written in-place to rt1 test-poseutils-lib.py:911: OK: compose_rt result; calling _compose_rt() directly
    test-poseutils-lib.py:920: OK: compose_rt (calling _compose_rt() directly) written in-place to rt0
    test-poseutils-lib.py:927: OK: compose_rt (calling _compose_rt() directly) written in-place to rt1
    test-poseutils-lib.py:936: OK: compose_rt result
    test-poseutils-lib.py:939: OK: compose_rt drt2_drt0 test-poseutils-lib.py:942: OK: compose_rt drt2_drt1 test-poseutils-lib.py:954: OK: compose_rt (with gradients) result written in-place to rt0
    test-poseutils-lib.py:957: OK: compose_rt (with gradients) result written in-place to rt0: drt2_drt0
    test-poseutils-lib.py:960: OK: compose_rt (with gradients) result written in-place to rt0: drt2_drt1
    test-poseutils-lib.py:968: OK: compose_rt (with gradients) result written in-place to rt1
    test-poseutils-lib.py:971: OK: compose_rt (with gradients) result written in-place to rt1: drt2_drt0
    test-poseutils-lib.py:974: OK: compose_rt (with gradients) result written in-place to rt1: drt2_drt1
    test-poseutils-lib.py:980: OK: compose_Rt with 3 inputs test-poseutils-lib.py:989: OK: compose_rt with 3 inputs test-poseutils-lib.py:1015: OK: compose_r basic operation test-poseutils-lib.py:1020: OK: compose_r in-place output test-poseutils-lib.py:1028: OK: compose_r gradients: r01 test-poseutils-lib.py:1031: OK: compose_r gradients: dr01_dr0 test-poseutils-lib.py:1034: OK: compose_r gradients: dr01_dr1 test-poseutils-lib.py:1041: OK: compose_r in-place gradients: r01 test-poseutils-lib.py:1044: OK: compose_r in-place gradients: dr01_dr0 test-poseutils-lib.py:1047: OK: compose_r in-place gradients: dr01_dr1 test-poseutils-lib.py:1057: OK: compose_r in-place r1nearzero gradients: r01 test-poseutils-lib.py:1060: OK: compose_r in-place r1nearzero gradients: dr01_dr0
    test-poseutils-lib.py:1063: OK: compose_r in-place r1nearzero gradients: dr01_dr1
    test-poseutils-lib.py:1072: OK: compose_r in-place r1zero gradients: r01 test-poseutils-lib.py:1075: OK: compose_r in-place r1zero gradients: dr01_dr0 test-poseutils-lib.py:1078: OK: compose_r in-place r1zero gradients: dr01_dr1 test-poseutils-lib.py:1087: OK: compose_r in-place r1nearzero gradients: r01 test-poseutils-lib.py:1090: OK: compose_r in-place r1nearzero gradients: dr01_dr0
    test-poseutils-lib.py:1093: OK: compose_r in-place r1nearzero gradients: dr01_dr1
    test-poseutils-lib.py:1102: OK: compose_r in-place r1zero gradients: r01 test-poseutils-lib.py:1105: OK: compose_r in-place r1zero gradients: dr01_dr0 test-poseutils-lib.py:1108: OK: compose_r in-place r1zero gradients: dr01_dr1 test-poseutils-lib.py:1117: OK: compose_r in-place r0nearzero,r1nearzero gradients: r01
    test-poseutils-lib.py:1120: OK: compose_r in-place r0nearzero,r1nearzero gradients: dr01_dr0
    test-poseutils-lib.py:1123: OK: compose_r in-place r0nearzero,r1nearzero gradients: dr01_dr1
    test-poseutils-lib.py:1132: OK: compose_r in-place r0nearzero,r1zero gradients: r01
    test-poseutils-lib.py:1135: OK: compose_r in-place r0nearzero,r1zero gradients: dr01_dr0
    test-poseutils-lib.py:1138: OK: compose_r in-place r0nearzero,r1zero gradients: dr01_dr1
    test-poseutils-lib.py:1147: OK: compose_r in-place r0zero,r1nearzero gradients: r01
    test-poseutils-lib.py:1150: OK: compose_r in-place r0zero,r1nearzero gradients: dr01_dr0
    test-poseutils-lib.py:1153: OK: compose_r in-place r0zero,r1nearzero gradients: dr01_dr1
    test-poseutils-lib.py:1162: OK: compose_r in-place r0zero,r1zero gradients: r01
    test-poseutils-lib.py:1165: OK: compose_r in-place r0zero,r1zero gradients: dr01_dr0
    test-poseutils-lib.py:1168: OK: compose_r in-place r0zero,r1zero gradients: dr01_dr1
    test-poseutils-lib.py:1178: OK: compose_r in-place r0big,-r0big gradients: r01
    test-poseutils-lib.py:1181: OK: compose_r in-place r0big,-r0big gradients: dr01_dr0
    test-poseutils-lib.py:1184: OK: compose_r in-place r0big,-r0big gradients: dr01_dr1
    test-poseutils-lib.py:1193: OK: compose_r in-place r0nearzero,-r0nearzero gradients: r01
    test-poseutils-lib.py:1196: OK: compose_r in-place r0nearzero,-r0nearzero gradients: dr01_dr0
    test-poseutils-lib.py:1199: OK: compose_r in-place r0nearzero,-r0nearzero gradients: dr01_dr1
    test-poseutils-lib.py:1208: OK: compose_r in-place r0zero,-r0zero gradients: r01
    test-poseutils-lib.py:1211: OK: compose_r in-place r0zero,-r0zero gradients: dr01_dr0
    test-poseutils-lib.py:1214: OK: compose_r in-place r0zero,-r0zero gradients: dr01_dr1
    test-poseutils-lib.py:1236: OK: compose_r_tinyr0_gradientr0 in-place r1zero gradients: dr01_dr0
    test-poseutils-lib.py:1243: OK: compose_r_tinyr0_gradientr0 in-place r1nearzero gradients: dr01_dr0
    test-poseutils-lib.py:1250: OK: compose_r_tinyr0_gradientr0 in-place r1zero gradients: dr01_dr0
    test-poseutils-lib.py:1257: OK: compose_r_tinyr0_gradientr0 in-place r0zero,-r0zero gradients: dr01_dr0
    test-poseutils-lib.py:1261: All tests passed: 172 total
    ========== RUNNING: test/test-projections.py
    test-projections.py:341: OK: Projecting LENSMODEL_PINHOLE test-projections.py:341: OK: Projecting LENSMODEL_PINHOLE in-place test-projections.py:341: OK: Projecting LENSMODEL_PINHOLE with grad test-projections.py:341: OK: dq_dp LENSMODEL_PINHOLE
    test-projections.py:341: OK: dq_di LENSMODEL_PINHOLE
    test-projections.py:341: OK: Projecting LENSMODEL_PINHOLE with grad in-place test-projections.py:341: OK: dq_dp in-place
    test-projections.py:341: OK: dq_di in-place
    test-projections.py:341: OK: Unprojecting LENSMODEL_PINHOLE test-projections.py:341: OK: Unprojected v are normalized test-projections.py:341: OK: Unprojecting LENSMODEL_PINHOLE (normalized) test-projections.py:341: OK: Unprojected in-place v are normalized test-projections.py:341: OK: Unprojecting in-place LENSMODEL_PINHOLE test-projections.py:341: OK: Unprojecting LENSMODEL_PINHOLE with grad test-projections.py:341: OK: dv_dq: LENSMODEL_PINHOLE test-projections.py:341: OK: dv_di LENSMODEL_PINHOLE
    test-projections.py:341: OK: Unprojected v (with gradients) are normalized test-projections.py:341: OK: Unprojecting (normalized, with gradients) LENSMODEL_PINHOLE
    test-projections.py:341: OK: dv_dq (normalized v): LENSMODEL_PINHOLE test-projections.py:341: OK: dv_di (normalized v): LENSMODEL_PINHOLE test-projections.py:341: OK: Unprojected v (with gradients, in-place) are normalized
    test-projections.py:341: OK: Unprojecting (normalized, with gradients, in-place) LENSMODEL_PINHOLE
    test-projections.py:341: OK: dv_dq (normalized v, in-place): LENSMODEL_PINHOLE
    test-projections.py:341: OK: dv_di (normalized v, in-place): LENSMODEL_PINHOLE
    test-projections.py:341: OK: Unprojecting (non-normalized, with gradients, in-place) LENSMODEL_PINHOLE
    test-projections.py:341: OK: dv_dq (unnormalized v, in-place): LENSMODEL_PINHOLE
    test-projections.py:341: OK: dv_di (unnormalized v, in-place): LENSMODEL_PINHOLE
    test-projections.py:349: OK: Projecting LENSMODEL_STEREOGRAPHIC test-projections.py:349: OK: Projecting LENSMODEL_STEREOGRAPHIC in-place test-projections.py:349: OK: Projecting LENSMODEL_STEREOGRAPHIC with grad test-projections.py:349: OK: dq_dp LENSMODEL_STEREOGRAPHIC test-projections.py:349: OK: dq_di LENSMODEL_STEREOGRAPHIC test-projections.py:349: OK: Projecting LENSMODEL_STEREOGRAPHIC with grad in-place
    test-projections.py:349: OK: dq_dp in-place
    test-projections.py:349: OK: dq_di in-place
    test-projections.py:349: OK: Unprojecting LENSMODEL_STEREOGRAPHIC test-projections.py:349: OK: Unprojected v are normalized test-projections.py:349: OK: Unprojecting LENSMODEL_STEREOGRAPHIC (normalized)
    test-projections.py:349: OK: Unprojected in-place v are normalized test-projections.py:349: OK: Unprojecting in-place LENSMODEL_STEREOGRAPHIC test-projections.py:349: OK: Unprojecting LENSMODEL_STEREOGRAPHIC with grad test-projections.py:349: OK: dv_dq: LENSMODEL_STEREOGRAPHIC test-projections.py:349: OK: dv_di LENSMODEL_STEREOGRAPHIC test-projections.py:349: OK: Unprojected v (with gradients) are normalized test-projections.py:349: OK: Unprojecting (normalized, with gradients) LENSMODEL_STEREOGRAPHIC
    test-projections.py:349: OK: dv_dq (normalized v): LENSMODEL_STEREOGRAPHIC test-projections.py:349: OK: dv_di (normalized v): LENSMODEL_STEREOGRAPHIC test-projections.py:349: OK: Unprojected v (with gradients, in-place) are normalized
    test-projections.py:349: OK: Unprojecting (normalized, with gradients, in-place) LENSMODEL_STEREOGRAPHIC
    test-projections.py:349: OK: dv_dq (normalized v, in-place): LENSMODEL_STEREOGRAPHIC
    test-projections.py:349: OK: dv_di (normalized v, in-place): LENSMODEL_STEREOGRAPHIC
    test-projections.py:349: OK: Unprojecting (non-normalized, with gradients, in-place) LENSMODEL_STEREOGRAPHIC
    test-projections.py:349: OK: dv_dq (unnormalized v, in-place): LENSMODEL_STEREOGRAPHIC
    test-projections.py:349: OK: dv_di (unnormalized v, in-place): LENSMODEL_STEREOGRAPHIC
    test-projections.py:357: OK: Projecting LENSMODEL_LATLON test-projections.py:357: OK: Projecting LENSMODEL_LATLON in-place test-projections.py:357: OK: Projecting LENSMODEL_LATLON with grad test-projections.py:357: OK: dq_dp LENSMODEL_LATLON
    test-projections.py:357: OK: dq_di LENSMODEL_LATLON
    test-projections.py:357: OK: Projecting LENSMODEL_LATLON with grad in-place test-projections.py:357: OK: dq_dp in-place
    test-projections.py:357: OK: dq_di in-place
    test-projections.py:357: OK: Unprojecting LENSMODEL_LATLON test-projections.py:357: OK: Unprojected v are normalized test-projections.py:357: OK: Unprojecting LENSMODEL_LATLON (normalized) test-projections.py:357: OK: Unprojected in-place v are normalized test-projections.py:357: OK: Unprojecting in-place LENSMODEL_LATLON test-projections.py:357: OK: Unprojecting LENSMODEL_LATLON with grad test-projections.py:357: OK: dv_dq: LENSMODEL_LATLON
    test-projections.py:357: OK: dv_di LENSMODEL_LATLON
    test-projections.py:357: OK: Unprojected v (with gradients) are normalized test-projections.py:357: OK: Unprojecting (normalized, with gradients) LENSMODEL_LATLON
    test-projections.py:357: OK: dv_dq (normalized v): LENSMODEL_LATLON test-projections.py:357: OK: dv_di (normalized v): LENSMODEL_LATLON test-projections.py:357: OK: Unprojected v (with gradients, in-place) are normalized
    test-projections.py:357: OK: Unprojecting (normalized, with gradients, in-place) LENSMODEL_LATLON
    test-projections.py:357: OK: dv_dq (normalized v, in-place): LENSMODEL_LATLON test-projections.py:357: OK: dv_di (normalized v, in-place): LENSMODEL_LATLON test-projections.py:357: OK: Unprojecting (non-normalized, with gradients, in-place) LENSMODEL_LATLON
    test-projections.py:357: OK: dv_dq (unnormalized v, in-place): LENSMODEL_LATLON
    test-projections.py:357: OK: dv_di (unnormalized v, in-place): LENSMODEL_LATLON
    test-projections.py:365: OK: Projecting LENSMODEL_LONLAT test-projections.py:365: OK: Projecting LENSMODEL_LONLAT in-place test-projections.py:365: OK: Projecting LENSMODEL_LONLAT with grad test-projections.py:365: OK: dq_dp LENSMODEL_LONLAT
    test-projections.py:365: OK: dq_di LENSMODEL_LONLAT
    test-projections.py:365: OK: Projecting LENSMODEL_LONLAT with grad in-place test-projections.py:365: OK: dq_dp in-place
    test-projections.py:365: OK: dq_di in-place
    test-projections.py:365: OK: Unprojecting LENSMODEL_LONLAT test-projections.py:365: OK: Unprojected v are normalized test-projections.py:365: OK: Unprojecting LENSMODEL_LONLAT (normalized) test-projections.py:365: OK: Unprojected in-place v are normalized test-projections.py:365: OK: Unprojecting in-place LENSMODEL_LONLAT test-projections.py:365: OK: Unprojecting LENSMODEL_LONLAT with grad test-projections.py:365: OK: dv_dq: LENSMODEL_LONLAT
    test-projections.py:365: OK: dv_di LENSMODEL_LONLAT
    test-projections.py:365: OK: Unprojected v (with gradients) are normalized test-projections.py:365: OK: Unprojecting (normalized, with gradients) LENSMODEL_LONLAT
    test-projections.py:365: OK: dv_dq (normalized v): LENSMODEL_LONLAT test-projections.py:365: OK: dv_di (normalized v): LENSMODEL_LONLAT test-projections.py:365: OK: Unprojected v (with gradients, in-place) are normalized
    test-projections.py:365: OK: Unprojecting (normalized, with gradients, in-place) LENSMODEL_LONLAT
    test-projections.py:365: OK: dv_dq (normalized v, in-place): LENSMODEL_LONLAT test-projections.py:365: OK: dv_di (normalized v, in-place): LENSMODEL_LONLAT test-projections.py:365: OK: Unprojecting (non-normalized, with gradients, in-place) LENSMODEL_LONLAT
    test-projections.py:365: OK: dv_dq (unnormalized v, in-place): LENSMODEL_LONLAT
    test-projections.py:365: OK: dv_di (unnormalized v, in-place): LENSMODEL_LONLAT
    test-projections.py:373: OK: Projecting LENSMODEL_OPENCV4 test-projections.py:373: OK: Projecting LENSMODEL_OPENCV4 in-place test-projections.py:373: OK: Projecting LENSMODEL_OPENCV4 with grad test-projections.py:373: OK: dq_dp LENSMODEL_OPENCV4
    test-projections.py:373: OK: dq_di LENSMODEL_OPENCV4
    test-projections.py:373: OK: Projecting LENSMODEL_OPENCV4 with grad in-place test-projections.py:373: OK: dq_dp in-place
    test-projections.py:373: OK: dq_di in-place
    test-projections.py:373: OK: Unprojecting LENSMODEL_OPENCV4 test-projections.py:373: OK: Unprojected v are normalized test-projections.py:373: OK: Unprojecting LENSMODEL_OPENCV4 (normalized) test-projections.py:373: OK: Unprojected in-place v are normalized test-projections.py:373: OK: Unprojecting in-place LENSMODEL_OPENCV4 test-projections.py:373: OK: Unprojecting LENSMODEL_OPENCV4 with grad test-projections.py:373: OK: dv_dq: LENSMODEL_OPENCV4 test-projections.py:373: OK: dv_di LENSMODEL_OPENCV4
    test-projections.py:373: OK: Unprojected v (with gradients) are normalized test-projections.py:373: OK: Unprojecting (normalized, with gradients) LENSMODEL_OPENCV4
    test-projections.py:373: OK: dv_dq (normalized v): LENSMODEL_OPENCV4 test-projections.py:373: OK: dv_di (normalized v): LENSMODEL_OPENCV4 test-projections.py:373: OK: Unprojected v (with gradients, in-place) are normalized
    test-projections.py:373: OK: Unprojecting (normalized, with gradients, in-place) LENSMODEL_OPENCV4
    test-projections.py:373: OK: dv_dq (normalized v, in-place): LENSMODEL_OPENCV4
    test-projections.py:373: OK: dv_di (normalized v, in-place): LENSMODEL_OPENCV4
    test-projections.py:373: OK: Unprojecting (non-normalized, with gradients, in-place) LENSMODEL_OPENCV4
    test-projections.py:373: OK: dv_dq (unnormalized v, in-place): LENSMODEL_OPENCV4
    test-projections.py:373: OK: dv_di (unnormalized v, in-place): LENSMODEL_OPENCV4
    test-projections.py:380: OK: Projecting LENSMODEL_OPENCV5 test-projections.py:380: OK: Projecting LENSMODEL_OPENCV5 in-place test-projections.py:380: OK: Projecting LENSMODEL_OPENCV5 with grad test-projections.py:380: OK: dq_dp LENSMODEL_OPENCV5
    test-projections.py:380: OK: dq_di LENSMODEL_OPENCV5
    test-projections.py:380: OK: Projecting LENSMODEL_OPENCV5 with grad in-place test-projections.py:380: OK: dq_dp in-place
    test-projections.py:380: OK: dq_di in-place
    test-projections.py:380: OK: Unprojecting LENSMODEL_OPENCV5 test-projections.py:380: OK: Unprojected v are normalized test-projections.py:380: OK: Unprojecting LENSMODEL_OPENCV5 (normalized) test-projections.py:380: OK: Unprojected in-place v are normalized

    [continued in next message]

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)