Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 33 additions & 0 deletions .github/workflows/test-ci-linux-arm.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
name: Test CI Linux ARM

on: [push, pull_request]

jobs:
build:
runs-on: ${{ matrix.os }}

strategy:
max-parallel: 2
matrix:
os: [ubuntu-24.04-arm]
python-version: ["3.10", "3.14"]

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}

- name: Install system dependencies
run: |
sudo apt update
sudo apt install libarchive-tools libarchive-dev libmagic1 libmagic-dev

- name: Set up venv
run: ./configure --dev-system-provided

- name: Run tests
run: venv/bin/pytest -n 3 -vvs .
33 changes: 33 additions & 0 deletions .github/workflows/test-ci-mac.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
name: Test CI Macos ARM

on: [push, pull_request]

jobs:
build:
runs-on: ${{ matrix.os }}

strategy:
max-parallel: 4
matrix:
os: [macos-14, macos-15]
python-version: ["3.10", "3.14"]

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}

- name: Install system dependencies
run: |
brew update
brew install libarchive libmagic

- name: Set up venv
run: ./configure --dev-system-provided

- name: Run tests
run: venv/bin/pytest -n 3 -vvs .
1 change: 0 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,6 @@ pyvenv.cfg

# Various junk and temp files
.DS_Store
*~
.*.sw[po]
.build
.ve
Expand Down
2 changes: 2 additions & 0 deletions configure
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ CLI_ARGS=$1
# Requirement arguments passed to pip and used by default or with --dev.
REQUIREMENTS="--editable . --constraint requirements.txt"
DEV_REQUIREMENTS="--editable .[dev,full] --constraint requirements.txt --constraint requirements-dev.txt"
DEV_SYSTEM_REQUIREMENTS="--editable .[dev,system_provided] --constraint requirements.txt --constraint requirements-dev.txt"

# where we create a virtualenv
VIRTUALENV_DIR=venv
Expand Down Expand Up @@ -185,6 +186,7 @@ while getopts :-: optchar; do
help ) cli_help;;
clean ) find_python && clean;;
dev ) CFG_REQUIREMENTS="$DEV_REQUIREMENTS";;
dev-system-provided ) CFG_REQUIREMENTS="$DEV_SYSTEM_REQUIREMENTS";;
esac;;
esac
done
Expand Down
3 changes: 3 additions & 0 deletions setup.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,9 @@ where = src
full =
typecode_libmagic >= 5.39.210223

system_provided =
typecode_libmagic_system_provided >= 32.0.0

dev =
pytest >= 7.0.1
pytest-xdist >= 2
Expand Down
2 changes: 1 addition & 1 deletion src/typecode/contenttype.py
Original file line number Diff line number Diff line change
Expand Up @@ -163,7 +163,7 @@ class Type(object):
)

# FIXME: we should use an introspectable attrs class instead
# ATTENTION: keep this in sync with sloats and properties
# ATTENTION: keep this in sync with slots and properties
text_attributes = [
"filetype_file",
"mimetype_file",
Expand Down
2 changes: 1 addition & 1 deletion tests/data/filetest/archive/a.tar.gz.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
filetype_file: gzip compressed data, last modified
filetype_file: gzip compressed data
mimetype_file: application/gzip
mimetype_python: application/x-tar
is_file: yes
Expand Down
2 changes: 1 addition & 1 deletion tests/data/filetest/archive/e.tar.bz2.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
filetype_file: bzip2 compressed data, block size = 900k
filetype_file: bzip2 compressed data
mimetype_file: application/x-bzip2
mimetype_python: application/x-tar
is_file: yes
Expand Down
2 changes: 1 addition & 1 deletion tests/data/filetest/archive/e.tar.gz.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
filetype_file: gzip compressed data, last modified
filetype_file: gzip compressed data
mimetype_file: application/gzip
mimetype_python: application/x-tar
is_file: yes
Expand Down
2 changes: 1 addition & 1 deletion tests/data/filetest/archive/file_4.26-1.diff.gz.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
filetype_file: gzip compressed data, last modified
filetype_file: gzip compressed data
mimetype_file: application/gzip
is_file: yes
is_regular: yes
Expand Down
2 changes: 1 addition & 1 deletion tests/data/filetest/archive/test.tar.lzma.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
filetype_file: LZMA compressed data, streamed
filetype_file: LZMA compressed data
mimetype_file: application/x-lzma
is_file: yes
is_regular: yes
Expand Down
2 changes: 1 addition & 1 deletion tests/data/filetest/archive/test.zip.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
filetype_file: Zip archive data, at least v1.0 to extract
filetype_file: Zip archive data
mimetype_file: application/zip
mimetype_python: application/zip
is_file: yes
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
filetype_file: Java serialization data, version 5
filetype_file: Java serialization data
mimetype_file: application/octet-stream
is_file: yes
is_regular: yes
Expand Down
2 changes: 1 addition & 1 deletion tests/data/filetest/binary/windows.dll.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
filetype_file: PE32+ executable (DLL) x86-64, for MS Windows
filetype_file: PE32+
mimetype_file: application/x-dosexec
mimetype_python: application/x-msdownload
is_file: yes
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
filetype_file: PE32+ executable (DLL) (Control Panel Item) x86-64, for MS Windows, 3 sections
mimetype_file: application/vnd.microsoft.portable-executable
mimetype_python: application/x-msdownload
is_file: yes
is_regular: yes
size: 3394
is_binary: yes
contains_text: yes
is_winexe: yes
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
filetype_file: PE32+ executable for WINE stub (DLL), x86-64, 3 sections
mimetype_file: application/vnd.microsoft.portable-executable
mimetype_python: application/x-msdownload
is_file: yes
is_regular: yes
size: 3394
is_binary: yes
contains_text: yes
is_winexe: yes
2 changes: 1 addition & 1 deletion tests/data/filetest/build/Makefile.inc.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
filetype_file: makefile script, ASCII text, with CRLF line terminators
filetype_file: makefile script
mimetype_file: text/x-makefile
filetype_pygment: PHP
is_file: yes
Expand Down
2 changes: 1 addition & 1 deletion tests/data/filetest/build/ar-ER.css.map.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
filetype_file: JSON data
filetype_file: JSON text data
mimetype_file: application/json
is_file: yes
is_regular: yes
Expand Down
2 changes: 1 addition & 1 deletion tests/data/filetest/build/ar-ER.js.map.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
filetype_file: JSON data
filetype_file: JSON text data
mimetype_file: application/json
is_file: yes
is_regular: yes
Expand Down
2 changes: 1 addition & 1 deletion tests/data/filetest/build/binary.js.map.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
filetype_file: Zip archive data, at least v1.0 to extract
filetype_file: Zip archive data
mimetype_file: application/zip
is_file: yes
is_regular: yes
Expand Down
2 changes: 1 addition & 1 deletion tests/data/filetest/build/build.xml.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
filetype_file: exported SGML document, ASCII text, with CRLF line terminators
filetype_file: exported SGML document
mimetype_file: text/plain
mimetype_python: application/xml
is_file: yes
Expand Down
2 changes: 1 addition & 1 deletion tests/data/filetest/build/m/Makefile.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
filetype_file: makefile script, ASCII text, with CRLF line terminators
filetype_file: makefile script
mimetype_file: text/x-makefile
is_file: yes
is_regular: yes
Expand Down
2 changes: 1 addition & 1 deletion tests/data/filetest/build/pom.pom.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
filetype_file: XML 1.0 document, ASCII text
filetype_file: XML 1.0 document
mimetype_file: text/xml
is_file: yes
is_regular: yes
Expand Down
2 changes: 1 addition & 1 deletion tests/data/filetest/build/pom.xml.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
filetype_file: exported SGML document, ASCII text
filetype_file: exported SGML document
mimetype_file: text/plain
mimetype_python: application/xml
is_file: yes
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
filetype_file: DER Encoded PKCS#7 Signed Data
mimetype_file: application/octet-stream
is_file: yes
is_regular: yes
size: 3487
is_binary: yes
is_data: no
contains_text: yes
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
filetype_file: DER Encoded PKCS#7 Signed Data
mimetype_file: application/octet-stream
is_file: yes
is_regular: yes
size: 3487
is_binary: yes
is_data: no
contains_text: yes
2 changes: 1 addition & 1 deletion tests/data/filetest/code/assembly/bcopy.s.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
filetype_file: C source, ASCII text, with CRLF line terminators
filetype_file: C source
mimetype_file: text/x-c
mimetype_python: text/x-asm
filetype_pygment: GAS
Expand Down
3 changes: 0 additions & 3 deletions tests/data/filetest/code/c/CcccDevStudioAddIn.rc2.yml
Original file line number Diff line number Diff line change
@@ -1,10 +1,7 @@
filetype_file: ASCII text
mimetype_file: text/plain
filetype_pygment: C
programming_language: C
is_file: yes
is_regular: yes
size: 397
is_text: yes
contains_text: yes
is_source: yes
2 changes: 1 addition & 1 deletion tests/data/filetest/code/c/SIMPLE.C.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
filetype_file: C source, ASCII text
filetype_file: C source
mimetype_file: text/x-c
mimetype_python: text/x-c
filetype_pygment: C++
Expand Down
2 changes: 1 addition & 1 deletion tests/data/filetest/code/c/TEST.H.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
filetype_file: C source, ASCII text
filetype_file: C source
mimetype_file: text/x-c
mimetype_python: text/x-c
filetype_pygment: C++
Expand Down
2 changes: 1 addition & 1 deletion tests/data/filetest/code/c/TEST_LOWERCASE.h.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
filetype_file: C source, ASCII text
filetype_file: C source
mimetype_file: text/x-c
mimetype_python: text/x-c
filetype_pygment: C
Expand Down
2 changes: 1 addition & 1 deletion tests/data/filetest/code/c/cpu.c.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
filetype_file: C source, ASCII text
filetype_file: C source
mimetype_file: text/x-c
mimetype_python: text/x-c
filetype_pygment: C
Expand Down
2 changes: 1 addition & 1 deletion tests/data/filetest/code/c/main.c.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
filetype_file: C source, ASCII text
filetype_file: C source
mimetype_file: text/x-c
mimetype_python: text/x-c
filetype_pygment: C
Expand Down
2 changes: 1 addition & 1 deletion tests/data/filetest/code/c/mm.c.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
filetype_file: C source, ASCII text
filetype_file: C source
mimetype_file: text/x-c
mimetype_python: text/x-c
filetype_pygment: C
Expand Down
2 changes: 1 addition & 1 deletion tests/data/filetest/code/c/pci.c.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
filetype_file: C source, ASCII text
filetype_file: C source
mimetype_file: text/x-c
mimetype_python: text/x-c
filetype_pygment: C
Expand Down
2 changes: 1 addition & 1 deletion tests/data/filetest/code/c/pci_v3.c.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
filetype_file: C source, ASCII text
filetype_file: C source
mimetype_file: text/x-c
mimetype_python: text/x-c
filetype_pygment: C
Expand Down
2 changes: 1 addition & 1 deletion tests/data/filetest/code/c/resource.h.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
filetype_file: ASCII text, with CRLF line terminators
filetype_file: ASCII text
mimetype_file: text/plain
mimetype_python: text/x-c
filetype_pygment: C
Expand Down
2 changes: 1 addition & 1 deletion tests/data/filetest/code/cpp/StdAfx.cpp.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
filetype_file: C source, ASCII text
filetype_file: C source
mimetype_file: text/x-c
mimetype_python: text/x-c
filetype_pygment: C++
Expand Down
2 changes: 1 addition & 1 deletion tests/data/filetest/code/cpp/stacktrace.cpp.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
filetype_file: C source, ASCII text
filetype_file: C source
mimetype_file: text/x-c
mimetype_python: text/x-c
filetype_pygment: C++
Expand Down
2 changes: 1 addition & 1 deletion tests/data/filetest/code/cpp/string.CPP.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
filetype_file: C++ source, ASCII text
filetype_file: C++ source
mimetype_file: text/x-c++
mimetype_python: text/x-c
filetype_pygment: C++
Expand Down
5 changes: 1 addition & 4 deletions tests/data/filetest/code/groff/example.ms.yml
Original file line number Diff line number Diff line change
@@ -1,11 +1,8 @@
filetype_file: troff or preprocessor input, ASCII text
filetype_file: troff or preprocessor input
mimetype_file: text/troff
mimetype_python: text/troff
filetype_pygment:
programming_language:
is_file: yes
is_regular: yes
size: 93
is_text: yes
contains_text: yes
is_source: yes
2 changes: 1 addition & 1 deletion tests/data/filetest/code/java/Appender.java.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
filetype_file: Java source, ASCII text
filetype_file: Java source
mimetype_file: text/x-java
mimetype_python: text/x-java-source
filetype_pygment: Java
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
filetype_file: data
mimetype_file: application/octet-stream
mimetype_python: text/x-java-source
filetype_pygment: Java
programming_language: Java
is_file: yes
is_regular: yes
size: 4116
is_text: yes
is_data: yes
contains_text: yes
is_java_source: yes
is_source: yes
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
filetype_file: Java source, ASCII text, with CRLF line terminators
mimetype_file: text/x-java
mimetype_python: text/x-java-source
filetype_pygment: Java
programming_language: Java
is_file: yes
is_regular: yes
size: 4116
is_text: yes
is_data: no
contains_text: yes
is_java_source: yes
is_source: yes
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
filetype_file: Java source, ASCII text
filetype_file: Java source
mimetype_file: text/x-java
mimetype_python: text/vnd.sun.j2me.app-descriptor
filetype_pygment:
programming_language:
is_file: yes
is_regular: yes
size: 1447
Expand Down
Loading
Loading