tests/test-debugextensions.t
author Pierre-Yves David <pierre-yves.david@octobus.net>
Tue, 09 Apr 2024 14:36:01 +0200
changeset 51573 4a9d0898bf16
parent 49835 4836705ab9ba
permissions -rw-r--r--
bundlespec: fix the "streamv2" and "streamv3-exp" variant In c4aab3661f25, we broken this feature by adding unicode instead of bytes to the dictionary. On the other hand, this feature was never tested, so augment the tests to tests this.

#if no-extraextensions
  $ hg debugextensions
#endif

  $ debugpath=`pwd`/extwithoutinfos.py

  $ cat > extwithoutinfos.py <<EOF
  > EOF
  $ cat > extwithinfos.py <<EOF
  > testedwith = b'3.0 3.1 3.2.1'
  > buglink = b'https://example.org/bts'
  > EOF

  $ cat >> $HGRCPATH <<EOF
  > [extensions]
  > histedit=
  > patchbomb=
  > rebase=
  > mq=
  > ext1 = $debugpath
  > ext2 = `pwd`/extwithinfos.py
  > EOF

  $ for extension in $HGTESTEXTRAEXTENSIONS; do
  >     echo "$extension=!" >> $HGRCPATH
  > done

  $ hg debugextensions
  ext1 (untested!)
  ext2 (3.2.1!)
  histedit
  mq
  patchbomb
  rebase

  $ hg debugextensions -v
  ext1
    location: */extwithoutinfos.py* (glob)
    bundled: no
  ext2
    location: */extwithinfos.py* (glob)
    bundled: no
    tested with: 3.0 3.1 3.2.1
    bug reporting: https://example.org/bts
  histedit
    location: */hgext/histedit.py* (glob) (no-pyoxidizer-in-memory !)
    location: */release/app/hg* (glob) (pyoxidizer-in-memory !)
    bundled: yes
  mq
    location: */hgext/mq.py* (glob) (no-pyoxidizer-in-memory !)
    location: */release/app/hg* (glob) (pyoxidizer-in-memory !)
    bundled: yes
  patchbomb
    location: */hgext/patchbomb.py* (glob) (no-pyoxidizer-in-memory !)
    location: */release/app/hg* (glob) (pyoxidizer-in-memory !)
    bundled: yes
  rebase
    location: */hgext/rebase.py* (glob) (no-pyoxidizer-in-memory !)
    location: */release/app/hg* (glob) (pyoxidizer-in-memory !)
    bundled: yes

  $ hg debugextensions -Tjson | sed 's|\\\\|/|g'
  [
   {
    "buglink": "",
    "bundled": false,
    "name": "ext1",
    "source": "*/extwithoutinfos.py*", (glob)
    "testedwith": []
   },
   {
    "buglink": "https://example.org/bts",
    "bundled": false,
    "name": "ext2",
    "source": "*/extwithinfos.py*", (glob)
    "testedwith": ["3.0", "3.1", "3.2.1"]
   },
   {
    "buglink": "",
    "bundled": true,
    "name": "histedit",
    "source": "*/hgext/histedit.py*", (glob) (no-pyoxidizer-in-memory !)
    "source": */release/app/hg* (glob) (pyoxidizer-in-memory !)
    "testedwith": []
   },
   {
    "buglink": "",
    "bundled": true,
    "name": "mq",
    "source": "*/hgext/mq.py*", (glob) (no-pyoxidizer-in-memory !)
    "source": */release/app/hg* (glob) (pyoxidizer-in-memory !)
    "testedwith": []
   },
   {
    "buglink": "",
    "bundled": true,
    "name": "patchbomb",
    "source": "*/hgext/patchbomb.py*", (glob) (no-pyoxidizer-in-memory !)
    "source": */release/app/hg* (glob) (pyoxidizer-in-memory !)
    "testedwith": []
   },
   {
    "buglink": "",
    "bundled": true,
    "name": "rebase",
    "source": "*/hgext/rebase.py*", (glob) (no-pyoxidizer-in-memory !)
    "source": */release/app/hg* (glob) (pyoxidizer-in-memory !)
    "testedwith": []
   }
  ]

  $ hg debugextensions -T '{ifcontains("3.1", testedwith, "{name}\n")}'
  ext2
  $ hg debugextensions \
  > -T '{ifcontains("3.2", testedwith, "no substring match: {name}\n")}'